An off-chain agent watches every DEX venue trading Robinhood Chain Stock Tokens and recommends the best one, checked against a Chainlink reference price. It never touches your funds — you call the swap, with your own slippage floor.
Three roles, three signers. The agent can only publish an opinion — it holds a different key than the one that can ever move your tokens.
The off-chain agent polls bestVenue() across every registered adapter, compares it to a Chainlink reference price, and emits a Recommendation event with its reasoning.
The app surfaces the recommendation in plain language — which venue, how much better, and why — before you commit to anything.
Read-onlyYou set your own minAmountOut and choose the venue. The router pulls your tokens, checks guardrails, and executes — nobody signs this for you.
Every guardrail sits on-chain, per trading pair, enforced by the router itself — not by trusting the frontend.
A minAmountOut set too loose is rejected on-chain — protects you from a sandwich even if the frontend misbehaves.
Every venue quote is compared to a live Chainlink reference price with a configurable deviation threshold per pair.
A configurable max order size per pair keeps a single trade from overwhelming a thin-liquidity venue.
The agent's signer can only call publishRecommendation. Even fully compromised, it cannot move a single token.
The on-chain router — registers venues, compares quotes, publishes recommendations, executes swaps under guardrails.
Wraps any Uniswap V2-style venue into the shape the router expects. Template for adding more venues.
A Node.js service polling venues and publishing recommendations on a schedule, signed by its own isolated key.
Wallet connect, live venue table, recommendation feed, and the swap form — all reading and writing directly against the router.
| Component | Type | Status |
|---|---|---|
| SPHINX.sol | contract | ● tested |
| UniswapV2Adapter.sol | adapter | ● tested |
| Foundry suite — 13/13 | test | ● passing |
| Off-chain agent | service | ● running |
| Chainlink price feed | oracle | ● wired |
| Agent isolation | security | ● enforced |
| Web app — wallet + swap UI | frontend | ● live |
| Robinhood Chain (4663) | chain | ● mainnet |