NOD3 API Reference

API Documentation

The NOD3 API provides REST endpoints for querying Base blockchain data. All endpoints require an API key passed in the x-api-key header. Responses are JSON. Errors follow standard HTTP status codes.

Authentication

GET https://api.nod3.xyz/v1/base/block/latest

Header: x-api-key: bk_nod3_your_key_here

GET/v1/base/balance/:address

Get Address Balances

Returns the native ETH balance and all ERC-20 token balances for a given Base address. Results are cached for up to 60 seconds to minimize RPC overhead.

Path Parameters

address*
string

Base (Ethereum-compatible) address. Checksummed or lowercase.

Shell
curl https://api.nod3.xyz/v1/base/balance/0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 \
  -H "x-api-key: bk_nod3_your_key_here"

Response

JSON
{
  "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "ethBalance": "4.2190",
  "cached": true,
  "timestamp": "2024-05-15T12:00:00.000Z",
  "tokens": [
    {
      "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "symbol": "USDC",
      "name": "USD Coin",
      "balance": "12500.00",
      "decimals": 6,
      "balanceFormatted": "12500.000000"
    },
    {
      "contract": "0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22",
      "symbol": "cbETH",
      "name": "Coinbase Wrapped Staked ETH",
      "balance": "1.8432",
      "decimals": 18,
      "balanceFormatted": "1.843200000000000000"
    }
  ]
}
Balances are cached for the TTL of your plan tier (free: 60s, pro: 10s).
Only tokens with non-zero balances are returned.
Supports both checksummed and lowercase addresses.
GET/v1/base/token/:contract

Get Token Info

Retrieves ERC-20 token metadata for a given contract address on Base. Token metadata is cached aggressively — typically for several hours.

Path Parameters

contract*
string

ERC-20 contract address on Base mainnet.

Shell
curl https://api.nod3.xyz/v1/base/token/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 \
  -H "x-api-key: bk_nod3_your_key_here"

Response

JSON
{
  "contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "name": "USD Coin",
  "symbol": "USDC",
  "decimals": 6,
  "totalSupply": "3847291084",
  "totalSupplyFormatted": "3847.291084",
  "cached": true
}
GET/v1/base/tx/:hash

Get Transaction

Fetches full transaction details including receipt, logs, and decoded input data for a given transaction hash on Base.

Path Parameters

hash*
string

32-byte transaction hash (0x-prefixed).

Shell
curl https://api.nod3.xyz/v1/base/tx/0xabc123... \
  -H "x-api-key: bk_nod3_your_key_here"

Response

JSON
{
  "hash": "0xabc123...",
  "blockNumber": 14892334,
  "blockHash": "0xdef456...",
  "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "value": "0",
  "gasUsed": 65432,
  "gasPrice": "1000000",
  "status": "success",
  "timestamp": "2024-05-15T11:58:00.000Z",
  "cached": false
}
GET/v1/base/block/latest

Get Latest Block

Returns the latest block information on Base including block number, hash, timestamp, and transaction count.

Shell
curl https://api.nod3.xyz/v1/base/block/latest \
  -H "x-api-key: bk_nod3_your_key_here"

Response

JSON
{
  "number": 14892335,
  "hash": "0xfed789...",
  "parentHash": "0xabc123...",
  "timestamp": 1715774000,
  "transactionCount": 142,
  "gasUsed": "9821847",
  "gasLimit": "30000000",
  "baseFeePerGas": "987234",
  "miner": "0x4200000000000000000000000000000000000011",
  "cached": false
}
POST/v1/base/call

Contract Read Call

Execute a read-only (eth_call) smart contract function on Base. Supports ABI-encoded and raw call data. Results are cached based on your plan TTL.

Request Body (JSON)

to*
string

Contract address to call.

data*
string

ABI-encoded call data (0x-prefixed).

blockTag
string

Block tag: "latest" (default), "earliest", or hex block number.

Shell
curl -X POST https://api.nod3.xyz/v1/base/call \
  -H "x-api-key: bk_nod3_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "data": "0x18160ddd"
  }'

Response

JSON
{
  "result": "0x000000000000000000000000000000000000000000000000000000003b9aca00",
  "decodedResult": "1000000000",
  "cached": true
}
POST/v1/base/logs

Query Event Logs

Query event logs (eth_getLogs) from Base contracts. Supports filtering by address, topic, and block range.

Request Body (JSON)

address
string

Filter by contract address.

topics
string[]

Array of topic filters (keccak256 event signatures).

fromBlock
string | number

Start block (default: latest - 1000).

toBlock
string | number

End block (default: latest).

Shell
curl -X POST https://api.nod3.xyz/v1/base/logs \
  -H "x-api-key: bk_nod3_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"],
    "fromBlock": 14890000
  }'

Response

JSON
{
  "logs": [
    {
      "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "topics": ["0xddf252ad..."],
      "data": "0x000000000000000000000000000000000000000000000000000000003b9aca00",
      "blockNumber": 14892335,
      "transactionHash": "0xabc123...",
      "logIndex": 12
    }
  ],
  "count": 1,
  "cached": false
}