尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Copas — bonded copy trading on Monad
Monad Metropolis Hackathon · Track 01 Onchain Finance & Trading
On Perpl, 71% of traders lose money within 30 days, and the best leader can pull out at any time. On Copas, a leader who wants followers has to put their own money on the line. If they break their word, the followers get paid.檢視完整 README ↗Monad Metropolis Hackathon · Track 01 Onchain Finance & Trading
On Perpl, 71% of traders lose money within 30 days, and the best leader can pull out at any time. On Copas, a leader who wants followers has to put their own money on the line. If they break their word, the followers get paid.
Every leader posts an AUSD bond and declares a mandate: max drawdown, allowed markets, max leverage and size. Followers copy the leader's Perpl perps positions through a vault they own, and that vault can only copy within the follower's own limits. The contracts read the leader's equity directly from Perpl state, with no oracle. If the leader breaches the mandate, the bond is slashed automatically and paid to followers in proportion to their real losses.
docs/SUBMISSION.md · Feature tracker: docs/STATUS.md · Security review: contracts/SECURITY.mdNote for judges: indexer endpoint moved on 19 Oct 2026. Envio's Development tier scheduled the original deployment (
042db7d) for auto-disable over its event limits, and Envio support told us to create a new deployment to reset it. The new endpoint is https://indexer.dev.hyperindex.xyz/003f7d8/v1/graphql. Its indexer code is unchanged: commit242ef36has the sameindexer/code as the original deployment (ac9388b). It re-synced from scratch and reached chain head the same day, at 10:28 GMT+7 on 19 Oct 2026: 75.07M mainnet events and 1.75M testnet events. The commit that adds this note only changes the endpoint URL and docs.
| Sponsor | What Copas does with it |
|---|---|
| Perpl | Contracts hold their own Perpl accounts and trade via execOrder; the keeper copies leaders' longs and shorts into follower vaults; risk and analytics dashboard over all Perpl history |
| Kuru | Per-leader DOWN tokens (a CDS on a trader, paid out if the leader breaches) on Kuru order books, quoted by our market maker, tradable from the passkey wallet |
| Agora (AUSD) + Mera | Installable mobile app: passkey account, AUSD balance cross-checked three ways, Perpl orders gated by the trader's own mandate |
| Mera (Many Keys) | A second PRF key encrypts leader strategy notes onchain that only current followers can decrypt |
| Privy | Keeper server wallet with an ALLOW/DENY policy and gas sponsorship: the automation can sync vaults but provably can't move money |
| Dynamic | MPC wallets as LeaderBook operators (one traded on Perpl behind a Copas allowlist), email wallets, an unfollow-only delegated guard |
| Envio | HyperIndex over every Perpl event (72.5M on mainnet) + Copas contracts via dynamic registration; HyperSync for Kuru fills |
| Chainlink CRE | copas-risk-guardian workflow: reads leaders, scores risk, a consumer contract checkpoints risky leaders (simulated with onchain broadcast) |
| Aurora Intents | Any-chain deposit → USDC on Monad (real Base → Monad run on 14 Oct), feeding deposit-and-follow and the agent wallet that pays Nansen |
| Nansen | Leader discovery, wallet quality and smart-money alignment, paid per call with x402 in Monad USDC |
| Kimi | Signed AI risk analyst (see rule 4) |
| Alchemy | Monad RPC (primary, with fallback) for the web and keeper + Notify webhook → Telegram alerts |
| MetaMask | mm copas Agent Wallet plugin: 13 commands, mandatory risk limits, tighten-only edits, 24 h outflow cap |
| x402 / ERC-8004 | Pay-per-call risk reports on Monad; AI agent leader #2209 with per-epoch onchain reputation |
FollowerVault owned by the follower's passkey EOA, and withdrawals only go to that owner.sync(), but it can only move the follower toward ratio × leader position, within the follower's caps, stop-loss and leverage limit. Bots have no discretion.docs/KIMI.md). Every action is deterministic contract logic.sync unwinds the vault to flat until the owner accepts, and the fee is always charged at the accepted rate.| Folder | What | Sponsor tech |
|---|---|---|
contracts/ | CopasRegistry, LeaderBook (units, epochs, mandate, bond, breach), FollowerVault (copy-only sync, caps, claims, referral, mandate consent), UnderwriterPool, BreachMarket (UP/DOWN per leader epoch), AgentLeaderRegistry. Unit, invariant and mainnet-fork tests | Monad, Perpl, AUSD, ERC-8004 |
web/ | Next.js app (Mera passkey accounts, Dynamic email wallets and an unfollow-only delegated guard): bonded leaderboard, leader profile, follow ticket, vault, become-leader, underwrite, DOWN market, proof page with reproducible breach math, plus a full Perpl analytics and risk dashboard (protocol and wallet level) | Mera passkeys, Perpl, Envio, Telegram |
indexer/ | Envio HyperIndex v3: all Perpl fill, position, liquidation, funding and collateral events plus aggregates, and the Copas contracts via dynamic registration | Envio |
keeper/ | Copy sync, checkpoint and epoch bot; Privy server wallet with policy, gas sponsorship and a DENY demo; Dynamic MPC wallets as LeaderBook operators (agent #2209, and a server wallet that trades on Perpl behind a Copas allowlist); ERC-8004 feedback; alerts | Privy, Dynamic, Alchemy, Telegram |
services/ | Backtest using the same math as the contracts, LLM risk analyst with EIP-191 receipts, Nansen discovery (API key + x402), x402 pay-per-call report on Monad testnet, tx simulation, track-record attestation | OpenRouter, Nansen, x402 (Monad facilitator) |
cre/ |
Each app folder has its own README with setup, env vars, and what is live versus mocked. Deployed contract addresses go in contracts/deployments/.
Copas is live on Monad testnet (chain 10143), trading on the Perpl testnet exchange. All addresses are in contracts/deployments/10143.json.
0xd236c18d274e54faccc3dd9dda4b27965a73ee6c, requestFunds(address)).Live demo objects:
| Address | |
|---|---|
| Registry | 0xA8BA57c7Af1d9A28660653E0439A180c86D03e3d |
| Active leader (bond 50 AUSD, BTC long copied 50% by a follower vault) | book 0xda695cB060c7e2dF0b5c36EA591eA69399463D90 |
| Breached leader (bond slashed, follower claimed its loss) | book 0xb1B08F6a0642c51b48c1916136458A769a1c5208, vault 0x38E8EbBD7Bd291036A0EFe4a6eFa3BCcd27D74ff |
| Short copied 1:1 (traded by a Dynamic MPC operator wallet) | book 0xE31302DA2B0dA7898416E630dA75c837139dBE1B, vault 0xe8eAA63Aba51C6a41e1b7ce31B3E91DC9E1E1119 |
| AI agent leader (ERC-8004 #2209) | book 0xbC277432C927996E5F91a2D356289895e1415958 |
| Encrypted strategy feed (Mera second PRF key) | leader book 0x1A6F9D5ccbbCC8561896311AcBa0be8B963E233E, CopasFeed 0x75d52573C684C7799778Da633fDceB80297d7718 |
To reproduce from scratch, run contracts/deploy-testnet.sh, then script/Seed.s.sol (bonded leader with a follower copying a trade), then script/Breach.s.sol (breach, slash, claim; run phase 2 one epoch later).
# contracts
cd contracts && forge test
# web (http://localhost:3000)
cd web && pnpm install && pnpm dev
# indexer (WSL/Linux + Docker; needs ENVIO_API_TOKEN)
cd indexer && pnpm install && pnpm codegen && pnpm dev
Monad mainnet is chain 143 and Monad testnet is 10143. Perpl Exchange on mainnet: 0x34B6552d57a35a1D042CcAe1951BD1C370112a6F.
Chainlink CRE workflow copas-risk-guardian: reads leaders, sanity-checks prices, asks an LLM (OpenRouter) for a structured risk score, then a consumer contract checkpoints risky leaders |
| Chainlink CRE |
onramp/ | Any-chain deposit-and-follow via Aurora 1Click / Intents Connect recipe, Kuru Flow swap to AUSD, Socket V3 deposit address, Kuru market script for DOWN tokens | Aurora, Kuru, Socket |
plugin/ | MetaMask Agent Wallet plugin mm copas (13 commands, mandatory risk limits, outflow cap) | MetaMask |
docs/ | SPEC.md (product and technical spec) and STATUS.md (feature tracker) |