Docs
How Copas works
Copas is bonded copy trading on Monad. Leaders put an AUSD bond and an onchain mandate behind their trading; followers copy their Perpl positions through a vault they own; a breach slashes the bond to the followers. Everything below runs on Monad testnet (chain 10143).
The mechanism
- 1. Leader bonds
A leader creates a LeaderBook, deposits AUSD into its own Perpl account, posts an AUSD bond and declares a mandate: max drawdown per epoch, max leverage, max notional, allowed markets, performance fee. Mandate changes only take effect from the next epoch.
- 2. Follower copies
A follower signs in with a Mera passkey, creates a FollowerVault they own (it holds its own Perpl account) and follows with their own caps: ratio, max leverage, max notional, price band, stop-loss. Anyone may call sync(), but it can only move the vault toward ratio × the leader's live Perpl position, inside those caps.
- 3. Checkpoints
Each checkpoint reads the leader's equity straight from Perpl state in the same block (no oracle) and updates the unit price and high-water mark. Fees are taken only above each follower's own high-water mark.
- 4. Breach
If drawdown passes the mandate, the same checkpoint flags the breach, slashes the bond and fee escrow into a pot, and follower vaults unwind. Each follower claims its real loss from the pot, paid to its own wallet. No vote, no admin key.
- 5. Consent
If a leader loosens its mandate, vaults stop copying until their owner accepts the new terms; the fee is always the lower of the live and the accepted fee.
Try it
- Create a passkey account from the account menu (needs a passkey manager with PRF: Windows Hello, iCloud Keychain, Google Password Manager, 1Password).
- Account menu → Get testnet MON + AUSD.
- Open a leader, follow it (first vault deposit is exactly 100 AUSD, Perpl's account minimum), then watch the copy in My vault.
- Or trade on your phone at /trade.
Design rules
- The backend never holds follower funds; withdrawals only go to the vault owner.
- Copy-only: sync() has no discretion beyond ratio × leader position inside your caps.
- No oracle in money logic: equity, drawdown, breach and settlement come from Perpl views in the same block.
- AI explains, rules execute: Kimi K3 writes the risk analysis (signed), contracts decide.
- Honest risk: max protection = bond / follower capital is always shown.
Pages
| / | Bonded leaderboard |
| /leader/<book> | Mandate, bond, drawdown, positions, AI risk analysis (Kimi K3, signed), Nansen alignment, checkpoints and breaches |
| /follow/<book> | Follow ticket with your own caps |
| /me | Your vaults, copied positions, claims, mandate consent, Dynamic guard |
| /trade | Mobile trading app: passkey account, AUSD, Perpl orders gated by your own mandate |
| /market/<book> | Kuru DOWN market for a leader (bet on or hedge a breach) |
| /proof | Recompute a breach from Perpl state; Privy policy DENY log |
| /analytics | Perpl risk dashboard (Envio): liquidations, funding, OI, cohorts, oracle cross-check |
| /seasons | Leaders ranked by what followers took home |
| /become-leader | Post a bond and a mandate (imports a Hyperliquid track record) |
| /underwrite | Add AUSD to a leader's protection pool |
| /saved | Live Perpl losses vs what a Copas bond would have returned |
Built with
| Perpl | Contracts hold Perpl accounts and trade via execOrder; keeper copies longs and shorts; REST data for analytics |
| Kuru | Per-leader DOWN tokens (a CDS on a trader) listed on Kuru order books, quoted by our market maker |
| Mera | Passkey is the whole account layer; a second PRF key encrypts leader notes for followers only |
| Agora (AUSD) | Collateral everywhere; supply, peg and reserves cross-checked live on /trade |
| Privy | Keeper server wallet with ALLOW/DENY policy and gas sponsorship |
| Dynamic | MPC operator wallets behind a Copas allowlist, email wallets, unfollow-only delegated guard |
| Envio | HyperIndex over every Perpl event + Copas contracts; HyperSync for Kuru fills |
| Chainlink CRE | Risk-guardian workflow that can checkpoint risky leaders |
| Aurora Intents | Any-chain deposit to USDC on Monad |
| Nansen | Leader discovery and smart-money alignment, paid per call with x402 |
| Kimi | Signed AI risk analyst: AI explains, the contract enforces |
| Alchemy | Primary Monad RPC + Notify webhook to Telegram alerts |
| MetaMask | mm copas Agent Wallet plugin with mandatory risk limits |
For developers and agents
- Contracts (verified on Sourcify Monad): registry 0xA8BA57c7Af1d9A28660653E0439A180c86D03e3d — addresses in deployments/10143.json, security review in SECURITY.md.
- MCP server for AI agents (13 read-only tools): https://copas-services.vercel.app/mcp
- MetaMask Agent Wallet plugin: mm copas SKILL.md
- Telegram bot with breach / epoch / claim alerts: @copas_monad_bot
- Full spec, status and evidence: SPEC, STATUS, SUBMISSION, KIMI.
- Source: github.com/PugarHuda/copas