Endpoint matrix
| URL | Network | Notes |
|---|---|---|
https://rpc.sigil.ml/rpc | Mainnet | Cloudflare-fronted. 25 req/s sustained, 100 burst per IP. |
https://rpc-direct.sigil.ml/rpc | Mainnet | No middlebox. 10 req/s sustained, 25 burst per IP. |
https://canary-rpc.sigil.ml/rpc | Canary | Cloudflare-fronted. |
https://testnet-rpc.sigil.ml/rpc | Testnet | Cloudflare-fronted. |
wss://rpc.sigil.ml/ws | Mainnet | WebSocket subscriptions. |
Request shape
All methods accept a JSON-RPC 2.0 envelope:sigil_ namespace.
Response shape
Success:host:port substrings are redacted.
Batches
The JSON-RPC server accepts batched requests as a JSON array. Batch responses preserve request ordering. Batch envelope cap is 16 MiB.Size limits
| Limit | Value |
|---|---|
| Single request body | 64 KiB |
sigil_sendTransaction request body | 4 MiB |
| Batch envelope | 16 MiB |
| Response body | 32 MiB |
Rate limits
The default rate limit is 25 requests/second sustained with a 100-request burst per source IP. The direct endpoint has stricter limits (10 req/s, 25 burst). Premium tiers with JWT-authenticated higher limits are available; see authentication. Rate-limited responses use HTTP 429 withRetry-After and a JSON-RPC error body:
Method classes
| Class | Examples | Notes |
|---|---|---|
| Node introspection | sigil_getNodeInfo, sigil_getSyncStatus, sigil_height | Cheap; safe for polling. |
| State queries | sigil_getBalance, sigil_getAccount, sigil_getDexPool | Read-only. See state queries. |
| Transactions | sigil_sendTransaction, sigil_getTransaction, sigil_getReceipt | See transactions. |
| Subscriptions | sigil_subscribe, sigil_unsubscribe | WebSocket only. See subscriptions. |
| Mempool | sigil_getMempoolStatus, sigil_getMempoolTransaction | Live mempool inspection. |
| Consensus | sigil_getValidators, sigil_getEpoch, sigil_getNetworkActivationStatus | Read-only consensus view. |
node/sigil-rpc/src/methods.rs and is asserted by the conformance test node/sigil-node/tests/rpc_conformance.rs.
Health and metrics
GET https://rpc.sigil.ml/healthreturns 200 when healthy, 503 with the failed-probe list otherwise.GET https://rpc.sigil.ml/metricsreturns Prometheus-format metrics; intended for in-cluster scrape and rate-limited from outside.