Adversary Model
The x0 protocol assumes the following adversary capabilities:Trust Assumptions
What You Trust
- Solana validator consensus — Transactions are finalized correctly by the network
- Token-2022 program correctness — SPL Token-2022 correctly enforces transfer hooks and confidential transfers
- Cryptographic hardness — Ristretto group discrete log is hard; SHA-256 is collision-resistant; Groth16 proofs are sound
- Owner key custody — The human owner securely stores their private key
What You Don’t Need to Trust
- The agent — Agent spending is bound by on-chain policy; exceeded limits trigger Blinks for human approval
- The counterparty — Escrow protects both buyer and seller; funds cannot be unilaterally released
- The protocol team — Wrapper governance uses 48-hour timelocks; all admin actions are observable on-chain
- Network privacy — Confidential transfers encrypt amounts using ElGamal; only the owner and optional auditor can decrypt
Security Boundaries
Defense-in-Depth Layers
1
Policy Layer (x0-guard)
Rolling 24-hour spend limits, per-transaction limits, and whitelist enforcement at the transfer hook level. Every token transfer flows through the guard.
2
Delegation Layer
Agents must be delegates, not token account owners. The owner’s token account is bound to the policy, preventing the agent from transferring from unauthorized accounts.
3
Escrow Layer
Multi-party payments go through escrow with timeout-based auto-release and arbiter dispute resolution. Reputation is updated via CPI at settlement.
4
Cryptographic Layer
Confidential transfers use ElGamal encryption with ZK proofs for amount validity. The guard validates proof context accounts before approving confidential transfers.
5
Governance Layer
All protocol-level changes (fee updates, pausing, emergency withdrawals) go through a 48-hour timelock with on-chain visibility.
Clock Manipulation Protection
Solana’sClock::get() can be influenced by validators. The protocol mitigates this through dual time verification:
Both Unix timestamp and slot number are checked for critical time-dependent operations.