# Xochi > The Agentic Dark Pool on Ethereum. Private execution via stealth settlement; ERC-8262 (Xochi's ZK Compliance Oracle) is the compliance design and is not yet live. Xochi is a private decentralized exchange (dark pool) for cross-chain token swaps on Ethereum. Users sign an intent specifying trade parameters, competing solvers bid to fill it in under 3 seconds, and settlement happens on-chain with configurable privacy. Non-custodial: Xochi never takes custody of user assets. ## Core Concepts ### Intent-Based Execution Users don't place orders on-chain. They sign an intent: what they want, not how to get it. Solvers compete to fill it. Nothing hits the mempool. Settlement in ~2 seconds typical, <6 seconds P95. ### ERC-8262 (Xochi's ZK Compliance Oracle) Zero-knowledge proofs that verify compliance without revealing transaction data. The regulator verifies a proof; they never see the trade. Formalized as ERC-8262 (Draft), and not yet live: as of 2026-07-18 no sanctions screening or on-chain compliance verification runs in production. Privacy is free by default; better rates and deeper privacy unlock through attestation-based tiered trust scoring. ### Privacy Tiers (The Glass Cube) Six privacy levels from crystal clear to fully opaque. Deeper privacy (Private, Sovereign) is gated by trust score; L1 stealth is open to all. There is no additive privacy premium. Higher trust earns both deeper privacy and lower fees. - Open: Full visibility, fee discount - Public: Standard on-chain visibility - Standard: Wallet + amounts only (default) - Stealth: One-time addresses via ERC-5564 (open to every wallet, no trust gate) - Private: Wallet only (requires Trust Score 50+, Aztec L2). Planned, not yet live. - Sovereign: Zero data retention (requires Trust Score 75+, Aztec L2). Planned, not yet live. ### Trust Score Optional identity verification through third-party attestation providers (Human Passport, Privado ID, Humanode, Worldcoin, Coinbase Verified, ENS, ZKPassport, Chainalysis, etc.). Verification occurs via zero-knowledge circuits client-side. Higher scores unlock lower fees and deeper privacy tiers. ### Trust Tier Fees Fee = never-discounted solver cost (Riddler) + venue fee (Xochi) + routing fee (Raxol, funds buyback). The trust discount carves only venue + routing. Stablecoin / volatile (ETH/WETH) shown. | Score | Tier | Fee (stable / volatile) | Privacy Levels | |---------|---------------|-------------------------|---------------------------------| | 0-24 | Standard | 0.22% / 0.40% | Open, Public, Standard, Stealth | | 25-49 | Trusted | 0.19% / 0.35% | (lower fee only) | | 50-74 | Verified | 0.15% / 0.29% | + Private (planned, not live) | | 75-99 | Premium | 0.12% / 0.25% | + Sovereign (planned, not live) | | 100+ | Institutional | 0.10% / 0.22% | All + Custom | Private and Sovereign settle on Aztec L2, which is not yet live. The fee tiers are live; those two privacy levels are not selectable today. ### Settlement Types - Public: Standard L1 settlement to wallet address - Stealth: L1 stealth smart accounts (ERC-5564 + ERC-4337) with gasless claim via account abstraction (Pimlico) - Shielded: Aztec L2 shielded notes. Planned, not yet live: served as unavailable in settlement_options and refused as a settlement_preference. ### Riddler (Protocol Solver) Xochi's own solver, live on Ethereum, Optimism, Base, Arbitrum, Polygon, and Robinhood Chain. Robinhood settles bidirectionally via cross-asset USDC<->USDG corridors (USDG is Robinhood's native Paxos stablecoin, pulled through Permit2), and pays out RAXOL (0xf44702b17d9abD53815F703e772F35E9c71A53af, 18 decimals) via USDC -> RAXOL, USDT -> RAXOL, USDG -> RAXOL and EURe -> RAXOL conversion pairs filled from solver float, capped per order. RAXOL -> EURe (Robinhood -> Arbitrum, cross-chain, RAXOL pulled through Permit2) is the only pair out of RAXOL, capped at $250 per order. On Arbitrum it pays out EURe (Monerium EUR e-money, 0x0c06cCF38114ddfc35e07427B9424adcca9F44F8, 18 decimals; worth ~1 EUR, not $1) via USDC -> EURe and RAXOL -> EURe conversion pairs filled from solver float, and pulls EURe through Permit2 as the origin of EURe -> RAXOL. USDG -> RAXOL is a same-chain swap on Robinhood: same-chain routes are fillable only for an advertised conversion pair, with public settlement, and only while /api/capabilities reports cross_chain_only: false. The solver network is open to external participants. ## Revenue Model | Source | Take | |----------------|-----------------------------------| | Trading fees | 0.10-0.40% (tier + asset based) | | Intent surplus | 15% of price improvement | | Riddler margin | Solver spread capture | | x402 calls | $0.005-$0.01 per premium call | There is no separate privacy premium. Privacy access is bundled into the trust-tier fee. ## Architecture Frontend (React 19 + Vite) -> Cloudflare Workers + D1 -> Solver Network (Riddler) -> Ethereum L1 (Aztec L2 planned) Auth is wallet-first: sign the EIP-712 intent to trade with no Xochi ID -- the signature is the auth (verified against the intent's wallet), Standard tier. Passkey Members are an optional upgrade (attestation tiers, deeper privacy); credentials are encrypted in KV (AES-256-GCM), no PII in D1, discoverable WebAuthn (no username stored server-side). ## For AI Agents Xochi is built to be transacted with by autonomous agents. Agents transact in one of three roles: - **Wallet** (live): an agent with its own wallet signs the EIP-712 intent and executes directly -- no account, no x402, the signature is the auth. Standard tier. - **Guest** (live): no account, pays per call via x402 micropayments, capped at Standard tier privacy. The default mode for `@xochi/mcp` and any MCP/A2A integration today. - **Mandate** (live): a Member signs an EIP-712 delegation envelope authorizing a specific Agent wallet to act within scoped limits (max amount, expiry, call count). The Agent presents the envelope on every request and inherits the Member's tier and privacy access. No agent JWT, no session, no persisted (Agent, Member) mapping server-side. The Member revokes an outstanding envelope via `POST /api/auth/mandate/revoke` (delegator-signed). For pull-bearing payment methods (erc3009, permit2), the quote returns two EIP-712 payloads: the intent (`eip712`) and the origin-pull authorization (`pull_authorization`). Sign both; send `signature` + `pull_signature` on execute. Non-pulling methods (pimlico, x402, mpp, approval) use a single signature. Resources: - OpenAPI: https://xochi.fi/openapi.yaml - Discovery manifest: https://xochi.fi/.well-known/agents.json - Live solver capability matrix (chains, tokens, order bounds): https://api.xochi.fi/api/capabilities - Full protocol docs: https://xochi.fi/llms-full.txt - Pay-per-call (x402) endpoints: see /.well-known/agents.json `x402.endpoints` - Elixir agent SDK: raxol_payments (https://github.com/axol-io/raxol) ## Links - Website: https://xochi.fi - Whitepaper: https://xochi.fi/whitepaper - Learn (one-pager): https://xochi.fi/learn - Terms: https://xochi.fi/terms - Privacy: https://xochi.fi/privacy ## Documentation - [Whitepaper](https://xochi.fi/whitepaper): Full technical specification including Xochi's ZK Compliance Oracle, privacy tier architecture, intent execution, economic model, and security analysis - [Learn](https://xochi.fi/learn): One-page protocol summary - [OpenAPI](https://xochi.fi/openapi.yaml): Machine-readable API spec for agent integration