Documentation

What SniveProtocol does, exactly.

Supported integrations, data sources and their coverage, fee accounting, verification steps and configuration. Everything below describes implemented behaviour; nothing is aspirational.

Live integration status

Probed by the server on request (cached 30 s). A provider that fails is shown as unavailable and the feature degrades; nothing is substituted.

Loading
Probing every integration…

Networks

Active network: Robinhood Chain (chain id 4663), set by NEXT_PUBLIC_NETWORK. Facts from docs.robinhood.com/chain/connecting, confirmed live with eth_chainId. Only one network is read at a time; balances from other chains are never mixed in. Ethereum mainnet analysis is not offered in this release.

NetworkChain idPublic RPCExplorerIndexerExecution
Robinhood Chain4663https://rpc.mainnet.chain.robinhood.comBlockscoutGeckoTerminalUniswap V2 / V3 / V4
Robinhood Chain Testnet46630https://rpc.testnet.chain.robinhood.comExplorernonenone (no registry deployment)

Verified contracts (Robinhood Chain, 4663)

Every address comes from Uniswap’s deployment registry, https://developers.uniswap.org/deployments.json (chainId 4663, tier labs-supported). pnpm verify:config re-checks chain ids, registry membership, deployed bytecode, factory / WETH pointers of the routers and quoter, the PoolManager pointers of the V4 lens contracts and Permit2’s domain separator before a deploy. The registry publishes no deployment for the testnet (46630).

  • Uniswap V2 Router02swap + ERC-20 spender (V2 quotes)0x89e5DB8B…EB649eba
  • Uniswap V3 SwapRouter02swap + ERC-20 spender (V3 quotes)0xCaf681a6…959E5cb2
  • Uniswap Universal Routerswap (V4 quotes only)0x06AfBA43…EaA6bf99
  • Permit2ERC-20 spender (V4 quotes only)0x00000000…3aC78BA3
  • Uniswap V3 NonfungiblePositionManagerread-only (LP positions)0x73991a25…638DE0D3
  • Uniswap V2 Factorypool verification (getPair)0x8bcEaA40…6517937f
  • Uniswap V3 Factorypool verification (getPool)0x1f7d7550…05FD2EfA
  • Uniswap V3 QuoterV2quotes (eth_call)0x33e885eD…b4c8A9E7
  • Uniswap V4 PoolManagerpool discovery (Initialize logs), swap decoding0x8366a39C…43e40951
  • Uniswap V4 Quoterquotes (eth_call)0x8Dc178eF…67c98F94
  • Uniswap V4 StateViewpool state / verification0xF3334192…bD9E673b
  • WETHwrap / unwrap, native routing0x0bd7d308…1eacad73
  • USDGstable reference (6 decimals)0x5fc5360d…16f1d168

Robinhood Stock Tokens are recognised only when the contract address is in the issuer registry (api.robinhood.com/rhj/assets); the chain carries copycat tokens with the same names.

Snive Decode — coverage and method

  • Input: a 0x address, validated locally. No wallet, no signature. The network is stated on the page.
  • Native balance and contract code: JSON-RPC at a pinned block, through the read-only relay (/api/rpc, allow-listed methods only).
  • ERC-20 balances and transaction history: Blockscout REST v2, called from your browser (the instance answers browsers but challenges servers). Paginated 50 at a time; the block range and “older pages not loaded” are stated. A failed call is “unavailable”, never “no activity”.
  • Gas paid: the explorer’s receipt fee (gas used × effective gas price) per transaction; totals cover loaded transactions only.
  • Contract interactions: decoded with ABIs shipped for the verified Uniswap routers, Permit2, the V3 position manager, WETH and the ERC-20 standard; otherwise the explorer’s method name; otherwise the raw 4-byte selector. Each label says which.
  • Swaps: receipts are fetched over RPC; a transaction is a swap only if it contains a Uniswap V2 / V3 pool Swap event or a V4 Swap event from the verified PoolManager, and this address moved exactly one asset out and one in. Venues are confirmed by asking the factory.
  • LP positions: Uniswap V3 NFTs via NonfungiblePositionManager (amounts from liquidity × current price; “fees recorded” = tokensOwed at the block, not accrued-since-last-touch), Uniswap V2 LP tokens via the factory. V4 positions are not enumerable by owner and are reported as not listed.
  • Not produced: owner identity, P&L, cost basis, risk scores, “smart money” labels, or prices for tokens the indexer does not price.
  • Tools: local watchlist, copy address, CSV export, transaction filters, refresh limited to one per 15 s.

Snive Pools — what the numbers mean

  • Listing: GeckoTerminal index for Robinhood Chain (by 24 h volume / newest / search). USD liquidity and volume are the indexer’s figures at fetch time, labelled as such.
  • Verification (pool page): V2 → factory.getPair returns the address; V3 → factory.getPool(token0, token1, fee) returns it; V4 → StateView.getSlot0(poolId) reports a non-zero price. Everything else is “unverified”.
  • Constant product (V2): reserves per token, LP supply, mid price = reserve ratio, fee 0.30 %.
  • Concentrated liquidity (V3 / V4): in-range liquidity L is shown as L and is never converted to USD or treated as a token amount; the token balances the V3 pool contract holds are shown separately as amounts. V4 pools share the PoolManager’s balances, so no per-pool balances exist.
  • Every on-chain figure carries the block it was read at. Deposits and withdrawals are not implemented for any pool type.

Snive Route — quotes and execution

  • Quote: QuoterV2 (four fee tiers, two-hop via WETH / USDG), Router02.getAmountsOut (direct + two-hop) and V4Quoter over pools discovered from PoolManager Initialize logs, all at the same block. Highest output wins. This is a supported quote across one integration family, not best execution across the market.
  • Shown before signing: input, estimated output, route and venue, network, slippage, minimum received, quote expiry (30 s), gas estimate, pool fee, SniveProtocol fee (none), price impact when it can be computed from the pool mid price (otherwise “unavailable”).
  • Execution: network check → balances → allowance → exact-amount approval (token → router, or token → Permit2 → Universal Router for V4) → eth_call simulation → wallet signature → receipt tracking (confirmed / reverted / replaced / dropped). The browser re-decodes the calldata and refuses anything whose destination, recipient, tokens, amount or minimum differ from the review.
  • ETH ↔ WETH is handled explicitly as WETH.deposit / withdraw, 1:1, never as a swap.
  • If the routers or the quoter fail the live probe, execution is disabled with the reason; read features keep working.

Fees, separated

  • Network gas: estimated before signing (quoter gas + router overhead, or the wallet’s estimate) and reported after confirmation from the receipt (gasUsed × effectiveGasPrice). Never double counted with the trade.
  • Trading (LP) fee: the pool’s own fee, already inside the quoted output. Uniswap V4 pools can carry unusual fees set by their creator; above 5 % the swap needs an explicit acknowledgement.
  • SniveProtocol service fee: none. There is no fee contract, no revenue share, no token distribution.
  • LP fees: V3 “fees recorded” are the position manager’s tokensOwed values (collected on the next collect call). No APY, yield or earnings figures are produced.

$SNIVE token

$SNIVE is SniveProtocol’s token on Robinhood Chain. Its contract address is published only on this site (header chip, the Token section on the landing page, footer) and by @sniveprotocol on X. Until then every surface says CA: Soon and any address claiming to be $SNIVE is not ours. The app needs no token: decoding, pools and routing work without it, and holding $SNIVE promises no return, access or revenue.

Publishing is one validated command: pnpm token:ca 0x… checks the chain id, the bytecode and the ERC-20 interface on Robinhood Chain, writes the server env, sets it on Vercel and redeploys; pnpm token:ca SOON clears it. The site then reads name, symbol, supply, price and liquidity live — nothing about the token is typed in by hand.

Setup and deployment

pnpm install
cp .env.example .env.local     # optional: ROBINHOOD_RPC_URL (private RPC, server-only), RESOLVE_OVERRIDE (dev DNS pins)
pnpm verify:config             # re-verifies every address in src/config/networks.ts against live sources
pnpm test                      # financial maths, calldata guards, decoding, validation
pnpm dev                       # http://localhost:16100
pnpm build && pnpm start
pnpm token:ca 0x…              # publish the $SNIVE contract address (validated on-chain; SOON clears it)

No API keys are required: the RPC, Uniswap contracts, GeckoTerminal, Blockscout and the Stock Token registry are all public. A private RPC URL, if set, is used only by server routes and the read-only relay and never reaches the browser bundle. Deploy as a standard Next.js app (Vercel: set NEXT_PUBLIC_SITE_URL).

Limitations

  • Wallet history depends on the public Blockscout instance answering the visitor’s browser; cold addresses can take up to 45 s and occasionally fail — the page says so and offers a retry.
  • USD figures exist only where GeckoTerminal prices the asset. Unpriced tokens are excluded from totals, not counted as zero.
  • Routing is single-integration (Uniswap V2 / V3 / V4) and single-pool for V4. Launchpad curves and other DEXes are listed as pools but not executed.
  • The testnet (46630) has RPC reads only: no indexer, no verified factory, no execution.
  • The public RPC is rate limited; heavy pages (positions, V4 discovery) may answer “unavailable” under load and can be retried.

SniveProtocol is an independent interface. It is not affiliated with, endorsed by, or operated by Robinhood Markets, Inc., Uniswap Labs or Pons. Nothing here is investment advice.

Launch app