The Circles Stack
Rust crate view of the Circles stack:
- circles-sdk: high-level orchestrator with typed avatars, registration, invitations/referrals, transfer planning, and optional runner-backed execution.
- circles-types: protocol types (avatars, trust, tokens, events, query DSL, config, pathfinding, and shared results).
- circles-pathfinder: computes flow matrices and contract params for trust-based transfers.
- circles-rpc: JSON-RPC client with query, balance, events, groups, trust, invitation, and history helpers.
- circles-transfers: ordered transaction assembly for path, replenish, and group-token redeem flows.
- circles-profiles: profile fetch/pin helpers (backed by the profile service / IPFS).
- utils/abis: supporting crates for contract ABI access and numeric helpers.
Contracts (Gnosis Chain):
- Hub V2 (ERC-1155), Name Registry, Migration, Base Mint Policy, Vaults, Standard Treasury.
- Contract sources: https://github.com/aboutcircles/circles-contracts-v2
Pathfinder/Indexing:
- Nethermind plugin indexes events and exposes RPC; pathfinder consumes the trust graph to route flows.
Use cases already covered:
- Query profiles, balances, trust relations, groups, invitations, and events.
- Prepare or execute path-based transfers, direct transfers, and replenish flows.
- Register humans, organisations, and groups with a runner.
- Manage trust, personal minting, profile metadata, and group-token mint/redeem.
- Prepare canonical Safe payloads for external signing through
SafeExecutionBuilder.
Still in progress:
- browser-provider Safe signing/submission from a host environment
- remaining TypeScript convenience-surface polish