⚙ Developer API · v1
Build agents on ScanHood.
The safety + launch layer for Robinhood Chain. Scan any token, check deployer reputation, and read tokenized-stock data — over a simple REST API. Free, no key required for read endpoints (rate-limited).
Safety scan
GET/api/scan?token={address}
Composite on-chain safety verdict for any Robinhood-Chain token: honeypot buy+sell simulation, LP-lock status, contract verification, manipulation guard, RWA recognition, and deployer reputation.
| Param | Description |
|---|
| token | ERC-20 address (0x + 40 hex) |
# request
curl "https://scanhood.xyz/api/scan?token=0x56910D4409F3a0C78C64DD8D0545FF0705389870"
# response (abridged)
{
"verdict": "PASS", // PASS | CAUTION | DANGER
"sellable": true, // honeypot sim: can you sell?
"roundTripLossPct": 2,
"lp": { "status": "locked", "safe": true },
"verified": false,
"launchpad": "scanhood", // scanhood | pons | launchhood | null
"rwa": "official", // official | impostor | unverified | null
"deployer": { "address": "0x..", "launched": 3, "risk": "none", "label": ".." },
"market": { "pool": "0x..", "priceUsd": 0.0169, "liq": 1276679, "vol24": 0, ... },
"flags": [ { "level": "warn", "msg": ".." } ]
}
Search & market data
GET/api/search?q={query}
Find any Robinhood-Chain token by symbol, name, or address. Returns normalized screener rows.
curl "https://scanhood.xyz/api/search?q=robinhood"
GET/api/ohlcv?pool={address}&tf={5m|15m|1h|4h|1d}
On-chain OHLCV candles for a pool, for native charting.
curl "https://scanhood.xyz/api/ohlcv?pool=0x..&tf=1h"
Launch a token v2
This endpoint covers the two
direct launch paths (V3/V4, single payer, atomic). The
bonding curve,
Crowd Launch (pooled bidding), and
NFT launchpad paths aren't wrapped by a REST endpoint yet, call their contracts directly, see
Crowd Launch below and the
whitepaper's contract addresses.
POST/api/launch
Launch a no-rug token programmatically, on either launchpad version. Returns an unsigned launchToken transaction — ScanHood never holds your key or funds, you sign and send it yourself. On success, liquidity is minted straight into a locked position (held by our locker contract, cannot be pulled) and the token is tradeable instantly.
| Field | Description |
| name, symbol | required |
| version | optional — "v3" (default, anti-snipe protection + atomic initial buy) or "v4" (Uniswap V4, no anti-snipe window) |
| logo, description, socials | optional metadata (socials: twitter/telegram/discord/website/farcaster) |
| feeWallet | optional — address that receives your share of trading fees (defaults to you, the sender) |
| initialBuyEth | v3 only — ETH amount to buy in the same tx (default 0). Rejected for v4 — no anti-snipe window to route around, so no advantage over buying normally after launch. |
| initialTick | v4 only — starting price tick (default -204200) |
| from | optional — your wallet address, used only to predict the token's address ahead of time (CREATE2, verified exact-match for both versions) |
# request — add "version": "v4" for a V4 launch instead
curl -X POST https://scanhood.xyz/api/launch -H "Content-Type: application/json" -d '{
"name": "My Token", "symbol": "MTK", "feeWallet": "0xYourAddress"
}'
# response (abridged) — sign & send this yourself, as a LEGACY (type 0) tx
{
"chainId": 4663, "to": "0x75eC...D35A7", "data": "0x...", "value": "1000000000000000",
"predictedToken": "0x...",
"gas": { "type": 0, "gasPrice": "...", "gasLimitSuggested": 9000000 }
}
GET/api/quote?token={address}&side={buy|sell}&amount={n}
Read-only swap quote (no execution) for a token against the ScanHood swap contract — expected output amount for a given ETH-in (buy) or token-in (sell).
curl "https://scanhood.xyz/api/quote?token=0x..&side=buy&amount=0.01"
Bridge relay.link
GET/api/bridge-quote?fromChain={id}&toChain={id}&amount={n}&user={address}
Read-only cross-chain quote (no execution) for bridging native ETH/BNB, via
relay.link — the same route the
Bridge tab on /swap uses. No ScanHood fee. Supported chain ids:
4663 (Robinhood),
1 (Ethereum),
8453 (Base),
42161 (Arbitrum),
56 (BNB Chain). Returns the unsigned deposit tx (
to/
value/
data) for the caller's own wallet to sign on
fromChain — ScanHood never holds funds or keys, same as every other endpoint here.
user is optional and only improves quote accuracy.
curl "https://scanhood.xyz/api/bridge-quote?fromChain=4663&toChain=8453&amount=0.01"
Crowd Launch on-chain
Pooled-bid launches: no REST wrapper yet, call the contract directly. Bidders pool ETH into a timed window; when it closes, anyone can permissionlessly call
conclude(), which graduates the whole raise into one locked Uniswap V3 pool at a single clearing price for every bidder. Full mechanics in the
whitepaper; live UI at
/launch/crowd.
| Contract | Robinhood Chain (4663) |
| ScanHoodCrowdLaunch | 0x9DEa8Da99a4FdbA4F634BBbbc3d92d911Ad072C8 |
| Function | What it does |
| openCrowdLaunch(params, fdvTargetWei, windowSecs) | Opens a new pooled launch for a token spec, payable launch fee included |
| bid(token) payable | Adds ETH to an open launch's pool; min bid enforced on-chain |
| conclude(token) | Permissionless — anyone can call once the window ends. Graduates to a locked V3 pool if the target cleared, opens refunds if it didn't |
| claimTokens(token) / claimRefund(token) | Pull-based — each bidder claims their own pro-rata tokens or exact refund, one bidder's claim can never block another's |
Data feeds static JSON
Refreshed on a cron; fetch directly, no rate limit.
| Endpoint | What |
| /api/robinhood-stocks.json | Tokenized stocks / RWA with official-issuer verification |
| /api/deployer-reputation.json | Deployer reputation — serial-rugger / spam-launcher scores |
| /api/robinhood-scanhood-launches.json | ScanHood launchpad launches (new/trending/graduating/graduated) |
| /api/robinhood-noxa-launches.json | Locked-LP launches from other Robinhood Chain launchpads (Pons, LaunchHood, etc — each tagged with its real platform) |
| /api/stocks-fundamentals.json | Fundamentals for every tokenized US stock (194): price, market cap, P/E, EPS, P/B, dividend yield, 52-week range, and on-chain basisPct — how far the on-chain pool price sits from the real listed price. Refreshed every 15min. Powers /fundamentals |
MCP server agents
POST/mcp
Streamable-HTTP MCP endpoint — point any MCP-compatible agent (Claude, etc.) at https://scanhood.xyz/mcp and it gets 20 native tools, no hand-rolled HTTP calls.
# add as a remote MCP server (client-specific syntax varies)
url: https://scanhood.xyz/mcp
transport: streamable-http
| Tool | What it does |
| scan_token | Composite safety verdict (PASS/CAUTION/DANGER) |
| search_token | Find a token by symbol, name, or address |
| get_ohlcv | On-chain OHLCV candles for a pool |
| get_stock_fundamentals | P/E, market cap, dividend yield, 52-week range and on-chain basis for any of the 194 tokenized stocks |
| get_swap_quote | Read-only buy/sell quote, no execution |
| get_bridge_quote | Read-only cross-chain bridge quote via relay.link, no execution |
| build_launch_tx | Build (unsigned) a V3 or V4 direct-launch tx |
| get_watchlist / save_watchlist | Read or overwrite a wallet's saved watchlist (save requires a signed message) |
| get_streak | A wallet's consecutive-day scan streak |
| get_scan_log | Recent completed scans, optional verdict filter |
| get_scan_rollup | Daily PASS/CAUTION/DANGER counts, up to 60 days |
| get_token_extra | Holder concentration, dev wallet %, holder count |
| apply_partner_key / get_partner_status | Apply for a free backlink-verified key, or check one |
| get_paid_tier_info / upgrade_to_paid_tier | Read the paid-tier payment terms, or submit a payment txid to upgrade a key |
| get_bots_stats | Stats from ScanHood's own arbitrage / fee-claim bots |
| get_bots_claim_prefs / set_bots_claim_prefs | Read or set per-token fee auto-claim preference (set requires a signed message) |
build_launch_tx covers V3/V4 direct launches only, same as /api/launch above — curve, Crowd Launch, and NFT paths aren't wrapped as MCP tools yet.
Partner tier free
POST/api/partner/apply
Free, higher-rate-limit access for any project that links back to ScanHood. Send {"site": "https://yoursite.com", "contact": "optional"} — this server actually fetches your site and checks for a real <a href> to scanhood.xyz on it before issuing a key, not a self-reported claim. Add the link, then apply. Add the returned key as ?key=... on any GET /api/* request to skip the standard per-IP rate limit entirely.
| Field | Meaning |
| site | Full URL of the page that links to scanhood.xyz (required) |
| contact | Optional, for reaching you about the integration |
GET/api/partner/status?key={key}
Check that a key is active and see which site it's registered to.
Paid tier 200r/s
GET/api/paid/info
Treasury address and minimum ETH payment to upgrade an existing partner key from the free tier (40r/s) to the paid tier (200r/s), paid on Robinhood Chain. This upgrades a key you already have from /api/partner/apply, it isn't a standalone signup.
# response
{ "ok": true, "chain": "Robinhood Chain (4663)", "treasury": "0xb13670445ac6ee3e8a3b074d77d8fe7ffa63e89c", "minEth": 0.01 }
POST/api/paid/upgrade
After sending at least minEth to the treasury address, submit the transaction hash here. Verified on-chain (status + amount) before activating; each txid can only be used once.
curl -X POST https://scanhood.xyz/api/paid/upgrade -H "Content-Type: application/json" -d '{
"key": "sh_...", "txid": "0x.. (32-byte tx hash)"
}'
Agent-oriented resources agents
GET/llms.txt
Full API summary in
llms.txt format — the fastest way for an agent to understand what ScanHood does and which endpoint to call.
GET/openapi.json
Full OpenAPI 3.1 spec for the REST API — lets agent frameworks (LangChain, CrewAI, etc.) auto-generate tool bindings without hand-written wrappers.
Coming soon v3
POST/api/swap
One-click safe buy/sell execution endpoint, plus per-call crypto payments (x402) for metered access to premium endpoints.
Want early access? →
🛡️ ScanHood's data reduces risk; it is not a guarantee or a buy signal. Sellable ≠ safe buy. Always verify on-chain. Not affiliated with Robinhood Markets, Inc.