Submit Relay Transaction
Submit a transaction to the Tachyon relay network for execution. The relay service handles gas payments and transaction submission on your behalf, returning a unique transaction ID for tracking.
Endpoint
POST https://api.tachyon.rath.fi/api/submit-txRequest Body
| Parameter | Type | Required | Description |
|---|---|---|---|
chainId | number | Yes | The blockchain network ID where the transaction will be executed |
to | string | Yes | The recipient wallet address or smart contract address. Format varies by chain (hex for EVM, base58 for Solana, named for NEAR) |
callData | string | Yes | Encoded transaction data in hexadecimal format (use ‘0x’ for simple transfers) |
value | string | No | Amount of native currency to send in the smallest unit (wei for EVM, lamports for Solana, yoctoNEAR for NEAR, MIST for Sui). Defaults to ‘0’ |
label | string | No | Optional human-readable label for easier transaction identification and tracking |
gasLimit | string | No | Optional gas limit for the transaction. If not specified, it will be estimated automatically. Required for Aptos and Sui transactions |
gasPrice | string | No | Gas price in wei (for legacy transactions). Cannot be used with maxFeePerGas or maxPriorityFeePerGas |
maxFeePerGas | string | No | Maximum fee per gas for EIP-1559 transactions. Must be used together with maxPriorityFeePerGas |
maxPriorityFeePerGas | string | No | Maximum priority fee per gas for EIP-1559 transactions. Must be used together with maxFeePerGas |
maxUSD | number | No | Maximum cost in USD that you’re willing to pay for this transaction |
shouldBatchInMulticall | boolean | No | Whether to batch this transaction in a multicall |
retries | number | No | Number of retries if transaction fails. Defaults to 0 |
isAuthenticatedTx | boolean | No | Enable authenticated relay mode for additional security and verification. Defaults to false |
derivationPath | string | No | Optional HD wallet derivation path for transaction signing (useful for multi-account setups) |
transactionType | string | No | Type of relay transaction: "flash" (default), "authenticated", "funding-signed", or "flash-blocks" (Base/Base Sepolia only) |
authorizationList | array | No | Optional list of authorization entries for delegated transactions or batched operations (EIP-7702). Not allowed for flash-blocks transactions |
AuthorizationListItem Object
When using authorizationList, each item should contain:
| Field | Type | Required | Description |
|---|---|---|---|
chainId | number | Yes | Chain ID for the authorization |
address | string | Yes | Ethereum address (must start with “0x”) |
nonce | number | Yes | Nonce for the authorization |
r | string | Yes | Signature r component (must start with “0x”) |
s | string | Yes | Signature s component (must start with “0x”) |
yParity | number | Yes | Signature y parity (0 or 1) |
v | number/bigint | No | Optional signature v value |
Gas Parameter Rules
- Legacy transactions: Use
gasPriceonly - EIP-1559 transactions: Use both
maxFeePerGasandmaxPriorityFeePerGastogether - You cannot mix
gasPricewithmaxFeePerGasormaxPriorityFeePerGas
Response
Success Response
response.json
{
"success": true,
"data": {
"txId": "68fa3450539a3c9d28bbca33"
},
"timestamp": "2025-10-24T12:34:56.789Z"
}Response Fields
| Field | Type | Description |
|---|---|---|
txId | string | Unique transaction ID that can be used to track the transaction status and execution |
Error Response
error-response.json
{
"success": false,
"error": {
"code": "INVALID_PARAMETERS",
"message": "Missing required transaction parameters",
"category": "VALIDATION_ERROR",
"details": {
"field": "chainId",
"message": "chainId is required"
},
"traceId": "trace_abc123xyz789"
},
"timestamp": "2025-10-24T12:34:56.789Z"
}Example Requests
EVM Chains (Ethereum, Base, Polygon, etc.)
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"label": "My Base Transaction"
}'With Gas Parameters:
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"gasLimit": "21000",
"label": "My Transaction with Gas Limit"
}'With EIP-1559 Gas Parameters:
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"maxFeePerGas": "2000000000",
"maxPriorityFeePerGas": "1000000000",
"label": "EIP-1559 Transaction"
}'Advanced Examples
Transaction with Max USD Limit
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"maxUSD": 5.0,
"label": "Transaction with USD Cap"
}'Authenticated Transaction
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"transactionType": "authenticated",
"isAuthenticatedTx": true,
"label": "Authenticated Transaction"
}'Flash-Blocks Transaction
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"transactionType": "flash-blocks",
"label": "Flash-Blocks Transaction"
}'Note: Flash-blocks transaction type is only supported on Base (8453) and Base Sepolia (84532). Authorization lists cannot be used with flash-blocks transactions.
Transaction with Authorization List (EIP-7702)
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"authorizationList": [
{
"chainId": 8453,
"address": "0x1234567890abcdef1234567890abcdef12345678",
"nonce": 1,
"r": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890",
"s": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"yParity": 1
}
],
"label": "Delegated Transaction"
}'With Custom Derivation Path
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"derivationPath": "m/44'\''/60'\''/0'\''/0/1",
"label": "Transaction from Custom Account"
}'Transaction with Multicall Batching
submit-transaction.sh
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "0",
"callData": "0xa9059cbb000000000000000000000000...",
"shouldBatchInMulticall": true,
"label": "Batched Transaction"
}'Transaction with Retries
terminal
curl -X POST "https://api.tachyon.rath.fi/api/submit-tx" \
-H "Content-Type: application/json" \
-H "apikey: YOUR_API_KEY" \
-d '{
"chainId": 8453,
"to": "0x3dbE34f2C21b3B2980d4dc53f3c7E51e39663F49",
"value": "1000000000000000",
"callData": "0x",
"retries": 3,
"label": "Transaction with Auto-Retry"
}'Last updated on