Public API
SDKs
Official clients sign X-Api-Key, X-Timestamp, and X-Signature for you. Create a key in the cabinet (UUID + sk_live_… secret shown once). JSON-RPC traffic still goes to each endpoint URL, not through this host.
Repositories
Each language is its own GitHub repository. Star the repo you use and open issues there.
Install
Libraries are installed from GitHub (not Packagist / PyPI / npm registry yet).
Install
# TypeScript
npm install github:rpcnode/api-sdk-typescript
# Python
pip install "rpcnode @ git+https://github.com/rpcnode/api-sdk-python.git"
# PHP
composer config repositories.rpcnode-sdk vcs https://github.com/rpcnode/api-sdk-php.git
composer require rpcnode/sdk:dev-master
# Go
go get github.com/rpcnode/api-sdk-go@latestEnvironment
Examples read PUBLIC_API_KEY (cabinet UUID) and PUBLIC_API_SECRET (sk_live_…). Optional PUBLIC_API_BASE sets the base URL the client prepends to the route.
Rate limits: 30 requests per second per client address and 100 requests per minute per account (all its keys together). Over a limit: HTTP 429 with Retry-After (see Authentication).
Request example
import { RpcNodeClient } from '@rpcnode/sdk'
const client = new RpcNodeClient({
baseUrl: process.env.PUBLIC_API_BASE ?? 'https://api.rpcnode.dev',
apiKey: process.env.PUBLIC_API_KEY!, // UUID
secret: process.env.PUBLIC_API_SECRET!, // sk_live_…
})
const account = await client.getAccount()
const endpoints = await client.listEndpoints()
const watched = await client.addAddress({
network_slug: 'ethereum',
address: '0x0000000000000000000000000000000000000000',
})
console.log(account, endpoints, watched)Tips
- Signing is built in — do not add X-Api-Key / X-Signature by hand unless you are calling curl.
- Webhook signatures are verified as described on the Webhooks page; check whether your SDK release has a helper for it.
- JSON-RPC (eth_blockNumber, etc.) uses the endpoint URL from GET /v1/endpoints (its url field) — not api.rpcnode.dev.
- Keep the secret out of git. The cabinet list only shows the secret prefix after create.