Skip to main content
The RPC API exposes several methods for broadcasting signed transactions and tracking their execution. All transaction methods accept a base64-encoded signed_tx_base64 payload. Status methods accept either the same payload or a tx_hash + sender_account_id pair.

Quick Reference

Prefer send_tx and tx for new integrations, and tx_status on nodes that run nearcore 2.14.0 or later. On older nodes, use EXPERIMENTAL_tx_status, which also works on 2.14.0 and later. The broadcast_tx_async and broadcast_tx_commit methods are kept for backward compatibility but offer less control over when the call returns.

The wait_until Field

send_tx, tx, and tx_status accept an optional wait_until field that controls how long the RPC waits before returning a response. Each value waits for a stricter execution milestone than the previous one — pick the lowest level that satisfies your use case so you don’t pay extra latency. If the field is omitted, the RPC behaves as if EXECUTED_OPTIMISTIC was passed.
Higher wait_until levels can take several seconds. If your client has a short timeout, prefer INCLUDED or EXECUTED_OPTIMISTIC and poll tx for the stricter level.

Send Transaction

Broadcasts a signed transaction and waits for the requested execution milestone before returning.
  • method: send_tx
  • params: signed_tx_base64, optional wait_until
Successful contract return values appear as base64-encoded status.SuccessValue. See the decoded result reference to read them.

Transaction Status

Returns the status of a previously submitted transaction.
  • method: tx
  • params: either signed_tx_base64, or tx_hash + sender_account_id. Optional wait_until.

Transaction Status with Receipts

tx_status returns the same payload as tx, plus a receipts list with the receipts that the transaction produced. It is useful when debugging cross-contract calls.
  • method: tx_status
  • params: same as tx
The receipts list can be incomplete:
  • Receipts that have not run yet when the node answers are not in the list. With the default wait_until (EXECUTED_OPTIMISTIC), refund receipts are often still missing. wait_until: "FINAL" waits until all receipts, including refunds, have run.
  • When the signer and the receiver are the same account, the list leaves out the first receipt. This is the receipt converted from the transaction.
  • A node that does not track the signer’s shard can return the result without the receipts list.
tx_status is available from nearcore 2.14.0. The 2.14.0 release candidates (versions that start with 2.14.0-rc) also have it. Earlier versions call this method EXPERIMENTAL_tx_status. Nodes that run them return a “Method not found” error for tx_status. EXPERIMENTAL_tx_status still works in 2.14.0, as a deprecated alias with identical request and response types. Use EXPERIMENTAL_tx_status until every node you call runs one of these versions or later. To see which version a node runs, call the status method and read version.version.

Receipt by Id

Fetches a single receipt by its id.
  • method: EXPERIMENTAL_receipt
  • params: receipt_id

Broadcast Async

Broadcasts a signed transaction and returns immediately with the transaction hash. Equivalent to send_tx with wait_until: "NONE".
  • method: broadcast_tx_async
  • params: a single positional string — the base64-encoded signed transaction.

Broadcast Commit

Broadcasts a signed transaction and waits for it to be included in a block. Equivalent to send_tx with wait_until: "EXECUTED_OPTIMISTIC".
  • method: broadcast_tx_commit
  • params: a single positional string — the base64-encoded signed transaction.

Error Handling