For the complete documentation index, see llms.txt. This page is also available as Markdown.

Transaction Finality

Execution and consensus finality are separate from product settlement. ValueChain uses single slot finality (2-second slot): a receipt with a block means the transaction is included and will not revert.

JSON-RPC block tags (latest, safe, finalized) and confirmation depth are documented in Differences from Ethereum. Do not treat finalized as a second wait after the receipt.

Confirmation stages

Stage
Evidence
Meaning

Submitted

A transaction hash

Identifies the submission; does not prove inclusion or success.

Included

A receipt with blockHash, blockNumber, and status

The transaction is in a block and will not revert. status is only the EVM outcome.

A plain SOSO or ERC-20 transfer that does not create a product request is complete at Included when status is "0x1".

Track transaction execution

Query the receipt for the hash you are tracking. For Relayer submissions, follow Transaction Status first and use any replaced_by_hash before querying JSON-RPC.

curl -sS https://mainnet.valuechain.xyz \
  -H 'Content-Type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["YOUR_TRANSACTION_HASH"]}'
  • result: null: not included yet. This is not a failure. Query eth_getTransactionByHash: an object without blockNumber is still pending; null from both methods means this node does not have the transaction (it may have been dropped, or Relayer replaced it).

  • Receipt status: "0x1": execution succeeded in the reported block.

  • Receipt status: "0x0": execution failed in the reported block.

status does not confirm product settlement. Persist the transaction hash and the receipt blockHash. Treat a JSON-RPC error as a failed query, not as a failed transaction. Do not resubmit while the first hash is unknown or pending; that can create a duplicate request.

Last updated