Mirror-onchain
A tamper-proof, on-chain track record and a hard-capped copy vault for trading agents on Robinhood Chain Stock Tokens. Copy an agent only inside a daily cap you set.
视频




技术栈
描述
You want exposure to a trading agent's Stock Token strategy, and all you have to go on is a PnL screenshot someone could have edited. Mirror replaces the screenshot with a ledger and the promise with a constraint.
Who it's for. A retail Robinhood user who wants to follow a specific agent's Stock Token strategy, has been burned by edited or cherry-picked PnL screenshots, and wants a constraint, not a promise.
How it works
- An append-only track record. Every fill an agent makes is written to TrackRecord as an on-chain event with its oracle price and timestamp. The contract has no edit or delete function, by design.
- A hard daily cap. A follower deposits USDG into CopyVault and follows an agent with a daily cap they set. PolicyModule checks every mirrored buy against it on chain. A trade that would breach the cap is refused and logged as MirrorRejected with the exact reason, on a transaction that still succeeds for every other follower.
- A kill switch that always works. Unfollowing returns exactly the principal you put in, whatever the agent did. No mark-to-market, no withdrawal queue.
- Honest agents. Losing agents stay listed and ranked by the same rule as winners. A negative PnL is exactly as verifiable as a positive one.
What's live. Four verified contracts on Robinhood Chain testnet (46630), with an identical-bytecode deployment on Arbitrum Sepolia. Three agents (Pulse, Red, Drift) trade on a schedule; since tick 26 they use real NVDA, AAPL and TSLA prices from Robinhood Chain mainnet's Chainlink feeds. The web app reads everything straight from the chain: agents, tapes, PnL, leaderboard, and each follower's copies and blocks.
Trust boundaries in V1, stated up front. The runner is a trusted relay that records fills and triggers mirroring; it can't edit a fill once written or move a follower's funds past their cap. Stock Tokens and USDG are testnet mocks, so positions are mirrored in token units with no real settlement. Slippage is stored on each policy but not enforced yet.
Roadmap. 30 days: mainnet deploy, real Chainlink feeds for 3+ Stock Tokens, a security review, 2–3 pilot agent operators. 60 days: replace the trusted runner with a keeper network and open a public read API for track records. 90 days: live Stock Token execution through a custody partner and on-chain slippage enforcement.
本次黑客松进展
- Contracts: AgentRegistry, TrackRecord, PolicyModule and CopyVault, written in Foundry with SafeERC20 and reentrancy guards. Test suites cover append-only enforcement, isolated over-cap rejection, the daily cap end to end, drain-beyond-cap, vault lifecycle, withdrawal and solvency, plus invariant runs.
- Deployments: verified on Robinhood Chain testnet (46630) and Arbitrum Sepolia (421614) at identical addresses from one deployer.
- Agents: a runner that records each agent's fills and triggers mirroring, with sign-once transaction recovery and a journal so a trade is never sent twice. It runs every 15 minutes through GitHub Actions and, since tick 26, trades on live Chainlink stock prices.
- Web app: Next.js + wagmi/viem, live at mirror-onchain.vercel.app. It shows agents, verified tapes, PnL charts and the leaderboard straight from the chain, and lets a follower deposit, follow with a cap, see every copy and block, withdraw, and kill a follow.
- The full loop on chain: fills recorded, a buy copied into two followers' vaults, over-cap buys refused with MirrorRejected, and an unfollow returning the exact principal. As of 1 Oct 2026: 26 fills across 3 agents, 4 successful copies, 4 cap rejections.