Transaction Operations
resource: transaction — look up, send, decode, and wait on transactions
get
| Field | Type | Required | Description |
|---|---|---|---|
hash | text | ✓ Yes | Transaction hash, e.g. 0x5c504ed4.... |
Example response:
{
"success": true,
"transaction": {
"hash": "0x5c504ed4...",
"blockNumber": 19384021,
"from": "0x742d35Cc...",
"to": "0xdAC17F95...",
"valueWei": "0",
"gasLimit": "65000",
"gasPriceWei": "30000000000",
"nonce": 42,
"input": "0xa9059cbb...",
"isPending": false
}
}
send — core write operation, needs credential
| Field | Type | Required | Description |
|---|---|---|---|
to | text | ✓ Yes | Recipient address. |
value | text | No (default "0") | Amount to send, in wei (integer string). |
data | text | No | Raw calldata hex, for a contract-calling transaction. |
gasLimit | text | No | Gas limit override. Estimated automatically when omitted. |
maxFeePerGas | text | No | EIP-1559 max total fee per gas, in wei. |
maxPriorityFeePerGas | text | No | EIP-1559 tip per gas, in wei. |
nonce | number | No | Explicit nonce override — see Account Operations for fetching the next value. |
credentialID | credential | ✓ Yes | Vault CRYPTO_WALLET credential to sign with. See Configuration. |
Example response:
{ "success": true, "txHash": "0x5c504ed4..." }
Fire-and-forget by design:
transaction.send returns as soon as the
transaction is broadcast — it does not wait for it to be mined. Chain transaction.wait
or transaction.receipt afterwards if the workflow needs the confirmed outcome.
receipt
The real eth_getTransactionReceipt primitive — success/revert status, gas used, and event logs.
| Field | Type | Required | Description |
|---|---|---|---|
hash | text | ✓ Yes | Transaction hash. |
Example response:
{
"success": true,
"txHash": "0x5c504ed4...",
"status": true,
"blockNumber": 19384022,
"gasUsed": "51302",
"logs": [
{ "address": "0xdAC17F95...", "topics": ["0xddf252ad..."], "data": "0x...", "blockNumber": 19384022, "transactionHash": "0x5c504ed4...", "logIndex": 3 }
]
}
status: true means the transaction succeeded; false means it reverted
on-chain (still mined, still cost gas). Pair logs with
utility.decodeEventLog to turn raw topics/data into named
event arguments.
pending
| Field | Type | Required | Description |
|---|---|---|---|
addressFilter | text | No | Restrict results to transactions involving this address, where the provider supports filtering. |
Provider-dependent: mempool visibility isn't a universal JSON-RPC capability — not
every RPC provider exposes a
txpool_content/pending-transactions equivalent. This
operation may return an error on providers (including many free-tier Alchemy/Infura plans) that
don't support it. See Troubleshooting.
decode
| Field | Type | Required | Description |
|---|---|---|---|
data | text | ✓ Yes | Raw transaction calldata hex. |
abi | text (JSON) | No | Contract ABI. Without it, only the 4-byte function selector is reported. |
Example response:
{
"success": true,
"functionName": "transfer",
"functionSignature": "transfer(address,uint256)",
"decodedArgs": { "to": "0x742d35Cc...", "amount": "1000000" }
}
wait
Polls until a transaction reaches the requested confirmation depth, or the timeout elapses.
| Field | Type | Required | Description |
|---|---|---|---|
hash | text | ✓ Yes | Transaction hash to watch. |
confirmations | number | No (default 1) | How many blocks past inclusion to wait for. |
timeoutMs | number | No (default 60000) | Give up after this many milliseconds. |
Example success response:
{ "success": true, "txHash": "0x5c504ed4...", "status": true, "confirmations": 1, "timedOut": false }
Example timeout response (success: false, error code TRANSACTION_WAIT_TIMEOUT):
{ "success": false, "txHash": "0x5c504ed4...", "status": null, "confirmations": 1, "timedOut": true,
"errorCode": "TRANSACTION_WAIT_TIMEOUT",
"errorMessage": "Transaction 0x5c504ed4... did not reach the required confirmations before the timeout elapsed." }