Make your first Sigil request.
Identify a node, check network activation, and read a block window. These requests query public state and do not submit transactions.
1. Choose an endpoint
You need a terminal with curl and network access. The examples below use the configured mainnet endpoint. Use the network table to select a canary or testnet endpoint instead; do not infer availability from a configured URL.
| Item | Details |
|---|---|
| Evolve Canary | evolve-canary-1 · BITS · https://sigil-velocity-canary-root-1.fly.dev/rpc |
| Sigil Mainnet | sigil-mainnet-1 · MINT · https://rpc.sigil.ml/rpc |
| Sigil Velocity Testnet | sigil-velocity-testnet-1 · SIG · https://sigil-velocity-root-1.fly.dev/rpc |
2. Read the node identity
Check that result.chain_id is sigil-mainnet-1 when using the mainnet example. The other fields are version and protocol_version. A JSON-RPC error can arrive inside an HTTP 200 response, so inspect the envelope as well as HTTP status.
curl --fail-with-body --show-error --silent --max-time 15 'https://rpc.sigil.ml/rpc' \
-H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"sigil_getNodeInfo","params":{}}'3. Inspect activation
Read the node identity and compare chain_id with the network you selected. Then read activation status. An endpoint responding successfully does not establish that every feature is enabled, that a transaction will be accepted, or that the node is synchronized.
curl --fail-with-body --show-error --silent --max-time 15 'https://rpc.sigil.ml/rpc' \
-H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"sigil_getNetworkActivationStatus","params":{}}'4. Read a block window
Despite its singular name, sigil_getLatestBlock returns a blocks array, latest_height, and count. Request one record here. An empty array is not evidence of a completed transaction.
curl --fail-with-body --show-error --silent --max-time 15 'https://rpc.sigil.ml/rpc' \
-H 'content-type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"sigil_getLatestBlock","params":{"count":1}}'5. Add error handling to your client
Handle transport failures, JSON-RPC errors, a different chain ID, and unavailable backing state explicitly. Before any later write, verify the transaction path, feature policy, nonce, fee, and signing authority for the selected network.