submitAndWaitForFinalization
Submit a transaction and wait for it to be finalized on-chain.
This is the correct method for transaction submission. Uses WebSocket subscription to wait for the node's finalized status.
Process:
Connect to node via WebSocket
Send
author_submitAndWatchExtrinsicrequestSubscribe to transaction status events
Wait for
finalizedstatus from nodeReturn finalization result
Transaction Status Flow:
ready → broadcast → inBlock → finalizedWhy this is important:
submitTransactionreturns immediately (fire-and-forget)The transaction may not yet be in a block
Only
finalizedstatus guarantees the transaction is permanentPrevents race conditions with UTXO state management
Return
Finalization result with block info
Parameters
Hex-encoded serialized transaction (without "0x" prefix)
Maximum time to wait for finalization (default 60s)
Throws
if network connectivity fails
if finalization times out
if node returns JSON-RPC error
if transaction is invalid (error 115 = stale UTXO)
if response is malformed