⚙ 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).

Base URL   https://scanhood.xyz  ·  JSON  ·  CORS *  ·  ~5 req/s per IP  ·  higher limit for backlink partners ↓
Open source   github.com/scanhood/scanhood ↗  ·  the honeypot sim, LP-lock check, and this whole API, read the actual code, not just the docs

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.
ParamDescription
tokenERC-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.
FieldDescription
name, symbolrequired
versionoptional — "v3" (default, anti-snipe protection + atomic initial buy) or "v4" (Uniswap V4, no anti-snipe window)
logo, description, socialsoptional metadata (socials: twitter/telegram/discord/website/farcaster)
feeWalletoptional — address that receives your share of trading fees (defaults to you, the sender)
initialBuyEthv3 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.
initialTickv4 only — starting price tick (default -204200)
fromoptional — 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.
ContractRobinhood Chain (4663)
ScanHoodCrowdLaunch0x9DEa8Da99a4FdbA4F634BBbbc3d92d911Ad072C8
FunctionWhat it does
openCrowdLaunch(params, fdvTargetWei, windowSecs)Opens a new pooled launch for a token spec, payable launch fee included
bid(token) payableAdds 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.
EndpointWhat
/api/robinhood-stocks.jsonTokenized stocks / RWA with official-issuer verification
/api/deployer-reputation.jsonDeployer reputation — serial-rugger / spam-launcher scores
/api/robinhood-scanhood-launches.jsonScanHood launchpad launches (new/trending/graduating/graduated)
/api/robinhood-noxa-launches.jsonLocked-LP launches from other Robinhood Chain launchpads (Pons, LaunchHood, etc — each tagged with its real platform)
/api/stocks-fundamentals.jsonFundamentals 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
ToolWhat it does
scan_tokenComposite safety verdict (PASS/CAUTION/DANGER)
search_tokenFind a token by symbol, name, or address
get_ohlcvOn-chain OHLCV candles for a pool
get_stock_fundamentalsP/E, market cap, dividend yield, 52-week range and on-chain basis for any of the 194 tokenized stocks
get_swap_quoteRead-only buy/sell quote, no execution
get_bridge_quoteRead-only cross-chain bridge quote via relay.link, no execution
build_launch_txBuild (unsigned) a V3 or V4 direct-launch tx
get_watchlist / save_watchlistRead or overwrite a wallet's saved watchlist (save requires a signed message)
get_streakA wallet's consecutive-day scan streak
get_scan_logRecent completed scans, optional verdict filter
get_scan_rollupDaily PASS/CAUTION/DANGER counts, up to 60 days
get_token_extraHolder concentration, dev wallet %, holder count
apply_partner_key / get_partner_statusApply for a free backlink-verified key, or check one
get_paid_tier_info / upgrade_to_paid_tierRead the paid-tier payment terms, or submit a payment txid to upgrade a key
get_bots_statsStats from ScanHood's own arbitrage / fee-claim bots
get_bots_claim_prefs / set_bots_claim_prefsRead 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.
FieldMeaning
siteFull URL of the page that links to scanhood.xyz (required)
contactOptional, 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.