Pre-General Availability: 2026-02-23
Sign and Submit a Transaction
post
/v1/besu/signTransaction
Signs and submits a transaction to the configured Besu node.
Supports:
- Eth transfer between accounts
- Contract deployment
- Contract execution, with support for encoding for
functionSignature/functionArgs
Request
Header Parameters
-
X-Besu-Url: string
Optional upstream JSON-RPC URL override. When provided, the request is sent to this URL.
-
X-Request-Id: string
Optional request correlation identifier. Echoed in responses when provided.
Supported Media Types
- application/json
Root Schema : schema
Type:
objectInput for signing and submitting a transaction
Show Source
-
abi: array
abi
Contract ABI; required if constructorArgs provided
-
bytecode: string
Contract bytecode (0x-hex); required for deployment
-
constructorArgs: array
constructorArgs
Constructor arguments as strings (optional)
-
contractAbi: array
contractAbi
Optional ABI used to infer parameter types when functionSignature omits types (name-only). For overloaded functions, the entry with matching parameter count is selected. If omitted and toAddress is provided, the gateway may resolve the ABI by address when available.
-
data: string
Hex calldata; for contract deployment you may provide full bytecode+constructor params here and omit bytecode/abi
-
decode: object
DecodeOptions
Selective decode options; flags default to false when omitted.
-
ethValue: string
Amount in wei as string (for example, "10000000000000000")
-
fromAddress: string
Sender address to sign with. The gateway signs directly via wallets/{address}/sign. Must belong to the current user.
-
functionArgs: array
functionArgs
Function arguments as strings aligned with the parameter order. Scalars: address, bool, string, int/uint (any width), bytes/bytesN (1..32). Arrays (1-D) and tuples are supported by passing JSON strings: - Dynamic/fixed arrays: for example, '["0xabc...", "0xdef..."]' or '["1","2","3"]' - Tuples (and nested): for example, '["0xabc...", "42"]' For function name without types, contractAbi is used to infer param types (overloads resolved by arity).
-
functionSignature: string
Function selector for ABI encoding when data is absent. You may provide: - Fully-specified signature (for example, "approve(address,uint256)"), or - Function name only (for example, "approve"); parameter types are inferred from the provided ABI (overloads resolved by argument count). If contractAbi is not supplied and toAddress is provided, the gateway may resolve the ABI by address when available.
-
gasFeeCap: string
EIP-1559 max fee per gas
-
gasLimit: integer
Gas limit (required for contract deployment; optional otherwise)
-
gasPrice: string
Legacy only; if omitted, fetched via eth_gasPrice
-
gasTipCap: string
EIP-1559 priority fee per gas
-
nonce: integer
Nonce; if omitted, fetched via eth_getTransactionCount (pending)
-
receiptMaxTries: integer
Default Value:
60Max number of receipt polls (default 60) -
receiptWaitMs: integer
Default Value:
1500Milliseconds to wait between receipt polls (default 1500) -
storageLayout: object
storageLayout
Optional Solidity compiler storage layout JSON
-
toAddress: string
Recipient address (omit for contract deployment)
-
txByHash: boolean
Default Value:
falseInclude eth_getTransactionByHash result in response -
type: integer
Default Value:
2Allowed Values:[ 0, 2 ]Transaction type (0=legacy, 2=EIP-1559) -
waitForReceipt: boolean
Default Value:
trueIf true, gateway polls for transaction receipt before responding (default: true)
Nested Schema : contractAbi
Type:
arrayOptional ABI used to infer parameter types when functionSignature omits types (name-only). For overloaded functions, the entry with matching parameter count is selected. If omitted and toAddress is provided, the gateway may resolve the ABI by address when available.
Show Source
Nested Schema : DecodeOptions
Type:
objectSelective decode options; flags default to false when omitted.
Show Source
-
errors: boolean
Decode revert reasons (both endpoints)
-
events: boolean
Decode event logs (signTransaction)
-
inputs: boolean
Decode function inputs (signTransaction)
-
outputs: boolean
Decode function outputs (query)
Nested Schema : functionArgs
Type:
arrayFunction arguments as strings aligned with the parameter order.
Scalars: address, bool, string, int/uint (any width), bytes/bytesN (1..32).
Arrays (1-D) and tuples are supported by passing JSON strings:
- Dynamic/fixed arrays: for example, '["0xabc...", "0xdef..."]' or '["1","2","3"]'
- Tuples (and nested): for example, '["0xabc...", "42"]'
For function name without types, contractAbi is used to infer param types (overloads resolved by arity).
Show Source
Nested Schema : storageLayout
Type:
objectOptional Solidity compiler storage layout JSON
Nested Schema : items
Type:
objectNested Schema : items
Type:
objectExamples
Back to Top
Response
Supported Media Types
- application/json
200 Response
Transaction signed and submitted
Root Schema : SignTransactionResponse
Type:
Show Source
object-
contractAddress: string
Present for contract deployments once mined
-
data: string
Hex calldata (or "0x") for the transaction
-
decoded: object
DecodedResult
Aggregate decoded information for the transaction or call
-
encodedFromSignature: boolean
True if calldata was generated from functionSignature
-
nonce: string
Nonce used for the transaction
-
to: string
Target address (empty for contract deployment)
-
transactionByHash: object
transactionByHash
Additional Properties Allowed:
trueTransaction object from eth_getTransactionByHash; present when requested and available -
transactionReceipt: object
transactionReceipt
Transaction receipt object (may be null if not yet mined)
-
txHash: string
Hash of the submitted transaction
Nested Schema : DecodedResult
Type:
objectAggregate decoded information for the transaction or call
Show Source
-
error: object
DecodedError
-
events: array
events
-
function: object
DecodedFunctionInfo
-
input: object
DecodedInput
Decoded function input arguments
-
meta: object
DecodedMeta
-
output: object
DecodedOutput
Decoded function return values
Nested Schema : transactionByHash
Type:
objectAdditional Properties Allowed:
trueTransaction object from eth_getTransactionByHash; present when requested and available
Nested Schema : transactionReceipt
Type:
objectTransaction receipt object (may be null if not yet mined)
Nested Schema : DecodedError
Type:
Show Source
object-
customError: object
customError
Decoded custom error as defined in the contract ABI
-
standardError: object
standardError
Decoded standard Error(string) revert
-
standardPanic: object
standardPanic
Decoded Panic(uint256) revert
Nested Schema : DecodedFunctionInfo
Type:
Show Source
object-
name: string
Function name without parameter types
-
selector: string
4-byte function selector (0x-prefixed hex)
-
signature: string
Canonical function signature including parameter types (for example, "approve(address,uint256)")
Nested Schema : DecodedMeta
Type:
Show Source
object-
abiSource: string
Allowed Values:
[ "request", "registry", "none" ]Where ABI was resolved from -
warnings: array
warnings
Non-fatal issues encountered while attempting to decode
Nested Schema : customError
Type:
objectDecoded custom error as defined in the contract ABI
Show Source
Nested Schema : standardError
Type:
objectDecoded standard Error(string) revert
Show Source
-
message: string
Revert message string
-
selector: string
Example:
0x08c379a0
Nested Schema : standardPanic
Type:
objectDecoded Panic(uint256) revert
Show Source
-
code: string
Panic code value (hex or decimal string)
-
meaning: string
Human-readable interpretation of the panic code, when known
-
selector: string
Example:
0x4e487b71
Nested Schema : DecodedArgument
Type:
Show Source
object-
indexed: boolean
Only for event parameters
-
name: string
May be empty if unknown
-
type: string
Canonical ABI type (for example, uint256, address, (uint256,address), uint256[])
-
value:
Normalized JSON value (address lowercase hex, bigints as decimal strings, bytes as 0x-hex)
Nested Schema : DecodedEvent
Type:
Show Source
object-
address: string
Contract address that emitted the log
-
args: array
args
Decoded event arguments (indexed indicates topic-encoded parameter)
-
data: string
Event data payload (0x-hex)
-
logIndex: integer
Zero-based index of the log within the block
-
name: string
Event name without parameter types
-
signature: string
Canonical event signature including parameter types
-
topics: array
topics
Log topics as 0x-hex values
Nested Schema : args
Type:
arrayDecoded event arguments (indexed indicates topic-encoded parameter)
Show Source
Nested Schema : warnings
Type:
arrayNon-fatal issues encountered while attempting to decode
Show Source
Examples
400 Response
Validation error or invalid input
Root Schema : ErrorResponse
Type:
Show Source
object-
decodedError: object
DecodedError
-
error: string
Short error summary suitable for display
-
hint: string
Optional guidance that may help resolve the error
-
message: string
Additional error details, when available
-
requestId: string
Client-provided correlation ID echoed in responses
-
upstreamCode: integer
Upstream node error code (if provided by the RPC endpoint)
-
upstreamData: string
Raw upstream error data payload (0x-hex or JSON), if available
Nested Schema : DecodedError
Type:
Show Source
object-
customError: object
customError
Decoded custom error as defined in the contract ABI
-
standardError: object
standardError
Decoded standard Error(string) revert
-
standardPanic: object
standardPanic
Decoded Panic(uint256) revert
Nested Schema : customError
Type:
objectDecoded custom error as defined in the contract ABI
Show Source
Nested Schema : standardError
Type:
objectDecoded standard Error(string) revert
Show Source
-
message: string
Revert message string
-
selector: string
Example:
0x08c379a0
Nested Schema : standardPanic
Type:
objectDecoded Panic(uint256) revert
Show Source
-
code: string
Panic code value (hex or decimal string)
-
meaning: string
Human-readable interpretation of the panic code, when known
-
selector: string
Example:
0x4e487b71
Nested Schema : DecodedArgument
Type:
Show Source
object-
indexed: boolean
Only for event parameters
-
name: string
May be empty if unknown
-
type: string
Canonical ABI type (for example, uint256, address, (uint256,address), uint256[])
-
value:
Normalized JSON value (address lowercase hex, bigints as decimal strings, bytes as 0x-hex)
500 Response
Internal error (for example, failed to estimate gasLimit)
Root Schema : ErrorResponse
Type:
Show Source
object-
decodedError: object
DecodedError
-
error: string
Short error summary suitable for display
-
hint: string
Optional guidance that may help resolve the error
-
message: string
Additional error details, when available
-
requestId: string
Client-provided correlation ID echoed in responses
-
upstreamCode: integer
Upstream node error code (if provided by the RPC endpoint)
-
upstreamData: string
Raw upstream error data payload (0x-hex or JSON), if available
Nested Schema : DecodedError
Type:
Show Source
object-
customError: object
customError
Decoded custom error as defined in the contract ABI
-
standardError: object
standardError
Decoded standard Error(string) revert
-
standardPanic: object
standardPanic
Decoded Panic(uint256) revert
Nested Schema : customError
Type:
objectDecoded custom error as defined in the contract ABI
Show Source
Nested Schema : standardError
Type:
objectDecoded standard Error(string) revert
Show Source
-
message: string
Revert message string
-
selector: string
Example:
0x08c379a0
Nested Schema : standardPanic
Type:
objectDecoded Panic(uint256) revert
Show Source
-
code: string
Panic code value (hex or decimal string)
-
meaning: string
Human-readable interpretation of the panic code, when known
-
selector: string
Example:
0x4e487b71
Nested Schema : DecodedArgument
Type:
Show Source
object-
indexed: boolean
Only for event parameters
-
name: string
May be empty if unknown
-
type: string
Canonical ABI type (for example, uint256, address, (uint256,address), uint256[])
-
value:
Normalized JSON value (address lowercase hex, bigints as decimal strings, bytes as 0x-hex)
502 Response
Upstream Besu error
Root Schema : ErrorResponse
Type:
Show Source
object-
decodedError: object
DecodedError
-
error: string
Short error summary suitable for display
-
hint: string
Optional guidance that may help resolve the error
-
message: string
Additional error details, when available
-
requestId: string
Client-provided correlation ID echoed in responses
-
upstreamCode: integer
Upstream node error code (if provided by the RPC endpoint)
-
upstreamData: string
Raw upstream error data payload (0x-hex or JSON), if available
Nested Schema : DecodedError
Type:
Show Source
object-
customError: object
customError
Decoded custom error as defined in the contract ABI
-
standardError: object
standardError
Decoded standard Error(string) revert
-
standardPanic: object
standardPanic
Decoded Panic(uint256) revert
Nested Schema : customError
Type:
objectDecoded custom error as defined in the contract ABI
Show Source
Nested Schema : standardError
Type:
objectDecoded standard Error(string) revert
Show Source
-
message: string
Revert message string
-
selector: string
Example:
0x08c379a0
Nested Schema : standardPanic
Type:
objectDecoded Panic(uint256) revert
Show Source
-
code: string
Panic code value (hex or decimal string)
-
meaning: string
Human-readable interpretation of the panic code, when known
-
selector: string
Example:
0x4e487b71
Nested Schema : DecodedArgument
Type:
Show Source
object-
indexed: boolean
Only for event parameters
-
name: string
May be empty if unknown
-
type: string
Canonical ABI type (for example, uint256, address, (uint256,address), uint256[])
-
value:
Normalized JSON value (address lowercase hex, bigints as decimal strings, bytes as 0x-hex)