---
title: "POST /broadcast_tx_async"
method: POST
path: "/broadcast_tx_async"
---

# POST /broadcast_tx_async

`POST /broadcast_tx_async`

[Deprecated] Sends a transaction and immediately returns transaction hash. Consider using send_tx instead.

## Request body

- JsonRpcRequestForBroadcastTxAsync
  - `id` string — JSON-RPC request id. Auto-populated; can be any string.
  - `jsonrpc` '2.0' — JSON-RPC protocol version. Always `2.0`.
  - `method` 'broadcast_tx_async', required
  - `params` RpcSendTransactionRequest, required
    - `signed_tx_base64` string, byte, required
    - `wait_until` 'NONE' | 'INCLUDED' | 'EXECUTED_OPTIMISTIC' | 'INCLUDED_FINAL' | 'EXECUTED' | 'FINAL' — How long the RPC should wait before returning a transaction result. Each value waits for a stricter execution milestone than the previous one. Defaults to `EXECUTED_OPTIMISTIC`. - `NONE`: Transaction is waiting to be included into a block. - `INCLUDED`: Transaction is included in a block (block may not be finalized). - `EXECUTED_OPTIMISTIC` (default): Included + all non-refund receipts executed (blocks may not be finalized). - `INCLUDED_FINAL`: Transaction is included in a finalized block. - `EXECUTED`: Included in a finalized block + all non-refund receipts executed. - `FINAL`: Included in a finalized block + all receipts (including refunds) finalized.

## Response `200`

- union
  - object
    - `result` string, required
    - `id` string, required
    - `jsonrpc` string, required
  - object
    - `error` union, required
      - object
        - `cause` union, required
          - object
            - `info` object, required
              - …
            - `name` 'METHOD_NOT_FOUND', required
          - object
            - `info` object, required
              - …
            - `name` 'PARSE_ERROR', required
        - `name` 'REQUEST_VALIDATION_ERROR', required
      - object
        - `cause` union, required
          - object
            - `info` object, required
            - `name` 'INVALID_TRANSACTION', required
          - object
            - `name` 'DOES_NOT_TRACK_SHARD', required
          - object
            - `info` object, required
              - …
            - `name` 'REQUEST_ROUTED', required
          - object
            - `info` object, required
              - …
            - `name` 'UNKNOWN_TRANSACTION', required
          - object
            - `info` object, required
              - …
            - `name` 'INTERNAL_ERROR', required
          - object — `None` when the response comes from a node running an older version that omitted the cause, so newer clients can still parse it.
            - `info` union
              - …
            - `name` 'TIMEOUT_ERROR', required
        - `name` 'HANDLER_ERROR', required
      - object
        - `cause` InternalError, required
          - `info` object, required
            - `error_message` string, required
          - `name` 'INTERNAL_ERROR', required
        - `name` 'INTERNAL_ERROR', required
    - `id` string, required
    - `jsonrpc` string, required

## Changes

- **2026-09-03** `4a6c7147e1c3` — 9 breaking, 9 info
  - added `subschema #1, subschema #2` to the `oneOf[subschema #2]/error/oneOf[subschema #2]/cause/oneOf[subschema #6]/info/anyOf[#/components/schemas/TimeoutErrorCause]/oneOf[subschema #2]/status/anyOf[#/components/schemas/FinalExecutionOutcomeView]/receipts_outcome/items/outcome/status/allOf[#/components/schemas/ExecutionStatusView]/oneOf[subschema #2]/Failure` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `oneOf[subschema #2]/error/oneOf[subschema #2]/cause/oneOf[subschema #6]/info/anyOf[#/components/schemas/TimeoutErrorCause]/oneOf[subschema #2]/status/anyOf[#/components/schemas/FinalExecutionOutcomeView]/status/allOf[#/components/schemas/FinalExecutionStatus]/oneOf[subschema #3]/Failure` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `oneOf[subschema #2]/error/oneOf[subschema #2]/cause/oneOf[subschema #6]/info/anyOf[#/components/schemas/TimeoutErrorCause]/oneOf[subschema #2]/status/anyOf[#/components/schemas/FinalExecutionOutcomeView]/transaction_outcome/allOf[#/components/schemas/ExecutionOutcomeWithIdView]/outcome/status/allOf[#/components/schemas/ExecutionStatusView]/oneOf[subschema #2]/Failure` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2` to the `oneOf[subschema #2]/error/oneOf[subschema #2]/cause/oneOf[subschema #6]/info/anyOf[#/components/schemas/TimeoutErrorCause]/oneOf[subschema #2]/status/anyOf[#/components/schemas/FinalExecutionOutcomeWithReceiptView]/receipts_outcome/items/outcome/status/allOf[#/components/schemas/ExecutionStatusView]/oneOf[subschema #2]/Failure` response property `oneOf` list for the response status `200`
  - …14 more
- …earlier changes not shown

[Full history](https://skmtc.dev/near/apis/near-protocol-json-rpc-api/changes/broadcast_tx_async/post.md)

---

[API](https://skmtc.dev/near/apis/near-protocol-json-rpc-api.md) · [All operations](https://skmtc.dev/near/apis/near-protocol-json-rpc-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/near/near-protocol-json-rpc-api/revisions/4a6c7147e1c3/schema)
