Sigil documentation

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.

ItemDetails
Evolve Canaryevolve-canary-1 · BITS · https://sigil-velocity-canary-root-1.fly.dev/rpc
Sigil Mainnetsigil-mainnet-1 · MINT · https://rpc.sigil.ml/rpc
Sigil Velocity Testnetsigil-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.

On this page