DERO Project Json Rpc API

The Json Rpc API from DERO Project — 1 operation(s) for json rpc.

Operations 1

POST /json_rpc JSON-RPC Endpoint #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/derod-org:derod-org-json-rpc-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

derod-org-json-rpc-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DERO Blockchain RPC Json Rpc API
  version: 142.0.0
  description: 'Curated OpenAPI subset for AI agent discovery (not a complete RPC catalog). Full method reference: https://derod.org/rpc-api/daemon-rpc-api and https://derod.org/rpc-api/wallet-rpc-api


    JSON-RPC API for interacting with DERO blockchain nodes and wallets. DERO is a privacy-focused blockchain with homomorphic encryption that enables private smart contracts and encrypted transactions.


    ## Network Endpoints

    - **Daemon Mainnet**: http://localhost:10102/json_rpc (run your own node)

    - **Daemon Testnet**: http://localhost:40402/json_rpc

    - **Wallet Mainnet**: http://localhost:10103/json_rpc

    - **Wallet Testnet**: http://localhost:40403/json_rpc


    ## Authentication

    Wallet RPC requires the `--rpc-server` flag and optionally `--rpc-login=user:pass` for basic auth.'
  contact:
    name: DERO Community
    url: https://derod.org
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: http://localhost:10102
  description: Local DERO Mainnet Daemon (default; run your own node)
- url: http://localhost:40402
  description: Local DERO Testnet Daemon
- url: http://localhost:10103
  description: Local DERO Mainnet Wallet
- url: http://localhost:40403
  description: Local DERO Testnet Wallet
tags:
- name: Json Rpc
paths:
  /json_rpc:
    post:
      summary: JSON-RPC Endpoint
      description: All DERO RPC methods are called via POST to /json_rpc with a JSON-RPC 2.0 payload.
      operationId: jsonRpc
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getInfo:
                summary: Get blockchain info
                value:
                  jsonrpc: '2.0'
                  id: '1'
                  method: DERO.GetInfo
              getBalance:
                summary: Get wallet balance
                value:
                  jsonrpc: '2.0'
                  id: '1'
                  method: GetBalance
              getSC:
                summary: Get smart contract
                value:
                  jsonrpc: '2.0'
                  id: '1'
                  method: DERO.GetSC
                  params:
                    scid: '0000000000000000000000000000000000000000000000000000000000000001'
                    code: true
                    variables: true
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonRpcResponse'
      tags:
      - Json Rpc
components:
  schemas:
    NameToAddressParams:
      type: object
      description: Parameters for DERO.NameToAddress
      required:
      - name
      - topoheight
      properties:
        name:
          type: string
          description: Registered name to look up
        topoheight:
          type: integer
          description: Topo height (-1 for latest)
    GetBlockParams:
      type: object
      description: Parameters for DERO.GetBlock
      properties:
        hash:
          type: string
          description: Block hash (hex string)
        height:
          type: integer
          description: Block height
    JsonRpcError:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
    Argument:
      type: object
      description: RPC argument for SC calls
      required:
      - name
      - datatype
      - value
      properties:
        name:
          type: string
          description: Argument name
        datatype:
          type: string
          enum:
          - S
          - U
          - H
          description: 'Data type: S=String, U=Uint64, H=Hash'
        value:
          oneOf:
          - type: string
          - type: integer
          description: Argument value
    TransferParams:
      type: object
      description: Parameters for transfer (Wallet RPC)
      properties:
        transfers:
          type: array
          items:
            $ref: '#/components/schemas/Transfer'
        ringsize:
          type: integer
          description: Ring size for privacy (2-128, powers of 2)
          minimum: 2
          maximum: 128
        fees:
          type: integer
          description: Transaction fees in atomic units
    JsonRpcResponse:
      type: object
      properties:
        jsonrpc:
          type: string
          enum:
          - '2.0'
        id:
          type: string
        result:
          type: object
        error:
          $ref: '#/components/schemas/JsonRpcError'
    GetTransfersParams:
      type: object
      description: Parameters for GetTransfers (Wallet RPC)
      properties:
        scid:
          type: string
          description: Filter by asset SCID
        coinbase:
          type: boolean
          description: Include coinbase transactions
        in:
          type: boolean
          description: Include incoming transfers
        out:
          type: boolean
          description: Include outgoing transfers
        min_height:
          type: integer
          description: Minimum block height
        max_height:
          type: integer
          description: Maximum block height
        sender:
          type: string
          description: Filter by sender address
        receiver:
          type: string
          description: Filter by receiver address
    Transfer:
      type: object
      description: A single transfer destination
      properties:
        scid:
          type: string
          description: Asset SCID (0x00...00 for native DERO)
        destination:
          type: string
          description: Recipient DERO address
        amount:
          type: integer
          description: Amount in atomic units (1 DERO = 100000)
        burn:
          type: integer
          description: Amount to burn
        payload_rpc:
          type: array
          items:
            $ref: '#/components/schemas/Argument'
    SCInvokeParams:
      type: object
      description: Parameters for scinvoke (Smart Contract Invoke)
      required:
      - scid
      - sc_rpc
      properties:
        scid:
          type: string
          description: Smart Contract ID to call
        sc_rpc:
          type: array
          items:
            $ref: '#/components/schemas/Argument'
          description: SC call arguments including entrypoint
        sc_dero_deposit:
          type: integer
          description: DERO to deposit (atomic units)
        sc_token_deposit:
          type: integer
          description: Token to deposit (atomic units)
        ringsize:
          type: integer
          description: Ring size for privacy
    JsonRpcRequest:
      type: object
      required:
      - jsonrpc
      - id
      - method
      properties:
        jsonrpc:
          type: string
          enum:
          - '2.0'
          description: JSON-RPC version
        id:
          type: string
          description: Request identifier
        method:
          type: string
          description: RPC method name
          enum:
          - DERO.Echo
          - DERO.Ping
          - DERO.GetInfo
          - DERO.GetBlock
          - DERO.GetBlockHeaderByTopoHeight
          - DERO.GetBlockHeaderByHash
          - DERO.GetTxPool
          - DERO.GetRandomAddress
          - DERO.GetTransaction
          - DERO.SendRawTransaction
          - DERO.SubmitBlock
          - DERO.GetHeight
          - DERO.GetBlockCount
          - DERO.GetLastBlockHeader
          - DERO.GetBlockTemplate
          - DERO.GetEncryptedBalance
          - DERO.GetSC
          - DERO.GetGasEstimate
          - DERO.NameToAddress
          - Echo
          - GetAddress
          - GetBalance
          - GetHeight
          - GetTransferbyTXID
          - GetTransfers
          - MakeIntegratedAddress
          - SplitIntegratedAddress
          - QueryKey
          - transfer
          - scinvoke
        params:
          oneOf:
          - $ref: '#/components/schemas/GetBlockParams'
          - $ref: '#/components/schemas/GetSCParams'
          - $ref: '#/components/schemas/TransferParams'
          - $ref: '#/components/schemas/SCInvokeParams'
          - $ref: '#/components/schemas/GetEncryptedBalanceParams'
          - $ref: '#/components/schemas/GetGasEstimateParams'
          - $ref: '#/components/schemas/NameToAddressParams'
          - $ref: '#/components/schemas/GetTransfersParams'
          - type: array
            items:
              type: string
    GetGasEstimateParams:
      type: object
      description: Parameters for DERO.GetGasEstimate
      properties:
        transfers:
          type: array
          items:
            $ref: '#/components/schemas/Transfer'
        sc:
          type: string
          description: Smart contract code to deploy
        sc_rpc:
          type: array
          items:
            $ref: '#/components/schemas/Argument'
          description: SC call arguments
        signer:
          type: string
          description: Signer address for estimation
    GetSCParams:
      type: object
      description: Parameters for DERO.GetSC (Get Smart Contract)
      required:
      - scid
      properties:
        scid:
          type: string
          description: Smart Contract ID (64-character hex string)
        code:
          type: boolean
          description: Include contract source code
        variables:
          type: boolean
          description: Include all stored variables
        topoheight:
          type: integer
          description: Query at specific topo height (-1 for latest)
        keysuint64:
          type: array
          items:
            type: integer
          description: Specific uint64 keys to retrieve
        keysstring:
          type: array
          items:
            type: string
          description: Specific string keys to retrieve
    GetEncryptedBalanceParams:
      type: object
      description: Parameters for DERO.GetEncryptedBalance
      required:
      - address
      - topoheight
      properties:
        address:
          type: string
          description: DERO address (starts with deto1)
        topoheight:
          type: integer
          description: Topo height (-1 for latest)
        scid:
          type: string
          description: Asset SCID (optional, defaults to native DERO)
externalDocs:
  description: DERO Documentation
  url: https://derod.org