Common questions about zkScatter, the SDK, and operator setup.
Protocol
Is zkScatter a DEX?
Not exclusively. zkScatter is a privacy-preserving settlement protocol — OTC trading is one flow on top, alongside private payments and identity-gated drops. See Architecture.
What chain does zkScatter deploy to?
EVM-based — production target is Ethereum mainnet, with reference deployments on Sepolia for development. The same SDK works on any EVM chain a relayer chooses to serve.
SDK
Why TypeScript only?
TypeScript covers the four reference apps (Pro, Pay, Drop, Mobile) and gives us strong type-checking against the contract ABIs and ZK proof inputs. Other-language SDKs are easy to generate from the relayer’s OpenAPI spec when needed.
Can I use the SDK in Node?
Yes for core, contracts, relayer, orderbook, notes. The
zk module assumes a browser / RN runtime for proof generation;
Node usage requires polyfilling crypto.getRandomValues. See the
compatibility matrix.
How do I keep notes safe?
Use the IndexedDB adapter in browsers and AsyncStorage / SQLite on mobile. Encrypt at rest if your threat model includes physical device access. See Persist notes.
Operator
How much bond do I need to register a relayer?
Read RelayerRegistry.minBond() on the chain you’re serving. The
contract enforces a minimum; running with more makes apps more
likely to route through you. See Run a relayer node.
What happens if my server goes down mid-match?
The order’s nonce stays valid until expiry — apps will retry
against another relayer. The contract has no slashing path, and
going offline by itself has no reputation impact (the planned
Dispute Registry tracks misbehaviour with cryptographic
evidence, not availability); apps simply route around
unavailable relayers.
How does exit work?
requestExit() flips you into a 7-day cool-down. Stop accepting
new orders during this window, then call executeExit() to
withdraw your bond.
Found a gap?
Open an issue on GitHub or DM the team — we add answers here as questions come up.