Radix Node API Specification

This document covers the JSON-RPC calls you can use to interact with the Radix network. Each section will give a short description of the method call, the parameters it accepts, and the expected response.

This is the beta specification and may be updated before mainnet release.

Get Network ID

Gets the unique identifier for the network.

request

{
    "jsonrpc": "2.0",
    "method": "radix.networkId",
    "params": [],
    "id": 1
}

response

{
    "result": {
        "networkId": 0
    },
    "id": 1,
    "jsonrpc": "2.0"
}

Get Native Token Info

Return details of the network’s native token.

request

{
    "jsonrpc": "2.0",
    "method": "radix.nativeToken",
    "params": [],
    "id": 1
}

response

{
    "result": {
        "tokenInfoURL": "https://tokens.radixdlt.com/",
        "symbol": "xrd",
        "isSupplyMutable": true,
        "granularity": "1",
        "name": "Rads",
        "rri": "xrd_rb1qya85pwq",
        "description": "Radix Betanet Tokens",
        "currentSupply": "999999999999999999999998479700000000000000000",
        "iconURL": "https://assets.radixdlt.com/icons/icon-xrd-32x32.png"
    },
    "id": 1,
    "jsonrpc": "2.0"
}

Get Token Info

Returns token information on the provided RRI.

request

{
    "jsonrpc": "2.0",
    "method": "radix.tokenInfo",
    "params": ["xrd_rb1qya85pwq"],
    "id": 1
}

response

{
    "result": {
        "tokenInfoURL": "https://tokens.radixdlt.com/",
        "symbol": "xrd",
        "isSupplyMutable": true,
        "granularity": "1",
        "name": "Rads",
        "rri": "xrd_rb1qya85pwq",
        "description": "Radix Betanet Tokens",
        "currentSupply": "999999999999999999999998479400000000000000000",
        "iconURL": "https://assets.radixdlt.com/icons/icon-xrd-32x32.png"
    },
    "id": 1,
    "jsonrpc": "2.0"
}

Get Token Balances

Retrieves the token balance for a given address.

request

{
    "jsonrpc": "2.0",
    "method": "radix.tokenBalances",
    "params": ["brx1qsp6ckn3ylhqgf0g80c4vrl0c60f96mdnrc4ukfgppnnjfvjfsu4gsg35hja6"],
    "id": 1
}

response

{
    "result": {
        "owner": "brx1qsp6ckn3ylhqgf0g80c4vrl0c60f96mdnrc4ukfgppnnjfvjfsu4gsg35hja6",
        "tokenBalances": []
    },
    "id": 1,
    "jsonrpc": "2.0"
}

Get Transaction History

Get the paginated transaction history for an address.

request

{
    "jsonrpc": "2.0",
    "method": "radix.transactionHistory",
    "params": [
        "brx1qspjvydm83az3cn8vdcvz646ekgh67fvz6k6f0nds8y8u4wmru4kq2spkk9sz",
        1,
        "cursor"
    ],
    "id": 1
}

response

{
  "result": {
      "cursor": "cursor",
      "transactions": [
        {
          "txID": "d52e7fa4fe41bfc04495227a982a7f7d21165a7b4ffcb90210b760ea3554d042",
          "sentAt": "1995-12-17T03:24:00",
          "fee": "100",
          "message": "Example message",
          "actions": [
            {
              "type": "TokenTransfer",
              "from": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6R",
              "to": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
              "amount": "100",
              "rri": "xrd_rb1qya85pwq"
            },
            {
              "type": "StakeTokens",
              "from": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6R",
              "validator": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
              "amount": "100"
            },
            {
              "type": "UnstakeTokens",
              "from": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6R",
              "validator": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
              "amount": "100"
            },
            {
              "type": "Other"
            }
          ]
        }
      ]
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Get Stake Positions

Get stakes that have not been requested to be unstaked.

request

{
    "jsonrpc": "2.0",
    "method": "radix.stakePositions",
    "params": [
        "brx1qspr9y2p3az5puswrcu4hczcy7duq02s4e52uytvf93tv0m7qx83q9s7mjrtz"
    ],
    "id": 1
}

response

{
  "result": {

    "stakePositions": [
        {
            "validator": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
            "amount": "100"
        }
    ]
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Get Unstaked Positions

Get unstake history for an address.

request

{
    "jsonrpc": "2.0",
    "method": "radix.unstakePositions",
    "params": [
        "brx1qspr9y2p3az5puswrcu4hczcy7duq02s4e52uytvf93tv0m7qx83q9s7mjrtz"
    ],
    "id": 1
}

response

{
  "result": [
    {
        "amount": "100",
        "validator": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT"
    }
  ],
  "id": "1",
  "jsonrpc": "2.0"
}

Get Transaction Status

Returns the status of a transaction.

request

{
    "jsonrpc": "2.0",
    "method": "radix.statusOfTransaction",
    "params": [
        "1b69e967eccfd2b8b5f4bea21a4efd74dc53c590994b725ea7600bff1020c132"
    ],
    "id": 1
}

response

{
  "result": {
    "transactionStatus": {
        "txID": "1b69e967eccfd2b8b5f4bea21a4efd74dc53c590994b725ea7600bff1020c132",
        "status": "CONFIRMED"
    }
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Get Network Throughput

Returns the average transaction per second in the network.

request

{
    "jsonrpc": "2.0",
    "method": "radix.networkTransactionThroughput",
    "params": [],
    "id": 1
}

response

{
  "result": {
      "tps": 10000
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Get Transaction Demand

Average transactions submitted to the mempool per second.

request

{
    "jsonrpc": "2.0",
    "method": "radix.networkTransactionDemand",
    "params": [],
    "id": 1
}

response

{
    "result": {
        "tps": 100000
    },
    "id": 1,
    "jsonrpc": "2.0"
}

Get Validators

Get a paginated validator list, ordered by XRD staked descending.

request

{
    "jsonrpc": "2.0",
    "method": "radix.validators",
    "params": [100,1],
    "id": 1
}

response

{
  "result": {
      "cursor": "validatorCursor",
      "validators": [
          {
              "address": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
              "ownerAddress": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
              "name": "Cerby",
              "infoURL": "https://www.radixdlt.com",
              "totalDelegatedStake": "100",
              "ownerDelegation": "100",
              "isExternalStakeAccepted": "true"
          }
      ]
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Lookup Validator

Lookup a single validator by its validator address.

request

{
    "jsonrpc": "2.0",
    "method": "radix.lookupValidator",
    "params": ["vb1q00jd22ygzsg8p05ht5hwz5qvx9yjc532ffe895jkez0lkgqztmny9uzhav"],
    "id": 1
}

response

{
  "result": {

      "address": "vb1q00jd22ygzsg8p05ht5hwz5qvx9yjc532ffe895jkez0lkgqztmny9uzhav",
      "ownerAddress": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
      "name": "Cerby",
      "infoURL": "https://www.radixdlt.com",
      "totalDelegatedStake": "100",
      "ownerDelegation": "100",
      "isExternalStakeAccepted": "true"

},
  "id": "1",
  "jsonrpc": "2.0"
}

Build Transaction (Token transfer)

Creates a new token transfer.

request

{
  "method": "radix.buildTransaction",
  "params": [
      [
        {
          "type": "TokenTransfer",
          "from": "brx1qspqljn9rg7x97s3rcvyzal2uxr5q22d9xn8nc4rpq8vq08kg4ch8yqhs9dq6",
          "to": "brx1qspqzljaudq2n9tnueqvrgvqgevwcuccxefa3nf3xqrh8h9fmkvp6wcu573me",
          "amount": "100",
          "tokenIdentifier": "xrd_rb1qya85pwq"
        }
      ]
  ],
  "id": 0
}

response

{
  "result": {
    "transaction": {
        "blob": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "hashOfBlobToSign": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "fee": "100"
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Build Transaction (Stake Tokens)

Creates a new stake token transaction.

request

{
  "method": "radix.buildTransaction",
  "params": [
      [
        {
          "type": "StakeTokens",
          "from": "brx1qsp8e5katps64cw5qp9vsq2mly45wpxg2n2y0pzkafgu270dykqyeaqu33gv0",
          "validator": "vb1q2fvw3c94p9ymgltdzz32d5cr3lv24azynwy8qyu8sjemfsdfx8hv6g8z7q",
          "amount": "1"
        }
      ]
  ],
  "id": 0
}

response

{
  "result": {
    "transaction": {
        "blob": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "hashOfBlobToSign": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "fee": "100"
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Build Transaction (Unstake Tokens)

Creates a new unstake token transaction.

request

{
  "method": "radix.buildTransaction",
  "params": [
      [
        {
          "type": "UnstakeTokens",
          "from": "brx1qsp8e5katps64cw5qp9vsq2mly45wpxg2n2y0pzkafgu270dykqyeaqu33gv0",
          "validator": "vb1q00jd22ygzsg8p05ht5hwz5qvx9yjc532ffe895jkez0lkgqztmny9uzhav",
          "amount": "1"
        }
      ]
  ],
  "id": 0
}

response

{
  "result": {
    "transaction": {
        "blob": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "hashOfBlobToSign": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    },
    "fee": "100"
  },
  "id": "1",
  "jsonrpc": "2.0"
}

Finalize Transaction

Finalize a single transaction before submission.

request

{
    "method": "radix.finalizeTransaction",
    "params": [
        "01030003585244263902c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5bd18b6cd00000000000000000000000000000000000000000000000000000000000000010361d641536909fb778b00a4fb11e2d507c03b8949656dd774482ac4d2bd9c00ca00000005010300035852442602028c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa53dab8d80000000000000000000000000000000000000000000000008a1580485b22fffe000400000002010300035852442602028c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa53dab8d80000000000000000000000000000000000000000000000008963dd8c2c5dfffe00",
        "3044022051991631dd342317153c683a4223c531109abb9edf7e400598f22aa48e354289022016159b106f0856b807509156ae8e9b98d2381115a559aaf45b69a307ed8f8faa",
        "028c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa"
    ],
    "id": 0
}

response

{
  "result": {
    "txID": "d52e7fa4fe41bfc04495227a982a7f7d21165a7b4ffcb90210b760ea3554d042"
},
  "id": "1",
  "jsonrpc": "2.0"
}

Submit Transaction

Finalize a single transaction before submission.

request

{
    "method": "radix.submitTransaction",
    "params": [
        "01030003585244263902c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5bd18b6cd00000000000000000000000000000000000000000000000000000000000000010361d641536909fb778b00a4fb11e2d507c03b8949656dd774482ac4d2bd9c00ca00000005010300035852442602028c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa53dab8d80000000000000000000000000000000000000000000000008a1580485b22fffe000400000002010300035852442602028c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa53dab8d80000000000000000000000000000000000000000000000008963dd8c2c5dfffe00",
        "3044022051991631dd342317153c683a4223c531109abb9edf7e400598f22aa48e354289022016159b106f0856b807509156ae8e9b98d2381115a559aaf45b69a307ed8f8faa",
        "028c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa"
    ],
    "id": 0
}

response

{
  "result": {
      "submissionResult": {
          "txID": "d52e7fa4fe41bfc04495227a982a7f7d21165a7b4ffcb90210b760ea3554d042"
      }
},
  "id": "1",
  "jsonrpc": "2.0"
}

Look up Transaction

Gets the transaction from its transaction identifier.

request

{
    "jsonrpc": "2.0",
    "method": "radix.lookupTransaction",
    "params": [
        "d52e7fa4fe41bfc04495227a982a7f7d21165a7b4ffcb90210b760ea3554d042"
    ],
    "id": 1
}

response

{
  "result": {
    "txID": "d52e7fa4fe41bfc04495227a982a7f7d21165a7b4ffcb90210b760ea3554d042",
    "sentAt": "1995-12-17T03:24:00",
    "fee": "100",
    "message": "Example message",
    "actions": [
    {
      "type": "TokenTransfer",
      "from": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
      "to": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
      "amount": "100",
      "rri": "xrd_rb1qya85pwq"
    },
    {
      "type": "StakeTokens",
      "from": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
      "validator": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
      "amount": "100"
    },
    {
      "type": "UnstakeTokens",
      "from": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
      "validator": "9S8khLHZa6FsyGo634xQo9QwLgSHGpXHHW764D5mPYBcrnfZV6RT",
      "amount": "100"
    },
    {
      "type": "Other"
    }
    ]
  },
  "id": "1",
  "jsonrpc": "2.0"
}