openapi: 3.2.0 info: title: MadeOnSol x402 Robinhood Chain API version: 1.0.0 description: 'Pay-per-call Solana and Robinhood Chain memecoin intelligence — KOL trades, deployer reputation, token risk, wallet PnL. No signup, no API key: every endpoint is x402-paywalled per request.' x-guidance: 'All endpoints are GET. Call an endpoint, receive an x402 v2 402 challenge (accepts[].amount is in token ATOMIC units), pay from your wallet, retry with the payment header. Solana endpoints (/api/x402/*) settle in USDC on Solana mainnet; Robinhood Chain endpoints (/api/x402/rhc/*) dual-accept USDG on Robinhood Chain (eip155:4663) or USDC on Solana. Path parameters are in curly braces; query parameters are optional unless marked required. Human-readable index: https://madeonsol.com/x402. The madeonsol-x402 SDKs (npm and PyPI) handle the 402 → sign → retry loop automatically, including LangChain and CrewAI toolkits.' contact: email: info@madeonsol.com servers: - url: https://madeonsol.com tags: - name: x402 Robinhood Chain paths: /api/x402/rhc/kol/feed: get: operationId: rhc_kol_feed summary: Robinhood Chain KOL trade feed — EVM-native (0x addresses, eth_amount, tx_hash)… tags: - x402 Robinhood Chain parameters: - name: limit in: query required: false description: Max trades to return schema: type: integer minimum: 1 maximum: 100 default: 50 - name: action in: query required: false description: Filter by trade side schema: type: string enum: - buy - sell - name: kol in: query required: false description: Filter by a single RHC KOL wallet address (0x, 40 hex) schema: type: string - name: min_eth in: query required: false description: Minimum ETH-equivalent trade size schema: type: number minimum: 0 maximum: 100000 - name: before in: query required: false description: ISO8601 timestamp — only trades before this time (pagination) schema: type: string x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. properties: trades: type: array items: type: object additionalProperties: true required: - trades additionalProperties: true '402': description: Payment Required /api/x402/rhc/kol/hot-tokens: get: operationId: rhc_kol_hot-tokens summary: Robinhood Chain KOL momentum tokens — tokens with accelerating KOL buy interest… tags: - x402 Robinhood Chain parameters: - name: window in: query required: false description: Consensus window schema: type: string enum: - 5m - 15m - 1h - 6h - 24h default: 1h x-payment-info: price: mode: fixed currency: USD amount: '0.010000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. properties: tokens: type: array items: type: object additionalProperties: true required: - tokens additionalProperties: true '402': description: Payment Required /api/x402/rhc/kol/leaderboard: get: operationId: rhc_kol_leaderboard summary: Robinhood Chain KOL performance rankings by PnL and win rate tags: - x402 Robinhood Chain parameters: - name: period in: query required: false description: Ranking window schema: type: string enum: - 24h - 7d - 30d default: 24h - name: limit in: query required: false description: Max KOLs to return schema: type: integer minimum: 1 maximum: 100 default: 50 x-payment-info: price: mode: fixed currency: USD amount: '0.005000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. properties: leaderboard: type: array items: type: object additionalProperties: true required: - leaderboard additionalProperties: true '402': description: Payment Required /api/x402/rhc/tokens/{mint}: get: operationId: rhc_tokens_mint summary: Robinhood Chain token snapshot — price, market cap, liquidity, primary… tags: - x402 Robinhood Chain parameters: - name: mint in: path required: true description: Robinhood Chain token address (0x, 40 hex) schema: type: string example: '0x0000000000000000000000000000000000000001' example: '0x0000000000000000000000000000000000000001' x-payment-info: price: mode: fixed currency: USD amount: '0.010000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. additionalProperties: true '402': description: Payment Required /api/x402/rhc/tokens/{mint}/buyer-quality: get: operationId: rhc_tokens_mint_buyer-quality summary: Robinhood Chain early-buyer quality — dump-cluster exposure, recycled-wallet… tags: - x402 Robinhood Chain parameters: - name: mint in: path required: true description: Robinhood Chain token address (0x, 40 hex) schema: type: string example: '0x0000000000000000000000000000000000000001' example: '0x0000000000000000000000000000000000000001' x-payment-info: price: mode: fixed currency: USD amount: '0.020000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. additionalProperties: true '402': description: Payment Required /api/x402/rhc/tokens/{mint}/kol-consensus: get: operationId: rhc_tokens_mint_kol-consensus summary: Robinhood Chain KOL consensus on a token — which tracked KOLs bought, when, and… tags: - x402 Robinhood Chain parameters: - name: mint in: path required: true description: Robinhood Chain token address (0x, 40 hex) schema: type: string example: '0x0000000000000000000000000000000000000001' example: '0x0000000000000000000000000000000000000001' x-payment-info: price: mode: fixed currency: USD amount: '0.020000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. additionalProperties: true '402': description: Payment Required /api/x402/rhc/tokens/{mint}/risk: get: operationId: rhc_tokens_mint_risk summary: Robinhood Chain token risk score (0-100) with per-factor breakdown… tags: - x402 Robinhood Chain parameters: - name: mint in: path required: true description: Robinhood Chain token address (0x, 40 hex) schema: type: string example: '0x0000000000000000000000000000000000000001' example: '0x0000000000000000000000000000000000000001' x-payment-info: price: mode: fixed currency: USD amount: '0.020000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. additionalProperties: true '402': description: Payment Required /api/x402/rhc/tokens/{mint}/holders: get: operationId: rhc_tokens_mint_holders summary: Robinhood Chain holder census — top holders with wei-exact balances… tags: - x402 Robinhood Chain parameters: - name: mint in: path required: true description: Robinhood Chain token address (0x, 40 hex) schema: type: string example: '0x0000000000000000000000000000000000000001' example: '0x0000000000000000000000000000000000000001' - name: limit in: query required: false description: Top holders to return (page size) schema: type: integer minimum: 1 maximum: 200 default: 50 - name: offset in: query required: false description: Page offset (ignored when `after` is set) schema: type: integer minimum: 0 maximum: 10000 default: 0 - name: after in: query required: false description: 'Keyset cursor: pass next_after from the previous page unchanged (walks the full holder set past offset 10,000)' schema: type: string x-payment-info: price: mode: fixed currency: USD amount: '0.020000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. properties: holders: type: array items: type: object additionalProperties: true required: - holders additionalProperties: true '402': description: Payment Required /api/x402/rhc/wallet/{address}/pnl: get: operationId: rhc_wallet_address_pnl summary: Robinhood Chain wallet FIFO cost-basis PnL — realized + unrealized, per-token… tags: - x402 Robinhood Chain parameters: - name: address in: path required: true description: Robinhood Chain wallet address (0x, 40 hex) schema: type: string example: '0x0000000000000000000000000000000000000001' example: '0x0000000000000000000000000000000000000001' x-payment-info: price: mode: fixed currency: USD amount: '0.020000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. additionalProperties: true '402': description: Payment Required /api/x402/rhc/deployer-hunter/alerts: get: operationId: rhc_deployer-hunter_alerts summary: Robinhood Chain tracked-deployer launch alerts — new tokens from graded… tags: - x402 Robinhood Chain parameters: - name: limit in: query required: false description: Max alerts schema: type: integer minimum: 1 maximum: 500 default: 50 - name: deployer_tier in: query required: false description: Filter by deployer tier schema: type: string enum: - elite - good - neutral - spammer - name: priority in: query required: false description: Filter by alert priority schema: type: string enum: - high - medium - name: alert_type in: query required: false description: Filter by alert type schema: type: string enum: - new_deploy - graduated - name: launchpad in: query required: false description: Filter by launchpad name (1-32 chars) schema: type: string - name: min_mc in: query required: false description: Minimum market cap in USD at alert schema: type: number minimum: 0 - name: include_untradeable in: query required: false description: Include alerts whose pool liquidity is under the $100 tradability floor schema: type: string enum: - 'true' - 'false' default: 'false' - name: since in: query required: false description: ISO8601 timestamp with offset — only alerts after this time (incremental polling) schema: type: string - name: before in: query required: false description: ISO8601 timestamp with offset — only alerts before this time (pagination) schema: type: string - name: offset in: query required: false description: Pagination offset (not with cursor) schema: type: integer minimum: 0 maximum: 10000 default: 0 - name: cursor in: query required: false description: 'Opaque keyset cursor: pass next_cursor from the previous page alone (not with before/offset)' schema: type: string x-payment-info: price: mode: fixed currency: USD amount: '0.010000' protocols: - x402: {} responses: '200': description: Successful response content: application/json: schema: type: object description: Illustrative response fragment; additional fields and row properties are documented by the endpoint. Not live market data. properties: alerts: type: array items: type: object additionalProperties: true required: - alerts additionalProperties: true '402': description: Payment Required