Skip to content

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):

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