Method, sources and limits
Every number on Roqvo comes from Robinhood Chain itself or from a named public source, with the time it was read. This page lists those sources, the math, and what each tool cannot tell you.
Limits first
- Roqvo reads public chain data and never holds your funds. A swap is sent from your own wallet to the router contract, which keeps nothing after the transaction.
- Every figure carries its source and read time. Market data from Dexscreener is labelled as such and compared with the chain where its pool traded.
- A quote is a simulation on the latest block. Prices can move before your transaction is included; the minimum you set is enforced on chain.
- The router splits only across pools of the exact pair. Measured on a fork of Robinhood Chain on 13 Nov 2026 for USDG to ETH: the best split beat the deepest pool alone by 0.005% at 10,000 USDG, 0.016% at 50,000 and 0.065% at 250,000, all under the 0.1% bar. Live quotes the same day ranged from +0.01% at 10,000 USDG to +0.19% at 50,000 USDG when one venue raised its dynamic fee. So the analyzer measures every request and suggests a split only when it pays at least 0.1%.
- The router contract is new and has had no independent security review. It is live on Robinhood Chain; start with small amounts.
- Nothing here is advice. Roqvo shows measurable trade costs, not where a price will go.
Sources
| What | From |
|---|---|
| Chain reads | Robinhood Chain RPC https://rpc.mainnet.chain.robinhood.com (chain id 4663), through this site's server. Bulk reads go through Multicall3. Log queries need this official node: the public mirrors refuse them. |
| Pools and swaps | Swap events of the last 12,000 blocks (about 20 minutes: the chain is busy, roughly one v3 and one v4 swap per block), read once a minute and shared by every visitor. v3-style pools count only when their factory's getPool() names that exact address. A v4 swap names only its pool id, so the pool's key is recovered from a swap transaction's calldata (the 160 bytes that hash to the id) or from its Initialize event in the last 10 million blocks; pools whose key is not found are skipped and counted. |
| Token market data | The list is every token in a pool that traded in the window (the chain has no public token index). Price, 24h change, volume, liquidity, market cap and pair age come from Dexscreener's public API (https://api.dexscreener.com) for the token's main pair, shown as reported next to the price from that pool on chain when it traded in the window. "Stock token" means Robinhood's token beacon is in the token's code; "Pons" means the Pons factory (0x7ed598bcef8bd9edd8c97a195c6d13f40801ec7e) reports the launch. |
| Dollar prices | ETH from the Chainlink ETH / USD feed on Robinhood Chain (0x78f3556b67e17df817d51ef5a990cdaf09e8d3a9), cross-checked against the deepest USDG/ETH pool; USDG counted at $1; other tokens derived from a pool holding at least $5,000 of a listed token within 2% of its price. |
| Wallet activity | ERC-20 Transfer logs to or from the address over the last 280,000 blocks (about 8 hours), read fresh on every request. Native ETH transfers leave no log. |
Venues and tokens checked on chain
| Uniswap v4 (PoolManager) | 0x8366a39cc670b4001a1121b8f6a443a643e40951 |
| Uniswap v3 (factory) | 0x1f7d7550b1b028f7571e69a784071f0205fd2efa |
| Aero CL (factory) | 0xc63d7338c178e805c544b8f897066bd3bbcbe136 |
| Ramses v3 (factory) | 0xe0c4ceb92d08ca985bb70fe0a22feb121a9854a8 |
| Up v3 (factory) | 0x1ac9db4a2608ba45d6127b1737949b51bb54b7f3 |
| Sushiswap v3 (factory) | 0xe51960f1b45f1c9fb6d166e6a884f866fc70433b |
| Topaz CL (factory) | 0xaa5865dc3a60b25d305226d66fd573021f0d8ffb |
| WETH | 0x0bd7d308f8e1639fab988df18a8011f41eacad73 |
| USDG | 0x5fc5360d0400a0fd4f2af552add042d716f1d168 |
| NVDA | 0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec |
Each address had code and answered the reads named here when checked (13 Nov 2026); each v3-style venue's pools pay through uniswapV3SwapCallback (checked in their bytecode). Aero CL pools run a swap hook; quotes include whatever a hook does. Seen on chain but not routed yet (a different swap callback): Alandale, Nami, Kittenswap, Sheriff.
The quote and the router
RoqvoSplitRouter swaps an exact input across up to four pools of one pair in one transaction. ETH and WETH count as one asset: a leg priced in WETH can be paid from ETH (wrapped inside the transaction) and the other way round, and the output arrives in the form you chose.
- Candidates: the five deepest pools (within 2% of the price) of exactly this pair that traded in the window.
- One simulation call runs every candidate at 10%, 20% … 100% of the amount through the router's quote(), which executes the pool's real swap and reverts before paying, so nothing moves.
- The best split over that grid is found exactly (dynamic programming, up to four legs), and the best single pool is kept for comparison.
- The chosen legs are simulated again exactly as they would be signed; those numbers are the ones shown. A split is suggested only if it beats one pool by at least 0.1%.
Checked by the contract on every swap: the summed output reaches your minimum; no leg moves its pool's price by more than your limit; every leg spends its full input (no partial fill); the deadline; and the router's own balances end where they started. Fee 0, no owner, no upgrade.
Price impact = 1 − (price received ÷ pools' price before the trade, weighted by leg size); it includes the LP fee, which is also shown on its own. Pool price move = |price after ÷ price before − 1| of each pool.
Measured on 13 Nov 2026 (fork of Robinhood Chain), USDG to ETH over Uniswap v3 0.01%, Aero CL and Uniswap v4 0.01%: the best 10% split beat the best single pool by 0.005% at 10,000 USDG, 0.016% at 50,000 USDG and 0.065% at 250,000 USDG. All are under the 0.1% bar at that block. Live quotes the same day differed: +0.01% at 10,000 USDG (one pool suggested) and +0.19% at 50,000 USDG when Aero CL's dynamic fee rose (split suggested). Venue fees move, so the analyzer measures each request. Gas measured on the same fork: about 257,000 for one leg, 294,000–378,000 for two.
Status: live at 0xe8bf8abe31f25eccffe537bf879bd7abb4fd0d09 The contract has had no independent security review; start with small amounts.
Verify a deployment
From the source: npm run verify-deployment -- --router <address> --router-tx <creation tx>. It checks the chain id, compares the runtime code byte for byte with this build (the one immutable, WRAPPED, must hold WETH), and requires the creation transaction's input to be exactly this build plus WETH. Anything it cannot read is a failure, never a pass.
Planned
- Routes through a third token (two hops), and more venues: pools that pay through a different swap callback (Algebra-style venues such as Alandale, Nami, Kittenswap) are seen on chain but not routed yet.
- Alerts by push or email, and more alert types.
- More data per token (holder breakdown and history) from an indexer.
- $ROQVO perks for heavier use (higher alert and tracker limits). Planned and unproven: the core tools stay free and need no token.
Questions
Does Roqvo hold my funds?
No. Discovery, the analyzer, the scanner, the tracker and alerts only read. A swap goes from your wallet to RoqvoSplitRouter, which pulls the input, trades in the pools and sends the output in the same transaction; it checks its own balances and refuses to keep anything.
How is a quote made?
The server asks the chain to run RoqvoSplitRouter.quote() on the latest block: each candidate pool runs its real swap code and the call reverts before paying, so nothing moves. Every candidate is tried at each tenth of your amount; the best split over that grid is chosen and simulated again exactly as it would be signed.
Why does it often suggest one pool?
Because it measured that splitting does not pay. Extra legs cost gas; a split is suggested only when it returns at least 0.1% more than the best single pool.
What is price impact here?
One minus the price you get divided by the pools' price before the trade, weighted by each leg's size. It includes the LP fee; the fee part is shown on its own line. Hooked pools may charge in other ways, so their fee is shown as unknown.
Do I need $ROQVO?
No. Every tool works without it. $ROQVO is a memecoin on Robinhood Chain; perks for it are planned and unproven.