Shared JSON-RPC access to the two nodes we run for our own trading bots. Not a dedicated instance and not an SLA: what you buy is a per-key quota, batching, per-chain usage accounting — and a live, published view of exactly how healthy each node is right now.
The node health panel below is the product description. Read it before you buy.
Auto-refreshes every 5 seconds · —
curl -X POST \ -H "X-API-Key: rpc_YOUR_KEY_HERE" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \ "https://api.smartmoneyapi.com/rpc/v1/bsc"
Keys are prefixed rpc_ and are separate from your Smart Money API data keys. Keys are shown only once at creation — store them securely.
curl -X POST \ -H "X-API-Key: rpc_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' \ "https://api.smartmoneyapi.com/rpc/v1/bsc" // Response: {"jsonrpc":"2.0","result":"0x286c1b2","id":1}
curl -X POST \ -H "X-API-Key: rpc_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0xYOUR_ADDRESS","latest"],"id":1}' \ "https://api.smartmoneyapi.com/rpc/v1/avax-c"
curl -X POST \ -H "X-API-Key: rpc_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '[ {"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}, {"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":2}, {"jsonrpc":"2.0","method":"net_version","params":[],"id":3} ]' \ "https://api.smartmoneyapi.com/rpc/v1/bsc" // Each call in the batch counts toward your quota.
curl -X POST \ -H "X-API-Key: rpc_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"info.isBootstrapped","params":{"chain":"C"},"id":1}' \ "https://api.smartmoneyapi.com/rpc/v1/avax-info"
curl "https://api.smartmoneyapi.com/rpc/v1/health" // Returns: {"chains":{"bsc":{"ok":true,"block":42000000,"ms":45}, ...}}
For security and performance, the following method prefixes are blocked on all EVM chains. Requests using them return a -32601 error.
Only info.* methods are permitted. All other namespaces return a -32601 error.
| HTTP | JSON-RPC code | Meaning |
|---|---|---|
| 401 | -32001 | Missing or invalid API key |
| 429 | -32005 | Rate limit exceeded (rpm or daily). Check Retry-After header. |
| 413 | -32600 | Request body exceeds 1 MB |
| 403 | -32601 | Blocked or disallowed method |
| 400 | -32700 | JSON parse error |
| 502 | -32002 | Upstream node unreachable or timed out |
{"jsonrpc":"2.0","error":{"code":-32001,"message":"invalid api key"},"id":null}
Every plan, Free included, reaches all five endpoints below. Nothing is chain-gated. What changes between plans is the daily request quota and the per-minute ceiling, both counted per key across all chains combined.
C-Chain, X-Chain and P-Chain are three different chains with three different method namespaces — an eth_* call sent to avax-x will not work, on any plan. admin_, debug_, personal_, miner_, engine_, clique_ and les_ methods are blocked for everyone.
The quota is the same at a given tier whichever chains you pick: Starter is 100,000 requests/day and 600/min, Pro is 1,000,000/day and 3,000/min. A single-chain plan is cheaper because it unlocks fewer endpoints, not because it meters you harder. Buying BSC and Avalanche as two separate plans is cheaper than the Multi-Chain bundle at the same tier and gives you two quotas instead of one shared quota — the bundle buys you one key and one bill, nothing else. We would rather say that than let you work it out after paying.
When the local node is unreachable we transparently fail over to a public RPC and set the X-SMA-RPC-Source: public-fallback response header, so your client can tell. Reads on a small set of methods may be served from a cache up to a few seconds old (X-SMA-RPC-Source: cache).
| Feature | Public RPC | Smart Money RPC |
|---|---|---|
| Rate limits | Shared, unpredictable | A quota that is yours, on nodes that are not |
| Latency | Variable, cold-start | Warm, but shared with our bots — measured live above |
| Uptime | No guarantees | No SLA either — but node state is published live above |
| Batch calls | Often blocked | Up to 50 per request |
| Distance from chain tip | Usually at the tip, never stated | Published live, per chain, above |
| Usage analytics | None | Per-chain, per-day |