Monad Monad JSON RPC API API

The Monad JSON RPC API API from Monad — 1 operation(s) for monad json rpc api.

OpenAPI Specification

monad-monad-json-rpc-api-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Monad JSON-RPC Monad JSON RPC API API
  version: 2026-05
  description: 'Ethereum-compatible JSON-RPC API for the Monad blockchain. Mainnet (chain

    ID 143, native token MON) is reachable at `https://rpc.monad.xyz`; the

    public testnet is reachable at `https://testnet-rpc.monad.xyz`. WebSocket

    variants of each endpoint are available via the `wss://` scheme.


    All JSON-RPC requests are made by `POST`ing a JSON body to the RPC URL.

    Public endpoints are unauthenticated and rate limited (mainnet default is

    25 requests per second on `rpc.monad.xyz`).

    '
  contact:
    name: Monad
    url: https://docs.monad.xyz
servers:
- url: https://rpc.monad.xyz
  description: Monad mainnet (QuickNode public RPC, 25 rps)
- url: https://rpc1.monad.xyz
  description: Monad mainnet (Alchemy public RPC, 15 rps; debug_*/trace_* disabled)
- url: https://rpc2.monad.xyz
  description: Monad mainnet (Goldsky Edge, 300 per 10s)
- url: https://rpc3.monad.xyz
  description: Monad mainnet (Ankr, 300 per 10s; debug_* disabled)
- url: https://testnet-rpc.monad.xyz
  description: Monad public testnet
tags:
- name: Monad JSON RPC API
paths:
  /:
    post:
      operationId: jsonRpcCall
      summary: JSON-RPC call
      description: 'Invoke a JSON-RPC method against the Monad node. Supported methods

        include Ethereum-standard `eth_*`, `net_*`, `web3_*`, plus

        Monad-specific extensions and `debug_*`/`trace_*` methods (subject to

        endpoint-specific availability — Alchemy disables `debug_`/`trace_`,

        Ankr disables `debug_`).

        '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              eth_blockNumber:
                summary: Latest block number
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_blockNumber
                  params: []
              eth_chainId:
                summary: Chain ID
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_chainId
                  params: []
              eth_getBalance:
                summary: Account balance at latest block
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_getBalance
                  params:
                  - '0x0000000000000000000000000000000000000000'
                  - latest
              eth_call:
                summary: Read-only contract call
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_call
                  params:
                  - to: '0x0000000000000000000000000000000000000000'
                    data: 0x
                  - latest
              eth_getLogs:
                summary: Query event logs
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_getLogs
                  params:
                  - fromBlock: latest
                    toBlock: latest
                    address: '0x0000000000000000000000000000000000000000'
              eth_sendRawTransaction:
                summary: Submit a signed transaction
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_sendRawTransaction
                  params:
                  - 0x...
              eth_getTransactionByHash:
                summary: Fetch a transaction by hash
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_getTransactionByHash
                  params:
                  - '0x0000000000000000000000000000000000000000000000000000000000000000'
              eth_getBlockByNumber:
                summary: Fetch a block by number
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_getBlockByNumber
                  params:
                  - latest
                  - false
              eth_estimateGas:
                summary: Estimate gas for a call
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_estimateGas
                  params:
                  - to: '0x0000000000000000000000000000000000000000'
                    data: 0x
              eth_feeHistory:
                summary: Recent fee history
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: eth_feeHistory
                  params:
                  - 4
                  - latest
                  - - 25
                    - 50
                    - 75
              net_version:
                summary: Network ID
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: net_version
                  params: []
              web3_clientVersion:
                summary: Client version string
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: web3_clientVersion
                  params: []
              debug_traceTransaction:
                summary: Trace a transaction (where supported)
                value:
                  jsonrpc: '2.0'
                  id: 1
                  method: debug_traceTransaction
                  params:
                  - '0x0000000000000000000000000000000000000000000000000000000000000000'
                  - tracer: callTracer
      responses:
        '200':
          description: JSON-RPC response (success or JSON-RPC error)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonRpcResponse'
        '429':
          description: Rate limit exceeded
      tags:
      - Monad JSON RPC API
components:
  schemas:
    JsonRpcResponse:
      type: object
      required:
      - jsonrpc
      - id
      properties:
        jsonrpc:
          type: string
          const: '2.0'
        id:
          oneOf:
          - type: integer
          - type: string
          - type: 'null'
        result: {}
        error:
          type: object
          properties:
            code:
              type: integer
            message:
              type: string
            data: {}
    JsonRpcRequest:
      type: object
      required:
      - jsonrpc
      - method
      - id
      properties:
        jsonrpc:
          type: string
          const: '2.0'
        method:
          type: string
          description: 'Supported methods include `eth_blockNumber`, `eth_chainId`,

            `eth_getBalance`, `eth_getCode`, `eth_getStorageAt`,

            `eth_getTransactionCount`, `eth_call`, `eth_estimateGas`,

            `eth_gasPrice`, `eth_maxPriorityFeePerGas`, `eth_feeHistory`,

            `eth_getBlockByHash`, `eth_getBlockByNumber`,

            `eth_getBlockReceipts`, `eth_getTransactionByHash`,

            `eth_getTransactionReceipt`, `eth_getLogs`,

            `eth_sendRawTransaction`, `eth_sendRawTransactionSync`,

            `eth_createAccessList`, `net_version`, `web3_clientVersion`,

            `debug_traceTransaction`, `debug_traceCall`,

            `debug_traceBlockByHash`, `txpool_statusByAddress`,

            `txpool_statusByHash`, and `admin_ethCallStatistics`.

            '
        params:
          type: array
          items: {}
        id:
          oneOf:
          - type: integer
          - type: string