Run a Node — Overview
This section explains what a Sylan Node does, how it gets paid, and how to run it safely in production.
Sylan Nodes listen for new API requests on-chain, fetch a provider‑signed Snapshot off‑chain, verify the signature and timing rules, optionally pin the snapshot pointer to IPFS, and submit the snapshot to APIConsensus. When quorum is reached or the request expires + grace, the request is finalized and fees are allocated by APIEscrow (Provider / Node Pool / Platform).
Responsibilities
- Listen to
APIConsensus.RequestRegisteredand track pending requests. - Fetch
Snapshotfrom the Provider Gateway (GET /snapshot?apiId&requestId). - Verify the provider’s EIP‑712 signature against the registry’s
providerSignerand timing caps (maxSkewMs, optionalmaxTtlMs). - Pin (optional): upload a minimal pointer JSON to IPFS (Pinata or native IPFS API), storing a
pointerURI. - Submit the snapshot to
APIConsensus.submitSnapshot. - Finalize (opportunistic) by calling
APIConsensus.finalizenear/after expiry+grace if quorum likely.
Rewards & Slashing (high level)
- On success,
APIEscrowdistributes the locked payment to: Provider, Node Pool, and Platform (all in BPS that sum to 10,000). - On failure/expiry, user is refunded. Nodes may be slashed for provable misbehavior by the authorized slasher(s) set in
NodeRegistry.
See Contracts → Node Registry for staking/unbonding and slashing parameters.
Last updated on