Back to user guide

Technical docs

On chain

Smart contracts & deployments

PoolManager interface, deployed testnet addresses, and build commands.

PoolManager locks tokens on commit and pays out on withdraw. The leaf is Poseidon(secret, nullifier, amount); a rolling Poseidon accumulator tracks the root. An ASP compliance layer (approve/block) gates deposits, with admin pause and protocol fees. This is a Phase 1 PoC; real ZK settlement will use Nethermind’s pool integration.

FunctionTypeDescription
initializeadminSet admin, fee recipient, fee bps (one time)
commitcoreDeposit tokens, store Poseidon leaf + nullifier
withdrawcoreReveal nullifiers + proof, pay recipient (batch)
set_asp / approve / blockadminKYB whitelist + sanctions blocklist
pause / unpause / set_feeadminEmergency stop and fee control
get_state / is_nullifier_spentviewPool root, size, config and nullifier status

Live Stellar testnet addresses. Click any address to open it on StellarExpert (testnet):

Contract / accountRoleAddressStatus
PoolManagerZK commitment poolCDSOHQQNPLBEMH6WBC6646IH4TJ4SYWLICP6XWJTB7CARWGWPMCPHJASLive
Payment pool accountReceives link paymentsGATXUXOFATDQXLKJCIU7G22V5NNUE7J5OP3KJKMJNBAPRM5VYQ3K7DKNLive
CCTP Token MessengerBurn / mint USDCCDNG7HXAPBWICI2E3AUBP3YZWZELJLYSB6F5CC7WLDTLTHVM74SLRTHPCircle testnet
CCTP Message TransmitterCross chain messagesCBJ6MTCKKZG73PMDZCJMSFRD7DQEMI4FKDH7CGDSV4W6FHCRBCQAVVJYCircle testnet
CCTP ForwarderInbound Stellar mintsCA66Q2WFBND6V4UEB7RD4SAXSVIWMD6RA4X3U32ELVFGXV5PJK4T4VSZCircle testnet
USDC (Soroban)Bridged USDC on StellarCBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMACircle testnet
PoolManager holds live testnet commitments. Only redeploy via contracts/deploy-testnet.sh when WASM changes; then update NEXT_PUBLIC_POOLMANAGER_CONTRACT_ID and src/lib/doc/testnet-contracts.ts. Redeploying creates a new empty pool.
Hypertron
Onboard
000