{"openapi":"3.1.0","info":{"title":"LootPad API","version":"1.0.0","summary":"The public read API for LootPad - the first agent-tradable venue on Robinhood Chain.","description":"Every coin, trade, and fee split on LootPad (Robinhood Chain, id 4663), served as clean JSON. Free, no key, CORS-open.\n\nConventions:\n- GET only; CORS is open to all origins.\n- All on-chain amounts are wei as decimal strings - parse with BigInt, never Number.\n- Addresses are lowercase 0x hex; timestamps are unix seconds.\n- Successful responses are cached for about 10 seconds.\n- Every failure is {\"ok\":false,\"error\":\"...\"} with a matching HTTP status.\n\nAgents: LootPad also speaks MCP - reads, quotes, launches, and trades. See https://lootpad.tech/developers for the one-line add.","contact":{"name":"LootPad","url":"https://lootpad.tech/developers"}},"externalDocs":{"description":"The LootPad developer hub - MCP, quickstart, and the live API explorer.","url":"https://lootpad.tech/developers"},"servers":[{"url":"https://lootpad.tech/api/v1","description":"Production"}],"tags":[{"name":"Coins","description":"The board, single-coin detail, and trade feeds."},{"name":"Platform","description":"Lifetime fee totals and the leaderboard."},{"name":"Creators","description":"Creator wallets: launches and earnings."},{"name":"Growth","description":"Growth Rails: the recruiter board and the live rewards program card."},{"name":"Meta","description":"The self-describing API index."}],"paths":{"/":{"get":{"operationId":"getIndex","tags":["Meta"],"summary":"The self-describing index: conventions, chain info, and every endpoint. Static, so it answers even when the data layer is briefly down.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IndexResponse"},"example":{"ok":true,"name":"LootPad API","version":"v1","base_url":"https://lootpad.tech/api/v1","docs":"https://lootpad.tech/developers","chain":{"id":4663,"name":"Robinhood Chain","explorer":"https://robinhoodchain.blockscout.com"},"conventions":["GET only; CORS is open to all origins","All on-chain amounts are wei as decimal strings"],"endpoints":[{"method":"GET","path":"/api/v1/coins","description":"The live board."}]}}}}}}},"/coins":{"get":{"operationId":"listCoins","tags":["Coins"],"summary":"The live board: every tradeable coin with price, market cap, curve progress, and volume.","parameters":[{"name":"limit","in":"query","required":false,"description":"How many coins to return, 1 to 500. Default 60.","schema":{"type":"integer","minimum":1,"maximum":500,"default":60},"example":10},{"name":"sort","in":"query","required":false,"description":"Board order: new (latest launches), cap (largest market cap), bonded (closest to graduation), hot (most 24h volume). Default new.","schema":{"type":"string","enum":["new","cap","bonded","hot"],"default":"new"},"example":"hot"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoinsResponse"},"example":{"ok":true,"sort":"hot","count":1,"total":42,"coins":[{"address":"0x1234567890abcdef1234567890abcdef12345678","launcher":"v3","name":"Golden Fox","symbol":"GFOX","uri":"https://lootpad.tech","creator":"0x9608701da2dcae22f89d72dba133167d15612bfb","created_ts":1752600000,"created_block":10901234,"launch_tx":"0xab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12","pool":"0xabcd1234abcd1234abcd1234abcd1234abcd1234","coin_is_token0":true,"hidden":false,"graduated":false,"price_wei":"1240000000","mcap_wei":"1240000000000000000","curve_progress_bps":3820,"eth_raised_wei":"820000000000000000","launch_price_wei":"1000000000","live":true,"trades":214,"last_trade_ts":1752600500,"volume_eth":18.42,"volume_1h_eth":2.05,"volume_24h_eth":6.11}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/coins/{address}":{"get":{"operationId":"getCoin","tags":["Coins"],"summary":"One coin in full: live detail, the 50 most recent trades, lifetime fee split, graduation record, and launch dev buy.","parameters":[{"name":"address","in":"path","required":true,"description":"A 0x hex address (40 hex chars). Case-insensitive on input; responses always use lowercase.","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"example":"0x1234567890abcdef1234567890abcdef12345678"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoinDetailResponse"},"example":{"ok":true,"coin":{"address":"0x1234567890abcdef1234567890abcdef12345678","launcher":"v3","name":"Golden Fox","symbol":"GFOX","uri":"https://lootpad.tech","creator":"0x9608701da2dcae22f89d72dba133167d15612bfb","created_ts":1752600000,"created_block":10901234,"launch_tx":"0xab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12","pool":"0xabcd1234abcd1234abcd1234abcd1234abcd1234","coin_is_token0":true,"hidden":false,"graduated":false,"price_wei":"1240000000","mcap_wei":"1240000000000000000","curve_progress_bps":3820,"eth_raised_wei":"820000000000000000","launch_price_wei":"1000000000","live":true,"trades":214,"last_trade_ts":1752600500,"volume_eth":18.42,"volume_1h_eth":2.05,"volume_24h_eth":6.11},"trades":[{"coin":"0x1234567890abcdef1234567890abcdef12345678","side":"buy","wallet":"0x00aa00aa00aa00aa00aa00aa00aa00aa00aa00aa","eth_wei":"50000000000000000","token_wei":"40000000000000000000000","price_wei":"1240000000","block":10905678,"log_index":3,"ts":1752600500,"tx":"0xcd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34","source":"pool"}],"fees":{"to_creator_wei":"410000000000000000","to_loot_wei":"307500000000000000","to_house_wei":"102500000000000000","total_wei":"820000000000000000"},"graduation":null,"dev_buy":null}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/coins/{address}/trades":{"get":{"operationId":"listCoinTrades","tags":["Coins"],"summary":"The coin's trade feed, newest first. Covers both launchers: V3 pool Swaps and legacy Bought/Sold events.","parameters":[{"name":"address","in":"path","required":true,"description":"A 0x hex address (40 hex chars). Case-insensitive on input; responses always use lowercase.","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"example":"0x1234567890abcdef1234567890abcdef12345678"},{"name":"limit","in":"query","required":false,"description":"How many trades to return, 1 to 1000. Default 100.","schema":{"type":"integer","minimum":1,"maximum":1000,"default":100},"example":50}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradesResponse"},"example":{"ok":true,"coin":"0x1234567890abcdef1234567890abcdef12345678","count":2,"trades":[{"coin":"0x1234567890abcdef1234567890abcdef12345678","side":"buy","wallet":"0x00aa00aa00aa00aa00aa00aa00aa00aa00aa00aa","eth_wei":"50000000000000000","token_wei":"40000000000000000000000","price_wei":"1240000000","block":10905678,"log_index":3,"ts":1752600500,"tx":"0xcd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34cd34","source":"pool"},{"coin":"0x1234567890abcdef1234567890abcdef12345678","side":"sell","wallet":"0x00bb00bb00bb00bb00bb00bb00bb00bb00bb00bb","eth_wei":"120000000000000000","token_wei":"97000000000000000000000","price_wei":"1235000000","block":10905650,"log_index":1,"ts":1752600480,"tx":"0xef56ef56ef56ef56ef56ef56ef56ef56ef56ef56ef56ef56ef56ef56ef56ef56","source":"pool"}]}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/stats":{"get":{"operationId":"getStats","tags":["Platform"],"summary":"Platform lifetime totals from on-chain fee events across both launchers: paid to creators, $LOOT stakers, and the house.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatsResponse"},"example":{"ok":true,"events":5821,"totals":{"events":5821,"to_creator_wei":"12500000000000000000","to_loot_wei":"9375000000000000000","to_house_wei":"3125000000000000000","total_wei":"25000000000000000000"},"by_launcher":{"legacy":{"events":1204,"to_creator_wei":"2500000000000000000","to_loot_wei":"1875000000000000000","to_house_wei":"625000000000000000","total_wei":"5000000000000000000"},"v3":{"events":4617,"to_creator_wei":"10000000000000000000","to_loot_wei":"7500000000000000000","to_house_wei":"2500000000000000000","total_wei":"20000000000000000000"}}}}}},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/leaderboard":{"get":{"operationId":"getLeaderboard","tags":["Platform"],"summary":"Top coins by lifetime traded ETH and top creators by lifetime creator fees.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeaderboardResponse"},"example":{"ok":true,"coins":[{"address":"0x1234567890abcdef1234567890abcdef12345678","launcher":"v3","name":"Golden Fox","symbol":"GFOX","creator":"0x9608701da2dcae22f89d72dba133167d15612bfb","graduated":true,"mcap_wei":"42000000000000000000","volume_eth":182.4,"trades":2140}],"creators":[{"creator":"0x9608701da2dcae22f89d72dba133167d15612bfb","fees_wei":"4200000000000000000","coins":7,"volume_eth":512.9,"trades":6033}]}}}},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/recruiters":{"get":{"operationId":"listRecruiters","tags":["Growth"],"summary":"The Growth Rails recruiter leaderboard: Recruiter Score, tier, verified new holders brought, net volume driven, and paid receipts.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecruitersResponse"},"example":{"ok":true,"enabled":true,"count":1,"recruiters":[{"code":"9608701d","handle":"robin","tier":"Outlaw","score":412,"referred_wallets":38,"new_wallets":21,"net_volume_eth":14.7,"earned_wei":"182000000000000000","paid_wei":"120000000000000000","followers":9,"staked":true}]}}}},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/rewards":{"get":{"operationId":"getRewardsProgram","tags":["Growth"],"summary":"The live Growth Rails program card: which earn surfaces are on and what they pay - straight from the live config, so a throttled surface reports itself honestly.","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardsResponse"},"example":{"ok":true,"enabled":true,"note":"All cash rewards come from the house 12.5% of the 1% fee (Pool A) or the capped marketing budget (Pool B).","surfaces":{"s3_invite":{"enabled":true,"summary":"Your open invite link (site + bot) - 2.5% of every fee your referred wallets ever generate, for life."}},"holdback_hours":24,"disclosure_tag":"#ad @lootpadfun","docs":"https://lootpad.tech/rewards"}}}},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/creators/{address}":{"get":{"operationId":"getCreator","tags":["Creators"],"summary":"A creator wallet's public profile: the coins they launched, lifetime creator fees earned, and what is claimable right now.","parameters":[{"name":"address","in":"path","required":true,"description":"A 0x hex address (40 hex chars). Case-insensitive on input; responses always use lowercase.","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"example":"0x1234567890abcdef1234567890abcdef12345678"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatorResponse"},"example":{"ok":true,"creator":"0x9608701da2dcae22f89d72dba133167d15612bfb","coins":[{"address":"0x1234567890abcdef1234567890abcdef12345678","launcher":"v3","name":"Golden Fox","symbol":"GFOX","uri":"https://lootpad.tech","creator":"0x9608701da2dcae22f89d72dba133167d15612bfb","created_ts":1752600000,"created_block":10901234,"launch_tx":"0xab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12ab12","pool":"0xabcd1234abcd1234abcd1234abcd1234abcd1234","coin_is_token0":true,"hidden":false,"graduated":false,"price_wei":"1240000000","mcap_wei":"1240000000000000000","curve_progress_bps":3820,"eth_raised_wei":"820000000000000000","launch_price_wei":"1000000000","live":true,"trades":214,"last_trade_ts":1752600500,"volume_eth":18.42,"volume_1h_eth":2.05,"volume_24h_eth":6.11}],"lifetime_creator_fees_wei":"4200000000000000000","claimable":{"legacy_wei":"0","v3_wei":"180000000000000000","total_wei":"180000000000000000"}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}}},"components":{"schemas":{"Coin":{"type":"object","description":"One coin as the board and detail endpoints return it.","required":["address","launcher","name","symbol","creator","created_ts","graduated","live","trades"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"launcher":{"type":"string","enum":["legacy","v3"],"description":"Which launcher the coin lives on: the live V3 pad or the legacy curve."},"name":{"type":"string"},"symbol":{"type":"string"},"uri":{"type":"string","description":"The on-chain metadata URI set at launch."},"creator":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"created_ts":{"type":"integer","description":"Unix timestamp, seconds."},"created_block":{"type":"integer"},"launch_tx":{"type":["string","null"],"pattern":"^0x[0-9a-f]{64}$","description":"Transaction hash."},"pool":{"type":["string","null"],"pattern":"^0x[0-9a-f]{40}$","description":"V3 only: the coin's Uniswap V3 pool. Null for legacy coins."},"coin_is_token0":{"type":["boolean","null"]},"hidden":{"type":"boolean","description":"Always false through the public API."},"graduated":{"type":"boolean"},"price_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"Wei per whole coin. Null when no price is known yet."},"mcap_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"curve_progress_bps":{"type":["integer","null"],"minimum":0,"maximum":10000,"description":"0-10000 progress toward graduation; null once graduated or unknown."},"eth_raised_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"launch_price_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"V3 launch-price baseline (the change-percent anchor). Null for legacy coins."},"live":{"type":"boolean","description":"True when the figures come from a live on-chain read."},"trades":{"type":"integer"},"last_trade_ts":{"type":["integer","null"],"description":"Unix timestamp, seconds."},"volume_eth":{"type":"number","description":"Float ETH volume: display and sorting only, never money math."},"volume_1h_eth":{"type":"number"},"volume_24h_eth":{"type":"number"}}},"Trade":{"type":"object","description":"One fill, from either launcher (V3 pool Swap or legacy Bought/Sold).","required":["coin","side","wallet","eth_wei","token_wei","price_wei","ts","tx","source"],"properties":{"coin":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"side":{"type":"string","enum":["buy","sell"]},"wallet":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"eth_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"token_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"price_wei":{"type":"string","pattern":"^[0-9]+$","description":"Wei per whole coin at the fill, as a decimal string."},"block":{"type":"integer"},"log_index":{"type":"integer"},"ts":{"type":"integer","description":"Unix timestamp, seconds."},"tx":{"type":"string","pattern":"^0x[0-9a-f]{64}$","description":"Transaction hash."},"source":{"type":"string","enum":["legacy","pool"]}}},"FeeTotals":{"type":"object","description":"The 1% fee split in exact wei: 50% creator, 37.5% $LOOT stakers, 12.5% house.","required":["to_creator_wei","to_loot_wei","to_house_wei","total_wei"],"properties":{"events":{"type":"integer","description":"How many on-chain fee events the totals cover."},"to_creator_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"to_loot_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"to_house_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"total_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."}}},"Graduation":{"type":"object","description":"The coin's graduation record: the moment it bonded into open-market liquidity.","required":["coin","eth_liquidity_wei","token_liquidity_wei","block","ts","tx"],"properties":{"coin":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"eth_liquidity_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"token_liquidity_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"target":{"type":"string"},"block":{"type":"integer"},"ts":{"type":"integer","description":"Unix timestamp, seconds."},"tx":{"type":"string","pattern":"^0x[0-9a-f]{64}$","description":"Transaction hash."}}},"DevBuy":{"type":"object","description":"The creator's launch-block buy, if they made one.","required":["coin","buyer","eth_wei","token_wei","block","ts","tx"],"properties":{"coin":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"buyer":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"eth_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"token_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"block":{"type":"integer"},"ts":{"type":"integer","description":"Unix timestamp, seconds."},"tx":{"type":"string","pattern":"^0x[0-9a-f]{64}$","description":"Transaction hash."}}},"IndexResponse":{"type":"object","description":"The self-describing API index: conventions, chain info, and endpoint list.","required":["ok","name","version","base_url","endpoints"],"properties":{"ok":{"const":true},"name":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"base_url":{"type":"string"},"docs":{"type":"string"},"chain":{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"},"explorer":{"type":"string"}}},"conventions":{"type":"array","items":{"type":"string"}},"endpoints":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string"},"path":{"type":"string"},"params":{"type":"string"},"description":{"type":"string"}}}}}},"CoinsResponse":{"type":"object","required":["ok","sort","count","total","coins"],"properties":{"ok":{"const":true},"sort":{"type":"string"},"count":{"type":"integer","description":"Coins in this response."},"total":{"type":"integer","description":"Coins on the whole board."},"coins":{"type":"array","items":{"$ref":"#/components/schemas/Coin"}}}},"CoinDetailResponse":{"type":"object","required":["ok","coin","trades","fees"],"properties":{"ok":{"const":true},"coin":{"$ref":"#/components/schemas/Coin"},"trades":{"type":"array","items":{"$ref":"#/components/schemas/Trade"},"description":"The 50 most recent trades. Use /coins/{address}/trades for a deeper feed."},"fees":{"$ref":"#/components/schemas/FeeTotals"},"graduation":{"oneOf":[{"$ref":"#/components/schemas/Graduation"},{"type":"null"}]},"dev_buy":{"oneOf":[{"$ref":"#/components/schemas/DevBuy"},{"type":"null"}]}}},"TradesResponse":{"type":"object","required":["ok","coin","count","trades"],"properties":{"ok":{"const":true},"coin":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"count":{"type":"integer"},"trades":{"type":"array","items":{"$ref":"#/components/schemas/Trade"}}}},"StatsResponse":{"type":"object","required":["ok","events","totals","by_launcher"],"properties":{"ok":{"const":true},"events":{"type":"integer"},"totals":{"$ref":"#/components/schemas/FeeTotals"},"by_launcher":{"type":"object","required":["legacy","v3"],"properties":{"legacy":{"$ref":"#/components/schemas/FeeTotals"},"v3":{"$ref":"#/components/schemas/FeeTotals"}}}}},"LeaderboardResponse":{"type":"object","required":["ok","coins","creators"],"properties":{"ok":{"const":true},"coins":{"type":"array","description":"Top coins by lifetime traded ETH.","items":{"type":"object","required":["address","launcher","name","symbol","creator","graduated","volume_eth","trades"],"properties":{"address":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"launcher":{"type":"string","enum":["legacy","v3"]},"name":{"type":"string"},"symbol":{"type":"string"},"creator":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"graduated":{"type":"boolean"},"mcap_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"volume_eth":{"type":"number"},"trades":{"type":"integer"}}}},"creators":{"type":"array","description":"Top creators by lifetime creator fees.","items":{"type":"object","required":["creator","fees_wei","coins","volume_eth","trades"],"properties":{"creator":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"fees_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"coins":{"type":"integer"},"volume_eth":{"type":"number"},"trades":{"type":"integer"}}}}}},"RecruitersResponse":{"type":"object","required":["ok","enabled","count","recruiters"],"properties":{"ok":{"const":true},"enabled":{"type":"boolean","description":"False when the recruiter surface is paused by the ops kill switch."},"count":{"type":"integer"},"recruiters":{"type":"array","description":"Top recruiters by Recruiter Score (fraud-excluded entries never appear).","items":{"type":"object","required":["code","tier","score","referred_wallets","new_wallets","earned_wei","paid_wei"],"properties":{"code":{"type":"string","pattern":"^[0-9a-f]{6,12}$","description":"The recruiter's code - the first 8 hex of their wallet."},"handle":{"type":["string","null"],"description":"Public handle, if claimed."},"tier":{"type":"string","description":"Ladder tier: Scout, Bowman, Outlaw, Merry Man."},"score":{"type":"integer","description":"Recruiter Score (0-1000), sybil-adjusted, recency-decayed."},"referred_wallets":{"type":"integer"},"new_wallets":{"type":"integer","description":"Referred wallets whose first-ever platform trade came after the bind - verified new holders."},"net_volume_eth":{"type":"number","description":"Net-buy attributed volume (wash-resistant), float ETH."},"earned_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"paid_wei":{"type":"string","pattern":"^[0-9]+$","description":"Actually settled payouts, in wei - the receipts."},"followers":{"type":"integer"},"staked":{"type":"boolean"}}}}}},"RewardsResponse":{"type":"object","description":"The live Growth Rails program card. Each surface reports enabled + a human summary; values reflect the LIVE ops config.","required":["ok","enabled","surfaces","holdback_hours"],"properties":{"ok":{"const":true},"enabled":{"type":"boolean","description":"The master switch - false freezes every surface."},"note":{"type":"string"},"surfaces":{"type":"object","description":"s1_caller, s2_friend, s3_invite, s4_quests, s5_content, s6_recruiters.","additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean"},"summary":{"type":"string"}}}},"holdback_hours":{"type":"integer","description":"Hours a reward vests before it becomes claimable."},"disclosure_tag":{"type":"string","description":"Mandatory tag on all incentivized posts."},"docs":{"type":"string"}}},"CreatorResponse":{"type":"object","required":["ok","creator","coins","lifetime_creator_fees_wei","claimable"],"properties":{"ok":{"const":true},"creator":{"type":"string","pattern":"^0x[0-9a-f]{40}$","description":"Lowercase 0x hex address."},"coins":{"type":"array","items":{"$ref":"#/components/schemas/Coin"}},"lifetime_creator_fees_wei":{"type":"string","pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"claimable":{"type":"object","description":"What the creator can claim right now, per launcher. Null when a live read is unavailable.","properties":{"legacy_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"v3_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."},"total_wei":{"type":["string","null"],"pattern":"^[0-9]+$","description":"Exact on-chain amount in wei, as a decimal string. Parse with BigInt, never Number."}}}}},"Error":{"type":"object","description":"Every failure, same envelope: {ok:false,error} with a matching HTTP status.","required":["ok","error"],"properties":{"ok":{"const":false},"error":{"type":"string"}}}},"responses":{"BadRequest":{"description":"Invalid address or parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"ok":false,"error":"bad address"}}}},"NotFound":{"description":"Unknown coin.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"ok":false,"error":"unknown coin"}}}},"ServiceUnavailable":{"description":"The data layer is briefly unavailable. Back off and retry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"},"example":{"ok":false,"error":"indexer unavailable"}}}}}}}