← Taiko overview
Taiko · eth
eth_fillTransaction
Fills in missing transaction fields to be signed and submitted.
Parameters
TransactionrequiredSchema{ "type": "object", "title": "Transaction object generic to all types", "properties": { "accessList": { "type": "array", "title": "accessList", "description": "EIP-2930 access list", "items": { "type": "object", "title": "Access list entry", "properties": { "address": { "type": "string", "title": "hex encoded address", "pattern": "^0x[0-9a-fA-F]{40}$" }, "storageKeys": { "type": "array", "items": { "type": "string", "title": "32 byte hex value", "pattern": "^0x[0-9a-f]{64}$" } } }, "required": [ "address", "storageKeys" ] } }, "authorizationList": { "type": "array", "title": "authorizationList", "description": "EIP-7702 authorization list", "items": { "type": "object", "properties": { "address": { "type": "string", "title": "hex encoded address", "pattern": "^0x[0-9a-fA-F]{40}$" }, "chainId": { "type": "string", "title": "chainId", "description": "Chain ID on which this transaction is valid", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "nonce": { "type": "string", "title": "nonce", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "r": { "type": "string", "title": "r", "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$" }, "s": { "type": "string", "title": "s", "pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$" }, "yParity": { "type": "string", "title": "yParity", "description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature", "pattern": "^0x[0-9a-f]{1,2}$" } }, "required": [ "chainId", "nonce", "address", "yParity", "r", "s" ] } }, "blobVersionedHashes": { "type": "array", "title": "blobVersionedHashes", "description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs.", "items": { "type": "string", "title": "32 byte hex value", "pattern": "^0x[0-9a-f]{64}$" } }, "blobs": { "type": "array", "title": "blobs", "description": "Raw blob data.", "items": { "type": "string", "title": "hex encoded bytes", "pattern": "^0x[0-9a-f]*$" } }, "chainId": { "type": "string", "title": "chainId", "description": "Chain ID that this transaction is valid on.", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "commitments": { "type": "array", "title": "commitments", "description": "List of blob commitments as per EIP-4844.", "items": { "type": "string", "title": "hex encoded bytes", "pattern": "^0x[0-9a-f]*$" } }, "from": { "type": "string", "title": "from address", "pattern": "^0x[0-9a-fA-F]{40}$" }, "gas": { "type": "string", "title": "gas limit", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "gasPrice": { "type": "string", "title": "gas price", "description": "The gas price willing to be paid by the sender in wei", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "input": { "type": "string", "title": "input data", "pattern": "^0x[0-9a-f]*$" }, "maxFeePerBlobGas": { "type": "string", "title": "max fee per blob gas", "description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "maxFeePerGas": { "type": "string", "title": "max fee per gas", "description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "maxPriorityFeePerGas": { "type": "string", "title": "max priority fee per gas", "description": "Maximum fee per gas the sender is willing to pay to miners in wei", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "nonce": { "type": "string", "title": "nonce", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" }, "proofs": { "type": "array", "title": "proofs", "description": "List of blob proofs. Pre-PeerDAS this contains one KZG proof per blob (length == len(blobs)). Post-PeerDAS this contains cell proofs with length == 128 * len(blobs).", "items": { "type": "string", "title": "hex encoded bytes", "pattern": "^0x[0-9a-f]*$" } }, "to": { "title": "to address", "oneOf": [ { "type": "null", "title": "Contract Creation (null)" }, { "type": "string", "title": "Address", "pattern": "^0x[0-9a-fA-F]{40}$" } ] }, "type": { "type": "string", "title": "type", "pattern": "^0x[0-9a-f]{1,2}$" }, "value": { "type": "string", "title": "value", "pattern": "^0x(0|[1-9a-f][0-9a-f]*)$" } } }
Result
Transaction result
Schema
{
"type": "object",
"title": "Filled unsigned transaction object.",
"properties": {
"tx": {
"title": "tx",
"oneOf": [
{
"type": "object",
"title": "EIP-7702 transaction",
"properties": {
"accessList": {
"type": "array",
"title": "accessList",
"description": "EIP-2930 access lists",
"items": {
"type": "object",
"title": "Access list entry",
"properties": {
"address": {
"type": "string",
"title": "hex encoded address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"storageKeys": {
"type": "array",
"items": {
"type": "string",
"title": "32 byte hex value",
"pattern": "^0x[0-9a-f]{64}$"
}
}
},
"required": [
"address",
"storageKeys"
]
}
},
"authorizationList": {
"type": "array",
"title": "authorizationList",
"description": "List of authorizations for the transaction",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"title": "hex encoded address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"chainId": {
"type": "string",
"title": "chainId",
"description": "Chain ID on which this transaction is valid",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"nonce": {
"type": "string",
"title": "nonce",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"r": {
"type": "string",
"title": "r",
"pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
},
"s": {
"type": "string",
"title": "s",
"pattern": "^0x(0|[1-9a-f][0-9a-f]{0,63})$"
},
"yParity": {
"type": "string",
"title": "yParity",
"description": "The parity (0 for even, 1 for odd) of the y-value of the secp256k1 signature",
"pattern": "^0x[0-9a-f]{1,2}$"
}
},
"required": [
"chainId",
"nonce",
"address",
"yParity",
"r",
"s"
]
}
},
"chainId": {
"type": "string",
"title": "chainId",
"description": "Chain ID that this transaction is valid on",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gas": {
"type": "string",
"title": "gas limit",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gasPrice": {
"type": "string",
"title": "gas price",
"description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"input": {
"type": "string",
"title": "input data",
"pattern": "^0x[0-9a-f]*$"
},
"maxFeePerGas": {
"type": "string",
"title": "max fee per gas",
"description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"maxPriorityFeePerGas": {
"type": "string",
"title": "max priority fee per gas",
"description": "Maximum fee per gas the sender is willing to pay to miners in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"nonce": {
"type": "string",
"title": "nonce",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"to": {
"type": "string",
"title": "to address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"type": {
"type": "string",
"title": "type",
"pattern": "^0x4$"
},
"value": {
"type": "string",
"title": "value",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
}
},
"required": [
"type",
"nonce",
"to",
"gas",
"value",
"input",
"maxPriorityFeePerGas",
"maxFeePerGas",
"accessList",
"chainId",
"authorizationList"
]
},
{
"type": "object",
"title": "Unsigned 4844 transaction with sidecar",
"properties": {
"accessList": {
"type": "array",
"title": "accessList",
"description": "EIP-2930 access list",
"items": {
"type": "object",
"title": "Access list entry",
"properties": {
"address": {
"type": "string",
"title": "hex encoded address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"storageKeys": {
"type": "array",
"items": {
"type": "string",
"title": "32 byte hex value",
"pattern": "^0x[0-9a-f]{64}$"
}
}
},
"required": [
"address",
"storageKeys"
]
}
},
"blobVersionedHashes": {
"type": "array",
"title": "blobVersionedHashes",
"description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
"items": {
"type": "string",
"title": "32 byte hex value",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"blobs": {
"type": "array",
"title": "blobs",
"description": "Raw blob data.",
"items": {
"type": "string",
"title": "hex encoded bytes",
"pattern": "^0x[0-9a-f]*$"
}
},
"chainId": {
"type": "string",
"title": "chainId",
"description": "Chain ID that this transaction is valid on",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"commitments": {
"type": "array",
"title": "Blob commitments.",
"items": {
"type": "string",
"title": "hex encoded bytes",
"pattern": "^0x[0-9a-f]*$"
}
},
"gas": {
"type": "string",
"title": "gas limit",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gasPrice": {
"type": "string",
"title": "gas price",
"description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"input": {
"type": "string",
"title": "input data",
"pattern": "^0x[0-9a-f]*$"
},
"maxFeePerBlobGas": {
"type": "string",
"title": "max fee per blob gas",
"description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"maxFeePerGas": {
"type": "string",
"title": "max fee per gas",
"description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"maxPriorityFeePerGas": {
"type": "string",
"title": "max priority fee per gas",
"description": "Maximum fee per gas the sender is willing to pay to miners in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"nonce": {
"type": "string",
"title": "nonce",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"proofs": {
"type": "array",
"title": "Blob proofs.",
"description": "Pre-PeerDAS this contains one KZG proof per blob (length == len(blobs)). Post-PeerDAS this contains cell proofs with length == 128 * len(blobs).",
"items": {
"type": "string",
"title": "hex encoded bytes",
"pattern": "^0x[0-9a-f]*$"
}
},
"to": {
"type": "string",
"title": "to address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"type": {
"type": "string",
"title": "type",
"pattern": "^0x3$"
},
"value": {
"type": "string",
"title": "value",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
}
},
"required": [
"accessList",
"blobVersionedHashes",
"blobs",
"chainId",
"commitments",
"gas",
"input",
"maxFeePerBlobGas",
"maxFeePerGas",
"maxPriorityFeePerGas",
"nonce",
"proofs",
"to",
"type",
"value"
]
},
{
"type": "object",
"title": "EIP-4844 transaction.",
"properties": {
"accessList": {
"type": "array",
"title": "accessList",
"description": "EIP-2930 access list",
"items": {
"type": "object",
"title": "Access list entry",
"properties": {
"address": {
"type": "string",
"title": "hex encoded address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"storageKeys": {
"type": "array",
"items": {
"type": "string",
"title": "32 byte hex value",
"pattern": "^0x[0-9a-f]{64}$"
}
}
},
"required": [
"address",
"storageKeys"
]
}
},
"blobVersionedHashes": {
"type": "array",
"title": "blobVersionedHashes",
"description": "List of versioned blob hashes associated with the transaction's EIP-4844 data blobs",
"items": {
"type": "string",
"title": "32 byte hex value",
"pattern": "^0x[0-9a-f]{64}$"
}
},
"chainId": {
"type": "string",
"title": "chainId",
"description": "Chain ID that this transaction is valid on",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gas": {
"type": "string",
"title": "gas limit",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gasPrice": {
"type": "string",
"title": "gas price",
"description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"input": {
"type": "string",
"title": "input data",
"pattern": "^0x[0-9a-f]*$"
},
"maxFeePerBlobGas": {
"type": "string",
"title": "max fee per blob gas",
"description": "The maximum total fee per gas the sender is willing to pay for blob gas in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"maxFeePerGas": {
"type": "string",
"title": "max fee per gas",
"description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"maxPriorityFeePerGas": {
"type": "string",
"title": "max priority fee per gas",
"description": "Maximum fee per gas the sender is willing to pay to miners in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"nonce": {
"type": "string",
"title": "nonce",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"to": {
"type": "string",
"title": "to address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"type": {
"type": "string",
"title": "type",
"pattern": "^0x3$"
},
"value": {
"type": "string",
"title": "value",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
}
},
"required": [
"type",
"nonce",
"to",
"gas",
"value",
"input",
"maxPriorityFeePerGas",
"maxFeePerGas",
"maxFeePerBlobGas",
"accessList",
"blobVersionedHashes",
"chainId"
]
},
{
"type": "object",
"title": "EIP-1559 transaction.",
"properties": {
"accessList": {
"type": "array",
"title": "accessList",
"description": "EIP-2930 access list",
"items": {
"type": "object",
"title": "Access list entry",
"properties": {
"address": {
"type": "string",
"title": "hex encoded address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"storageKeys": {
"type": "array",
"items": {
"type": "string",
"title": "32 byte hex value",
"pattern": "^0x[0-9a-f]{64}$"
}
}
},
"required": [
"address",
"storageKeys"
]
}
},
"chainId": {
"type": "string",
"title": "chainId",
"description": "Chain ID that this transaction is valid on.",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gas": {
"type": "string",
"title": "gas limit",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gasPrice": {
"type": "string",
"title": "gas price",
"description": "The effective gas price paid by the sender in wei. For transactions not yet included in a block, this value should be set equal to the max fee per gas. This field is DEPRECATED, please transition to using effectiveGasPrice in the receipt object going forward.",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"input": {
"type": "string",
"title": "input data",
"pattern": "^0x[0-9a-f]*$"
},
"maxFeePerGas": {
"type": "string",
"title": "max fee per gas",
"description": "The maximum total fee per gas the sender is willing to pay (includes the network / base fee and miner / priority fee) in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"maxPriorityFeePerGas": {
"type": "string",
"title": "max priority fee per gas",
"description": "Maximum fee per gas the sender is willing to pay to miners in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"nonce": {
"type": "string",
"title": "nonce",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"to": {
"title": "to address",
"oneOf": [
{
"type": "null",
"title": "Contract Creation (null)"
},
{
"type": "string",
"title": "Address",
"pattern": "^0x[0-9a-fA-F]{40}$"
}
]
},
"type": {
"type": "string",
"title": "type",
"pattern": "^0x2$"
},
"value": {
"type": "string",
"title": "value",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
}
},
"required": [
"type",
"nonce",
"gas",
"value",
"input",
"maxFeePerGas",
"maxPriorityFeePerGas",
"gasPrice",
"chainId",
"accessList"
]
},
{
"type": "object",
"title": "EIP-2930 transaction.",
"properties": {
"accessList": {
"type": "array",
"title": "accessList",
"description": "EIP-2930 access list",
"items": {
"type": "object",
"title": "Access list entry",
"properties": {
"address": {
"type": "string",
"title": "hex encoded address",
"pattern": "^0x[0-9a-fA-F]{40}$"
},
"storageKeys": {
"type": "array",
"items": {
"type": "string",
"title": "32 byte hex value",
"pattern": "^0x[0-9a-f]{64}$"
}
}
},
"required": [
"address",
"storageKeys"
]
}
},
"chainId": {
"type": "string",
"title": "chainId",
"description": "Chain ID that this transaction is valid on.",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gas": {
"type": "string",
"title": "gas limit",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gasPrice": {
"type": "string",
"title": "gas price",
"description": "The gas price willing to be paid by the sender in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"input": {
"type": "string",
"title": "input data",
"pattern": "^0x[0-9a-f]*$"
},
"nonce": {
"type": "string",
"title": "nonce",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"to": {
"title": "to address",
"oneOf": [
{
"type": "null",
"title": "Contract Creation (null)"
},
{
"type": "string",
"title": "Address",
"pattern": "^0x[0-9a-fA-F]{40}$"
}
]
},
"type": {
"type": "string",
"title": "type",
"pattern": "^0x1$"
},
"value": {
"type": "string",
"title": "value",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
}
},
"required": [
"type",
"nonce",
"gas",
"value",
"input",
"gasPrice",
"chainId",
"accessList"
]
},
{
"type": "object",
"title": "Legacy transaction.",
"properties": {
"chainId": {
"type": "string",
"title": "chainId",
"description": "Chain ID that this transaction is valid on.",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gas": {
"type": "string",
"title": "gas limit",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"gasPrice": {
"type": "string",
"title": "gas price",
"description": "The gas price willing to be paid by the sender in wei",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"input": {
"type": "string",
"title": "input data",
"pattern": "^0x[0-9a-f]*$"
},
"nonce": {
"type": "string",
"title": "nonce",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
},
"to": {
"title": "to address",
"oneOf": [
{
"type": "null",
"title": "Contract Creation (null)"
},
{
"type": "string",
"title": "Address",
"pattern": "^0x[0-9a-fA-F]{40}$"
}
]
},
"type": {
"type": "string",
"title": "type",
"pattern": "^0x0$"
},
"value": {
"type": "string",
"title": "value",
"pattern": "^0x(0|[1-9a-f][0-9a-f]*)$"
}
},
"required": [
"type",
"nonce",
"gas",
"value",
"input",
"gasPrice"
]
}
]
}
},
"required": [
"tx"
]
}Example request
Endpoint: https://your-taiko-node.azxa.io
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_fillTransaction",
"params": []
}cURL
curl -X POST https://your-taiko-node.azxa.io \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_fillTransaction","params":[]}'