---
title: "Broadcast Transaction"
method: POST
path: "/broadcast_tx_commit"
---

# Broadcast Transaction

`POST /broadcast_tx_commit`

[Deprecated] Sends a transaction and waits until transaction is fully complete. (Has a 10 second timeout). Consider using send_tx instead.

## Request body

- JsonRpcRequestForBroadcastTxCommit
  - `id` string, required
  - `jsonrpc` string, required
  - `method` 'broadcast_tx_commit', required
  - `params` RpcSendTransactionRequest, required
    - `signed_tx_base64` string, byte, required
    - `wait_until` union
      - 'NONE' — Transaction is waiting to be included into the block
      - 'INCLUDED' — Transaction is included into the block. The block may be not finalized yet
      - 'EXECUTED_OPTIMISTIC' — 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
      - 'INCLUDED_FINAL' — Transaction is included into finalized block
      - 'EXECUTED' — 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
      - 'FINAL' — Transaction is included into finalized block + Execution of all transaction receipts is finalized, including refund receipts

## Response `200`

- union
  - object
    - `result` union, required
      - object — Final execution outcome of the transaction and all of subsequent the receipts. Also includes the generated receipt.
        - `receipts` ReceiptView[], required — Receipts generated from the transaction
          - `predecessor_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
          - `priority` integer — Deprecated, retained for backward compatibility.
          - `receipt` union, required
            - ReceiptEnumViewVariant0
              - …
            - ReceiptEnumViewVariant1
              - …
            - ReceiptEnumViewVariant2
              - …
          - `receipt_id` string, required
          - `receiver_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
        - `receipts_outcome` ExecutionOutcomeWithIdView[], required — The execution outcome of receipts.
          - `block_hash` string, required
          - `id` string, required
          - `outcome` ExecutionOutcomeView, required
            - `executor_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
            - `gas_burnt` integer, required
            - `logs` string[], required — Logs from this transaction or receipt.
            - `metadata` ExecutionMetadataView
              - …
            - `receipt_ids` CryptoHash[], required — Receipt IDs generated by this transaction or receipt.
            - `status` union, required
              - …
            - `tokens_burnt` string, required
          - `proof` MerklePathItem[], required
            - `direction` 'Left' | 'Right', required
            - `hash` string, required
        - `status` union, required
          - 'NotStarted' — The execution has not yet started.
          - 'Started' — The execution has started and still going.
          - FinalExecutionStatusVariant2 — The execution has failed with the given error.
            - `Failure` union, required — Error returned in the ExecutionOutcome in case of failure
              - …
          - FinalExecutionStatusVariant3 — The execution has succeeded and returned some value or an empty vec encoded in base64.
            - `SuccessValue` string, required
        - `transaction` SignedTransactionView, required
          - `actions` ActionView[], required
            - union
              - …
          - `hash` string, required
          - `nonce` integer, required
          - `nonce_index` integer, nullable
          - `priority_fee` integer — Deprecated, retained for backward compatibility.
          - `public_key` string, required
          - `receiver_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
          - `signature` string, required
          - `signer_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
        - `transaction_outcome` ExecutionOutcomeWithIdView, required
          - `block_hash` string, required
          - `id` string, required
          - `outcome` ExecutionOutcomeView, required
            - `executor_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
            - `gas_burnt` integer, required
            - `logs` string[], required — Logs from this transaction or receipt.
            - `metadata` ExecutionMetadataView
              - …
            - `receipt_ids` CryptoHash[], required — Receipt IDs generated by this transaction or receipt.
            - `status` union, required
              - …
            - `tokens_burnt` string, required
          - `proof` MerklePathItem[], required
            - `direction` 'Left' | 'Right', required
            - `hash` string, required
        - `final_execution_status` union, required
          - 'NONE' — Transaction is waiting to be included into the block
          - 'INCLUDED' — Transaction is included into the block. The block may be not finalized yet
          - 'EXECUTED_OPTIMISTIC' — 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
          - 'INCLUDED_FINAL' — Transaction is included into finalized block
          - 'EXECUTED' — 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
          - 'FINAL' — Transaction is included into finalized block + Execution of all transaction receipts is finalized, including refund receipts
      - object — Execution outcome of the transaction and all the subsequent receipts. Could be not finalized yet
        - `receipts_outcome` ExecutionOutcomeWithIdView[], required — The execution outcome of receipts.
          - `block_hash` string, required
          - `id` string, required
          - `outcome` ExecutionOutcomeView, required
            - `executor_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
            - `gas_burnt` integer, required
            - `logs` string[], required — Logs from this transaction or receipt.
            - `metadata` ExecutionMetadataView
              - …
            - `receipt_ids` CryptoHash[], required — Receipt IDs generated by this transaction or receipt.
            - `status` union, required
              - …
            - `tokens_burnt` string, required
          - `proof` MerklePathItem[], required
            - `direction` 'Left' | 'Right', required
            - `hash` string, required
        - `status` union, required
          - 'NotStarted' — The execution has not yet started.
          - 'Started' — The execution has started and still going.
          - FinalExecutionStatusVariant2 — The execution has failed with the given error.
            - `Failure` union, required — Error returned in the ExecutionOutcome in case of failure
              - …
          - FinalExecutionStatusVariant3 — The execution has succeeded and returned some value or an empty vec encoded in base64.
            - `SuccessValue` string, required
        - `transaction` SignedTransactionView, required
          - `actions` ActionView[], required
            - union
              - …
          - `hash` string, required
          - `nonce` integer, required
          - `nonce_index` integer, nullable
          - `priority_fee` integer — Deprecated, retained for backward compatibility.
          - `public_key` string, required
          - `receiver_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
          - `signature` string, required
          - `signer_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
        - `transaction_outcome` ExecutionOutcomeWithIdView, required
          - `block_hash` string, required
          - `id` string, required
          - `outcome` ExecutionOutcomeView, required
            - `executor_id` string, required — NEAR Account Identifier. This is a unique, syntactically valid, human-readable account identifier on the NEAR network. [See the crate-level docs for information about validation.](index.html#account-id-rules) Also see [Error kind precedence](AccountId#error-kind-precedence). ## Examples ``` use near_account_id::AccountId; let alice: AccountId = "alice.near".parse().unwrap(); assert!("ƒelicia.near".parse::<AccountId>().is_err()); // (ƒ is not f) ```
            - `gas_burnt` integer, required
            - `logs` string[], required — Logs from this transaction or receipt.
            - `metadata` ExecutionMetadataView
              - …
            - `receipt_ids` CryptoHash[], required — Receipt IDs generated by this transaction or receipt.
            - `status` union, required
              - …
            - `tokens_burnt` string, required
          - `proof` MerklePathItem[], required
            - `direction` 'Left' | 'Right', required
            - `hash` string, required
        - `final_execution_status` union, required
          - 'NONE' — Transaction is waiting to be included into the block
          - 'INCLUDED' — Transaction is included into the block. The block may be not finalized yet
          - 'EXECUTED_OPTIMISTIC' — 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
          - 'INCLUDED_FINAL' — Transaction is included into finalized block
          - 'EXECUTED' — 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
          - 'FINAL' — Transaction is included into finalized block + Execution of all transaction receipts is finalized, including refund receipts
      - object
        - `final_execution_status` union, required
          - 'NONE' — Transaction is waiting to be included into the block
          - 'INCLUDED' — Transaction is included into the block. The block may be not finalized yet
          - 'EXECUTED_OPTIMISTIC' — 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
          - 'INCLUDED_FINAL' — Transaction is included into finalized block
          - 'EXECUTED' — 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
          - 'FINAL' — Transaction is included into finalized block + Execution of all transaction receipts is finalized, including refund receipts
    - `id` string, required
    - `jsonrpc` string, required
  - object
    - `error` union, required
      - ErrorWrapperForRpcTransactionErrorVariant0
        - `cause` union, required
          - RpcRequestValidationErrorKindVariant0
            - `info` object, required
              - …
            - `name` 'METHOD_NOT_FOUND', required
          - RpcRequestValidationErrorKindVariant1
            - `info` object, required
              - …
            - `name` 'PARSE_ERROR', required
        - `name` 'REQUEST_VALIDATION_ERROR', required
      - ErrorWrapperForRpcTransactionErrorVariant1
        - `cause` union, required
          - RpcTransactionErrorVariant0
            - `info` object, required
            - `name` 'INVALID_TRANSACTION', required
          - RpcTransactionErrorVariant1
            - `name` 'DOES_NOT_TRACK_SHARD', required
          - RpcTransactionErrorVariant2
            - `info` object, required
              - …
            - `name` 'REQUEST_ROUTED', required
          - RpcTransactionErrorVariant3
            - `info` object, required
              - …
            - `name` 'UNKNOWN_TRANSACTION', required
          - RpcTransactionErrorVariant4
            - `info` object, required
              - …
            - `name` 'INTERNAL_ERROR', required
          - RpcTransactionErrorVariant5
            - `name` 'TIMEOUT_ERROR', required
        - `name` 'HANDLER_ERROR', required
      - ErrorWrapperForRpcTransactionErrorVariant2
        - `cause` InternalError, required
          - `info` object, required
            - `error_message` string, required
          - `name` 'INTERNAL_ERROR', required
        - `name` 'INTERNAL_ERROR', required
    - `id` string, required
    - `jsonrpc` string, required

---

[API](https://skmtc.net/near/apis/near-protocol-json-rpc-api-2.md) · [All operations](https://skmtc.net/near/apis/near-protocol-json-rpc-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/near/near-protocol-json-rpc-api-2/versions/2985730b17e5/schema)
