API Reference

Public HTTP endpoints of the Satelink RPC gateway: RPC, keys, credits, usage, status.

Base URL: https://rpc.satelink.network (also served as api.satelink.network). All bodies are JSON.

RPC

POST /rpc

The metered JSON-RPC gateway (Polygon PoS by default). Standard JSON-RPC 2.0 body. Optional X-API-Key header; anonymous calls use the IP free tier.

curl -X POST https://rpc.satelink.network/rpc \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x...","latest"],"id":1}'

Error responses you should handle:

StatusMeaningAction
402Free tier exhausted / no creditsFollow the onboarding instructions in the body
429Abuse limit (automated non-developer traffic)Respect Retry-After

GET /rpc/health

Public health of every upstream provider (per-chain success rates, latency, last error). No auth.

GET /rpc/stats/polygon

Provider circuit-breaker states and edge-cache hit rates. No auth.

Keys & usage

POST /api/keys

Create an API key. Body: {"label": "...", "tier": "free", "email": "optional", "email_consent": false}. Returns the key once.

GET /api/keys/usage

Header X-API-Key. Returns tier, daily limit, requests today, total spend, and credits remaining.

POST /v1/machine/register

Machine onboarding — registers a machine identity and returns an API key. Designed to be called from the HTTP 402 body instructions. See Machine Customers.

Credits

GET /credits/initiate?amount=<usdt>

Returns everything needed to deposit: RevenueVault address, USDT contract address, chain id (137), the raw amount, and ready-to-send approve and deposit calldata, plus a Polygonscan link.

Status & network

GET /api/status

Live network status: nodes online, current epoch, requests today (Redis counter, resets UTC midnight), measured uptime and p50 latency over the last 24h of health samples (null when there is no sample — never a made-up number).

GET /stats/free-tier

Active free-tier IPs today, total calls, near-limit count, and the current free-tier limit.

GET /health

Liveness: { ok, server, db, uptime }.

Node operators

POST /api/nodes/register

Register a node to serve routed traffic. See Node Operators for the full flow and requirements.

Conventions

  • Machine values (addresses, hashes, keys, amounts) are returned in full — truncate for display, never for storage.
  • Amounts are USDT with 6 decimals unless a field name says otherwise.
  • Admin endpoints (/admin/*) exist but are operator-only (header-token gated) and intentionally not documented here.