openapi: 3.1.0
info:
  title: "NEAR Protocol RPC: Send transaction"
  description: Broadcast a base64-encoded `SignedTransaction`; blocks until the execution outcome specified by `wait_until`. Example payloads are placeholders and cannot be replayed.
  version: 1.0.0
servers:
  - url: https://rpc.mainnet.fastnear.com
    description: Mainnet
  - url: https://rpc.testnet.fastnear.com
    description: Testnet
  - url: https://archival-rpc.mainnet.fastnear.com
    description: Mainnet Archival
  - url: https://archival-rpc.testnet.fastnear.com
    description: Testnet Archival
paths:
  /:
    post:
      operationId: send_tx
      summary: Send transaction
      description: Broadcast a base64-encoded `SignedTransaction`; blocks until the execution outcome specified by `wait_until`. Example payloads are placeholders and cannot be replayed.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - id
                - method
                - params
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - "2.0"
                id:
                  type: string
                  example: fastnear
                method:
                  type: string
                  enum:
                    - send_tx
                params:
                  type: object
                  properties:
                    signed_tx_base64:
                      type: string
                      description: Base64-encoded signed transaction
                    wait_until:
                      type: string
                      enum:
                        - NONE
                        - INCLUDED
                        - INCLUDED_FINAL
                        - EXECUTED
                        - EXECUTED_OPTIMISTIC
                        - FINAL
                      description: Desired level of execution status guarantee
                      default: EXECUTED_OPTIMISTIC
                  required:
                    - signed_tx_base64
            examples:
              mainnet:
                summary: Send transaction (Mainnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: send_tx
                  params:
                    signed_tx_base64: CQAAAG1pa2UubmVhcgBPiSiO5F7KYuZ9VQ2eF6/b9dXqrBUBxDs2AuXiQZw8DgEAAAAAAAAADQAAAG1pa2V0ZXN0Lm5lYXKwzpn8eLLqwzoVC5PlcvpzSXj65ke9WN3TLsRpndusbgEAAAADAQAAAAAAAAAAAAAAAAAAAAC7RkXLWjBx/qplpt/RT2uwQWvrovT3+6ef0BG1LU5OahlAsFmjEsuOv8rg4JI8TXOkg16oXljReiM4KU41yHYM
                    wait_until: EXECUTED_OPTIMISTIC
              testnet:
                summary: Send transaction (Testnet)
                value:
                  jsonrpc: "2.0"
                  id: fastnear
                  method: send_tx
                  params:
                    signed_tx_base64: DAAAAG1pa2UudGVzdG5ldABpWDhNQVV7BkV62S5Hbdm5jBNjKhV1eGJAHSwC6iwNqgEAAAAAAAAAEAAAAG1pa2V0ZXN0LnRlc3RuZXQlxP80whXgLsNL4raSbYLM3YKFSTxZTp6FZcg8ExwGpwEAAAADAQAAAAAAAAAAAAAAAAAAAADLrZ/qNwNTZoXF4ALlKxLeC0nfTZol2HyyY0XoChnSNATaQ27bP5HM90mAhgq4OI7Zo+k3GQ1CxC3bGUqbhMcD
                    wait_until: EXECUTED_OPTIMISTIC
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JsonRpcResponse"
        "403":
          description: The supplied API key was not recognized.
          content:
            text/plain:
              schema:
                type: string
              example: Invalid API key
security:
  - {}
  - BearerAuth: []
  - ApiKeyAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: "FastNEAR API key as an `Authorization: Bearer` header. Preferred for backends, workers, and proxies because it keeps the key out of URLs and logs."
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey
      description: FastNEAR API key as the `apiKey` query parameter. Handy for curl or clients that cannot set headers, but the key can end up in URLs, logs, and shell history.
  schemas:
    JsonRpcResponse:
      type: object
      required:
        - jsonrpc
        - id
      properties:
        jsonrpc:
          type: string
          enum:
            - "2.0"
        id:
          oneOf:
            - type: string
            - type: number
        result:
          type: object
          properties:
            final_execution_status:
              type: string
              enum:
                - NONE
                - INCLUDED
                - INCLUDED_FINAL
                - EXECUTED
                - EXECUTED_OPTIMISTIC
                - FINAL
              description: Desired level of execution status guarantee
            receipts:
              type: array
              items:
                type: object
              description: Receipts generated from the transaction
            receipts_outcome:
              type: array
              items:
                type: object
              description: The execution outcome of receipts.
            status:
              type: object
              description: One of multiple possible types
            transaction:
              type: object
              description: Signed Transaction
            transaction_outcome:
              type: object
              description: The execution outcome of the signed transaction.
          required:
            - final_execution_status
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data:
              type: object
