Transactions
The RPC API enables you to send transactions and query their status on the NEAR blockchain. This includes sending new transactions, checking transaction status, retrieving receipts, and monitoring transaction execution.
Quick Reference
| Method | Parameters | Description | 
|---|---|---|
send_tx | signed_tx_base64, wait_until | Send a transaction and optionally wait for execution | 
tx | tx_hash, sender_account_id, wait_until | Query transaction status by hash | 
EXPERIMENTAL_tx_status | tx_hash, sender_account_id, wait_until | Query transaction status with receipt details | 
EXPERIMENTAL_receipt | receipt_id | Fetch receipt by ID | 
broadcast_tx_async | signed_tx_base64 | (Deprecated) Send transaction asynchronously | 
broadcast_tx_commit | signed_tx_base64 | (Deprecated) Send transaction and wait for completion | 
Send transaction
Description
Sends transaction. Returns the guaranteed execution status and the results the blockchain can provide at the moment.
- method: 
send_tx - params:
signed_tx_base64: SignedTransaction encoded in base64- [Optional] 
wait_until: the required minimal execution level. The default value isEXECUTED_OPTIMISTIC. Read more here. 
 
Using send_tx with wait_until = NONE is equal to legacy broadcast_tx_async method. 
Using send_tx with finality wait_until = EXECUTED_OPTIMISTIC is equal to legacy broadcast_tx_commit method.
Example
- JSON
 - HTTPie
 
{
"jsonrpc": "2.0",
"id": "dontcare",
"method": "send_tx",
"params": {
  "signed_tx_base64": "DgAAAHNlbmRlci50ZXN0bmV0AOrmAai64SZOv9e/naX4W15pJx0GAap35wTT1T/DwcbbDwAAAAAAAAAQAAAAcmVjZWl2ZXIudGVzdG5ldNMnL7URB1cxPOu3G8jTqlEwlcasagIbKlAJlF5ywVFLAQAAAAMAAACh7czOG8LTAAAAAAAAAGQcOG03xVSFQFjoagOb4NBBqWhERnnz45LY4+52JgZhm1iQKz7qAdPByrGFDQhQ2Mfga8RlbysuQ8D8LlA6bQE=",
  "wait_until": "INCLUDED_FINAL"
}
}
http POST https://rpc.testnet.near.org \
jsonrpc=2.0 \
id=dontcare \
method=send_tx \
params:='{
"signed_tx_base64": "DgAAAHNlbmRlci50ZXN0bmV0AOrmAai64SZOv9e/naX4W15pJx0GAap35wTT1T/DwcbbDwAAAAAAAAAQAAAAcmVjZWl2ZXIudGVzdG5ldNMnL7URB1cxPOu3G8jTqlEwlcasagIbKlAJlF5ywVFLAQAAAAMAAACh7czOG8LTAAAAAAAAAGQcOG03xVSFQFjoagOb4NBBqWhERnnz45LY4+52JgZhm1iQKz7qAdPByrGFDQhQ2Mfga8RlbysuQ8D8LlA6bQE=",
"wait_until": "EXECUTED"
}'
Example response:
{
  "jsonrpc": "2.0",
  "result": {
    "final_execution_status": "FINAL",
    "status": {
      "SuccessValue": ""
    },
    "transaction": {
      "signer_id": "sender.testnet",
      "public_key": "ed25519:Gowpa4kXNyTMRKgt5W7147pmcc2PxiFic8UHW9rsNvJ6",
      "nonce": 13,
      "receiver_id": "receiver.testnet",
      "actions": [
        {
          "Transfer": {
            "deposit": "1000000000000000000000000"
          }
        }
      ],
      "signature": "ed25519:7oCBMfSHrZkT7tzPDBxxCd3tWFhTES38eks3MCZMpYPJRfPWKxJsvmwQiVBBxRLoxPTnXVaMU2jPV3MdFKZTobH",
      "hash": "ASS7oYwGiem9HaNwJe6vS2kznx2CxueKDvU9BAYJRjNR"
    },
    "transaction_outcome": {
      "proof": [],
      "block_hash": "9MzuZrRPW1BGpFnZJUJg6SzCrixPpJDfjsNeUobRXsLe",
      "id": "ASS7oYwGiem9HaNwJe6vS2kznx2CxueKDvU9BAYJRjNR",
      "outcome": {
        "logs": [],
        "receipt_ids": ["BLV2q6p8DX7pVgXRtGtBkyUNrnqkNyU7iSksXG7BjVZh"],
        "gas_burnt": 223182562500,
        "tokens_burnt": "22318256250000000000",
        "executor_id": "sender.testnet",
        "status": {
          "SuccessReceiptId": "BLV2q6p8DX7pVgXRtGtBkyUNrnqkNyU7iSksXG7BjVZh"
        }
      }
    },
    "receipts_outcome": [
      {
        "proof": [],
        "block_hash": "5Hpj1PeCi32ZkNXgiD1DrW4wvW4Xtic74DJKfyJ9XL3a",
        "id": "BLV2q6p8DX7pVgXRtGtBkyUNrnqkNyU7iSksXG7BjVZh",
        "outcome": {
          "logs": [],
          "receipt_ids": ["3sawynPNP8UkeCviGqJGwiwEacfPyxDKRxsEWPpaUqtR"],
          "gas_burnt": 223182562500,
          "tokens_burnt": "22318256250000000000",
          "executor_id": "receiver.testnet",
          "status": {
            "SuccessValue": ""
          }
        }
      }
    ]
  },
  "id": "dontcare"
}
Error handling:
When making RPC API requests, you may encounter various errors related to network configuration, rate limiting, or request formatting. For comprehensive information about error types, causes, and solutions, see the RPC Errors documentation.
Transaction Status
Description
Queries status of a transaction by hash and returns the final transaction result.
- method: 
tx - params:
tx_hash(see NearBlocks Explorer for a valid transaction hash)sender_account_id(used to determine which shard to query for transaction)- [Optional] 
wait_until: the required minimal execution level. The default value isEXECUTED_OPTIMISTIC. Read more here. 
 
A Transaction status request with wait_until != NONE will wait until the
transaction appears on the blockchain. If the transaction does not exist,
the method will wait until the timeout is reached. If you only need to check
whether the transaction exists, use wait_until = NONE, it will return
the response immediately.
Example
- JSON
 - JavaScript
 - HTTPie
 - Lantstool
 
{
  "jsonrpc": "2.0",
  "id": "dontcare",
  "method": "tx",
  "params": {
    "tx_hash": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
    "sender_account_id": "rpc-examples.testnet",
    "wait_until": "FINAL"
  }
}
  const response = await near.connection.provider.txStatus(
'7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1',
'rpc-examples.testnet',
'FINAL',
);
http POST https://archival-rpc.testnet.near.org \
jsonrpc=2.0 \
id=dontcare \
method=tx \
params:='{
"tx_hash": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
"sender_account_id": "rpc-examples.testnet",
"wait_until": "FINAL"
}'
Try it out on Lantstool
Loading...
Example response:
{
  "jsonrpc": "2.0",
  "result": {
    "final_execution_status": "FINAL",
    "receipts_outcome": [
      {
        "block_hash": "ApNYvBCU3Nnn8TeESvJ7Anfw8vfbmwcXmavypAWtKv6p",
        "id": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE",
        "outcome": {
          "executor_id": "contract.rpc-examples.testnet",
          "gas_burnt": 4174947687500,
          "logs": [],
          "metadata": {
            "gas_profile": [],
            "version": 3
          },
          "receipt_ids": ["AZz7tN4cSK9Ngeq7KUFWSm8yi9WLsVjqYiohNYzW8Pc4"],
          "status": {
            "SuccessValue": ""
          },
          "tokens_burnt": "417494768750000000000"
        },
        "proof": [
          {
            "direction": "Left",
            "hash": "CuLK7PnND8x1XooFysdUbG9VqG2yzKKjPSFXSGsuKzn4"
          }
        ]
      }
    ],
    "status": {
      "SuccessValue": ""
    },
    "transaction": {
      "actions": [
        "CreateAccount",
        {
          "Transfer": {
            "deposit": "5000000000000000000000000"
          }
        },
        {
          "AddKey": {
            "access_key": {
              "nonce": 0,
              "permission": "FullAccess"
            },
            "public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M"
          }
        }
      ],
      "hash": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
      "nonce": 187307146000001,
      "priority_fee": 0,
      "public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M",
      "receiver_id": "contract.rpc-examples.testnet",
      "signature": "ed25519:34NgQAukvyKajXFDB6XzKpfd2YDUo3QyTdkUeCgwm24J3dkju7Ejm71VRkRsJwdpKwH1HQWqSV2frnF26yQYEZpJ",
      "signer_id": "rpc-examples.testnet"
    },
    "transaction_outcome": {
      "block_hash": "G1xSnhtrDiaEZNef41kiY8ePQCAwsF2gyVcRNa7B6xaP",
      "id": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
      "outcome": {
        "executor_id": "rpc-examples.testnet",
        "gas_burnt": 4174947687500,
        "logs": [],
        "metadata": {
          "gas_profile": null,
          "version": 1
        },
        "receipt_ids": ["23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE"],
        "status": {
          "SuccessReceiptId": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE"
        },
        "tokens_burnt": "417494768750000000000"
      },
      "proof": [
        {
          "direction": "Left",
          "hash": "Ft2GVFu6zuQGbUU7DB7opgshYLPvuvfNnGqMAny1kgPj"
        }
      ]
    }
  },
  "id": "dontcare"
}
Error handling:
When making RPC API requests, you may encounter various errors related to network configuration, rate limiting, or request formatting. For comprehensive information about error types, causes, and solutions, see the RPC Errors documentation.
Transaction Status with Receipts
Description
Queries status of a transaction by hash, returning the final transaction result and details of all receipts.
- method: 
EXPERIMENTAL_tx_status - params:
tx_hash(see NearBlocks Explorer for a valid transaction hash)sender_account_id(used to determine which shard to query for transaction)- [Optional] 
wait_until: the required minimal execution level. The default value isEXECUTED_OPTIMISTIC. Read more here. 
 
A Transaction status request with wait_until != NONE will wait until the
transaction appears on the blockchain. If the transaction does not exist,
the method will wait until the timeout is reached. If you only need to check
whether the transaction exists, use wait_until = NONE, it will return the response immediately.
Example
- JSON
 - JavaScript
 - HTTPie
 - Lantstool
 
{
  "jsonrpc": "2.0",
  "id": "dontcare",
  "method": "EXPERIMENTAL_tx_status",
  "params": {
    "tx_hash": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
    "sender_account_id": "rpc-examples.testnet",
    "wait_until": "FINAL"
  }
}
const response = await near.connection.provider.txStatusReceipts(
'7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1',
'rpc-examples.testnet',
'FINAL',
);
http POST https://archival-rpc.testnet.near.org \
jsonrpc=2.0 \
id=dontcare \
method=EXPERIMENTAL_tx_status \
params:='{
"tx_hash": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
"sender_account_id": "rpc-examples.testnet",
"wait_until": "FINAL"
}'
Try it out on Lantstool
Loading...
Example response:
{
"jsonrpc": "2.0",
"result": {
  "final_execution_status": "FINAL",
  "receipts": [
    {
      "predecessor_id": "rpc-examples.testnet",
      "priority": 0,
      "receipt": {
        "Action": {
          "actions": [
            "CreateAccount",
            {
              "Transfer": {
                "deposit": "5000000000000000000000000"
              }
            },
            {
              "AddKey": {
                "access_key": {
                  "nonce": 0,
                  "permission": "FullAccess"
                },
                "public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M"
              }
            }
          ],
          "gas_price": "103000000",
          "input_data_ids": [],
          "is_promise_yield": false,
          "output_data_receivers": [],
          "signer_id": "rpc-examples.testnet",
          "signer_public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M"
        }
      },
      "receipt_id": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE",
      "receiver_id": "contract.rpc-examples.testnet"
    },
    {
      "predecessor_id": "system",
      "priority": 0,
      "receipt": {
        "Action": {
          "actions": [
            {
              "Transfer": {
                "deposit": "12524843062500000000"
              }
            }
          ],
          "gas_price": "0",
          "input_data_ids": [],
          "is_promise_yield": false,
          "output_data_receivers": [],
          "signer_id": "rpc-examples.testnet",
          "signer_public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M"
        }
      },
      "receipt_id": "AZz7tN4cSK9Ngeq7KUFWSm8yi9WLsVjqYiohNYzW8Pc4",
      "receiver_id": "rpc-examples.testnet"
    }
  ],
  "receipts_outcome": [
    {
      "block_hash": "ApNYvBCU3Nnn8TeESvJ7Anfw8vfbmwcXmavypAWtKv6p",
      "id": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE",
      "outcome": {
        "executor_id": "contract.rpc-examples.testnet",
        "gas_burnt": 4174947687500,
        "logs": [],
        "metadata": {
          "gas_profile": [],
          "version": 3
        },
        "receipt_ids": ["AZz7tN4cSK9Ngeq7KUFWSm8yi9WLsVjqYiohNYzW8Pc4"],
        "status": {
          "SuccessValue": ""
        },
        "tokens_burnt": "417494768750000000000"
      },
      "proof": [
        {
          "direction": "Left",
          "hash": "CuLK7PnND8x1XooFysdUbG9VqG2yzKKjPSFXSGsuKzn4"
        }
      ]
    },
    {
      "block_hash": "4C1384HReTY7NR7jVk2aMDyccCNVM5zeQDQ6z84cj1N4",
      "id": "AZz7tN4cSK9Ngeq7KUFWSm8yi9WLsVjqYiohNYzW8Pc4",
      "outcome": {
        "executor_id": "rpc-examples.testnet",
        "gas_burnt": 223182562500,
        "logs": [],
        "metadata": {
          "gas_profile": [],
          "version": 3
        },
        "receipt_ids": [],
        "status": {
          "SuccessValue": ""
        },
        "tokens_burnt": "0"
      },
      "proof": [
        {
          "direction": "Left",
          "hash": "7agjDTstRCDmAn4LvPnHDu8yxhbSWCD7VNhzr7nLq37N"
        },
        {
          "direction": "Left",
          "hash": "54QAYN39nMUp6uz6vhNbDNRbvAmk16mw7R1WvxnmG1Xr"
        }
      ]
    }
  ],
  "status": {
    "SuccessValue": ""
  },
  "transaction": {
    "actions": [
      "CreateAccount",
      {
        "Transfer": {
          "deposit": "5000000000000000000000000"
        }
      },
      {
        "AddKey": {
          "access_key": {
            "nonce": 0,
            "permission": "FullAccess"
          },
          "public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M"
        }
      }
    ],
    "hash": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
    "nonce": 187307146000001,
    "priority_fee": 0,
    "public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M",
    "receiver_id": "contract.rpc-examples.testnet",
    "signature": "ed25519:34NgQAukvyKajXFDB6XzKpfd2YDUo3QyTdkUeCgwm24J3dkju7Ejm71VRkRsJwdpKwH1HQWqSV2frnF26yQYEZpJ",
    "signer_id": "rpc-examples.testnet"
  },
  "transaction_outcome": {
    "block_hash": "G1xSnhtrDiaEZNef41kiY8ePQCAwsF2gyVcRNa7B6xaP",
    "id": "7AfonAhbK4ZbdBU9VPcQdrTZVZBXE25HmZAMEABs9To1",
    "outcome": {
      "executor_id": "rpc-examples.testnet",
      "gas_burnt": 4174947687500,
      "logs": [],
      "metadata": {
        "gas_profile": null,
        "version": 1
      },
      "receipt_ids": ["23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE"],
      "status": {
        "SuccessReceiptId": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE"
      },
      "tokens_burnt": "417494768750000000000"
    },
    "proof": [
      {
        "direction": "Left",
        "hash": "Ft2GVFu6zuQGbUU7DB7opgshYLPvuvfNnGqMAny1kgPj"
      },
      {
        "direction": "Left",
        "hash": "39hCSJBs64y18wcM8qtasQQnkfXYBhvHau3bEbULgV3E"
      },
      {
        "direction": "Right",
        "hash": "GkZCCuNqu2qpwd5Xwo2g4qwRvXXmgV2k71YM7EYhg5HK"
      }
    ]
  }
},
"id": "dontcare"
}
Error handling:
When making RPC API requests, you may encounter various errors related to network configuration, rate limiting, or request formatting. For comprehensive information about error types, causes, and solutions, see the RPC Errors documentation.
Receipt by ID
Description
Fetches a receipt by its ID (as is, without a status or execution outcome)
- method: 
EXPERIMENTAL_receipt - params:
receipt_id(see NearBlocks Explorer for a valid receipt id)
 
Example
- JSON
 - HTTPie
 - Lantstool
 
{
  "jsonrpc": "2.0",
  "id": "dontcare",
  "method": "EXPERIMENTAL_receipt",
  "params": {
    "receipt_id": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE"
  }
}
http POST https://rpc.testnet.near.org \
  jsonrpc=2.0 \
  id=dontcare \
  method=EXPERIMENTAL_receipt \
  params:='{"receipt_id": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE"}'
Try it out on Lantstool
Loading...
Example response:
{
  "jsonrpc": "2.0",
  "result": {
    "predecessor_id": "rpc-examples.testnet",
    "priority": 0,
    "receipt": {
      "Action": {
        "actions": [
          "CreateAccount",
          {
            "Transfer": {
              "deposit": "5000000000000000000000000"
            }
          },
          {
            "AddKey": {
              "access_key": {
                "nonce": 0,
                "permission": "FullAccess"
              },
              "public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M"
            }
          }
        ],
        "gas_price": "103000000",
        "input_data_ids": [],
        "is_promise_yield": false,
        "output_data_receivers": [],
        "signer_id": "rpc-examples.testnet",
        "signer_public_key": "ed25519:vJBU18AtvePANmepMoY3rtV3wt1RHwqoktak82E4d2M"
      }
    },
    "receipt_id": "23r1wWsMAVtZysr9wNV6TCSdZTUyPbhBZ3McJ6zStpaE",
    "receiver_id": "contract.rpc-examples.testnet"
  },
  "id": "dontcare"
}
Error handling:
When making RPC API requests, you may encounter various errors related to network configuration, rate limiting, or request formatting. For comprehensive information about error types, causes, and solutions, see the RPC Errors documentation.
Transaction Execution Levels
All the methods listed above have wait_until request parameter, and
final_execution_status response value. They correspond to the same enum
TxExecutionStatus. See the detailed explanation for all the options:
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum TxExecutionStatus {
  /// Transaction is waiting to be included into the block
  None,
  /// Transaction is included into the block. The block may be not finalized yet
  Included,
  /// Transaction is included into the block +
  /// All non-refund transaction receipts finished their execution.
  /// The corresponding blocks for tx and each receipt may be not finalized yet
  #[default]
  ExecutedOptimistic,
  /// Transaction is included into finalized block
  IncludedFinal,
  /// Transaction is included into finalized block +
  /// All non-refund transaction receipts finished their execution.
  /// The corresponding blocks for each receipt may be not finalized yet
  Executed,
  /// Transaction is included into finalized block +
  /// Execution of all transaction receipts is finalized, including refund receipts
  Final,
}
Waiting for a Transaction
When a transaction is submitted, it first gets validated by the RPC node. If the transaction fails structural checks it will be immediately rejected. Otherwise, it enters the following lifecycle:
- 
The transaction has been accepted by the RPC node and is waiting to be included in a block. If
wait_until = None, the RPC will return a response at this stage. The transaction hasn’t started executing yet, though it will typically start in the next block. - 
Once the transaction reaches a validator, it ensures a signature matches signer access key and that the account is charged gas pre-payment, then updates access key nonce. The transaction is included in a chunk/block and converted into a single receipt for execution. If
wait_until = Included, the RPC returns a response immediately indicating that the transaction has just started the execution (no execution results, logs, and outcomes are available at this point). - 
In the next blocks, the receipt will get executed and it may produce more receipts for cross-contract interactions. Once all receipts finish the execution, RPC returns a response if
wait_until = ExecutedOptimistic. - 
The block that contains the transaction has been finalized. This may occur even sooner than receipts execution finishes (depending on how many cross-contract interactions there), and when it finishes, the RPC returns a response if
wait_until = IncludedFinal. - 
Once the block that contains the transaction has been finalized and all receipts have completed execution (both
IncludedFinalandExecutedOptimisticare satisfied), then RPC returns a response ifwait_until = Executed. - 
Once blocks containing the transaction and all of its receipts are finalized, the RPC returns a response at this point if
wait_until = Final. 
Deprecated methods
[deprecated] Send transaction (async)
Description
Consider using send_tx instead
Sends a transaction and immediately returns transaction hash.
- method: 
broadcast_tx_async - params: [SignedTransaction encoded in base64]
 
Example
- JSON
 - HTTPie
 
{
  "jsonrpc": "2.0",
  "id": "dontcare",
  "method": "broadcast_tx_async",
  "params": [
    "DgAAAHNlbmRlci50ZXN0bmV0AOrmAai64SZOv9e/naX4W15pJx0GAap35wTT1T/DwcbbDwAAAAAAAAAQAAAAcmVjZWl2ZXIudGVzdG5ldNMnL7URB1cxPOu3G8jTqlEwlcasagIbKlAJlF5ywVFLAQAAAAMAAACh7czOG8LTAAAAAAAAAGQcOG03xVSFQFjoagOb4NBBqWhERnnz45LY4+52JgZhm1iQKz7qAdPByrGFDQhQ2Mfga8RlbysuQ8D8LlA6bQE="
  ]
}
http POST https://rpc.testnet.near.org \
  jsonrpc=2.0 \
  id=dontcare \
  method=broadcast_tx_async \
  params:='[
    "DgAAAHNlbmRlci50ZXN0bmV0AOrmAai64SZOv9e/naX4W15pJx0GAap35wTT1T/DwcbbDwAAAAAAAAAQAAAAcmVjZWl2ZXIudGVzdG5ldNMnL7URB1cxPOu3G8jTqlEwlcasagIbKlAJlF5ywVFLAQAAAAMAAACh7czOG8LTAAAAAAAAAGQcOG03xVSFQFjoagOb4NBBqWhERnnz45LY4+52JgZhm1iQKz7qAdPByrGFDQhQ2Mfga8RlbysuQ8D8LlA6bQE="
  ]'
Example response:
{
  "jsonrpc": "2.0",
  "result": "9yzcZFHqtKqTUPnz9dx2DfTjDnFemPEQjbgVqSBdnvKr",
  "id": "dontcare"
}
Error handling:
When making RPC API requests, you may encounter various errors related to network configuration, rate limiting, or request formatting. For comprehensive information about error types, causes, and solutions, see the RPC Errors documentation.
Final transaction results can be queried using Transaction Status
or NearBlocks Explorer using the above
result hash returning a result similar to the example below.

[deprecated] Send transaction (await)
Description
Consider using send_tx instead
Sends a transaction and waits until transaction is fully complete. (Has a 10 second timeout)
- method: 
broadcast_tx_commit - params: 
[SignedTransaction encoded in base64] 
Example
- JSON
 - HTTPie
 
{
  "jsonrpc": "2.0",
  "id": "dontcare",
  "method": "broadcast_tx_commit",
  "params": [
    "DgAAAHNlbmRlci50ZXN0bmV0AOrmAai64SZOv9e/naX4W15pJx0GAap35wTT1T/DwcbbDQAAAAAAAAAQAAAAcmVjZWl2ZXIudGVzdG5ldIODI4YfV/QS++blXpQYT+bOsRblTRW4f547y/LkvMQ9AQAAAAMAAACh7czOG8LTAAAAAAAAAAXcaTJzu9GviPT7AD4mNJGY79jxTrjFLoyPBiLGHgBi8JK1AnhK8QknJ1ourxlvOYJA2xEZE8UR24THmSJcLQw="
  ]
}
http POST https://rpc.testnet.near.org \
  jsonrpc=2.0 \
  id=dontcare \
  method=broadcast_tx_commit \
  params:='[
    "DwAAAG5lYXJrYXQudGVzdG5ldABuTi5L1rwnlb35hc9tn5WELkxfiGfGh1Q5aeGNQDejo0QAAAAAAAAAEAAAAGpvc2hmb3JkLnRlc3RuZXSiWAc6W9KlqXS5fK+vjFRDV5pAxHRKU0srKX/cmdRTBgEAAAADAAAAoe3MzhvC0wAAAAAAAAB9rOE9zc5zQYLL1j6VTh3I4fQbERs6I07gJfrAC6jo8DB4HolR9Xps3v4qrZxkgZjwv6wB0QOROM4UEbeOaBoB"
  ]'
Example response:
{
  "jsonrpc": "2.0",
  "result": {
    "final_execution_status": "FINAL",
    "status": {
      "SuccessValue": ""
    },
    "transaction": {
      "signer_id": "sender.testnet",
      "public_key": "ed25519:Gowpa4kXNyTMRKgt5W7147pmcc2PxiFic8UHW9rsNvJ6",
      "nonce": 13,
      "receiver_id": "receiver.testnet",
      "actions": [
        {
          "Transfer": {
            "deposit": "1000000000000000000000000"
          }
        }
      ],
      "signature": "ed25519:7oCBMfSHrZkT7tzPDBxxCd3tWFhTES38eks3MCZMpYPJRfPWKxJsvmwQiVBBxRLoxPTnXVaMU2jPV3MdFKZTobH",
      "hash": "ASS7oYwGiem9HaNwJe6vS2kznx2CxueKDvU9BAYJRjNR"
    },
    "transaction_outcome": {
      "proof": [],
      "block_hash": "9MzuZrRPW1BGpFnZJUJg6SzCrixPpJDfjsNeUobRXsLe",
      "id": "ASS7oYwGiem9HaNwJe6vS2kznx2CxueKDvU9BAYJRjNR",
      "outcome": {
        "logs": [],
        "receipt_ids": ["BLV2q6p8DX7pVgXRtGtBkyUNrnqkNyU7iSksXG7BjVZh"],
        "gas_burnt": 223182562500,
        "tokens_burnt": "22318256250000000000",
        "executor_id": "sender.testnet",
        "status": {
          "SuccessReceiptId": "BLV2q6p8DX7pVgXRtGtBkyUNrnqkNyU7iSksXG7BjVZh"
        }
      }
    },
    "receipts_outcome": [
      {
        "proof": [],
        "block_hash": "5Hpj1PeCi32ZkNXgiD1DrW4wvW4Xtic74DJKfyJ9XL3a",
        "id": "BLV2q6p8DX7pVgXRtGtBkyUNrnqkNyU7iSksXG7BjVZh",
        "outcome": {
          "logs": [],
          "receipt_ids": ["3sawynPNP8UkeCviGqJGwiwEacfPyxDKRxsEWPpaUqtR"],
          "gas_burnt": 223182562500,
          "tokens_burnt": "22318256250000000000",
          "executor_id": "receiver.testnet",
          "status": {
            "SuccessValue": ""
          }
        }
      }
    ]
  },
  "id": "dontcare"
}
Error handling:
When making RPC API requests, you may encounter various errors related to network configuration, rate limiting, or request formatting. For comprehensive information about error types, causes, and solutions, see the RPC Errors documentation.
Error Handling
Common Error Types
| Error Code | Description | Solution | 
|---|---|---|
UnknownTransaction | Transaction not found | Verify transaction hash and sender account | 
TimeoutError | Transaction timeout | Use appropriate wait_until parameter or retry | 
InvalidTransaction | Invalid transaction format | Check transaction structure and signature | 
InvalidAccount | Invalid account format | Use valid account ID format (e.g., account.near) | 
InsufficientStake | Not enough stake for operation | Ensure account has sufficient NEAR tokens | 
MethodNotFound | Invalid method name | Check method spelling and API version | 
ParseError | JSON parsing error | Verify JSON format and structure | 
ServerError | Internal server error | Retry request or use different RPC endpoint | 
Best Practices
- 
Use appropriate wait_until levels: Choose the right execution level based on your requirements
NONE: For fire-and-forget scenariosINCLUDED: When you need confirmation the transaction is in a blockEXECUTED_OPTIMISTIC: For most use cases (default)FINAL: When you need absolute finality guarantees
 - 
Handle timeouts gracefully: Implement proper timeout handling and retry logic
 - 
Monitor gas usage: Track gas consumption to optimize transaction costs
 - 
Batch operations: When possible, batch multiple actions in a single transaction