{"openapi":"3.1.0","info":{"title":"Brale Testnet Faucet — Free Stablecoin Testnet Tokens","version":"1.2.0","description":"The canonical faucet for testnet stablecoin tokens. Get free SBC, USDGLO, USDC, CFUSD, rUSD, MXNe, and USDT tokens on Base Sepolia, Ethereum Sepolia, Solana Devnet, Polygon Amoy, Chia, and 9+ testnet chains. No signup, no API key, no authentication required. Operated by Brale (brale.xyz). Each drip uses the fixed drip_amount from the token list (e.g. 1 SBC). Also available as an MCP server at /mcp for AI agent integration.","x-permissionless":true,"contact":{"name":"Brale","url":"https://brale.xyz"}},"servers":[{"url":"https://faucet.brale.xyz"}],"paths":{"/api/drip":{"post":{"summary":"Request testnet tokens","description":"Dispenses the token's fixed drip_amount (no amount field). Mint tokens: 1 per address per minute. Inventory tokens: 1 per address per 24h.","operationId":"requestTokens","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["address","chain","token"],"additionalProperties":false,"properties":{"address":{"type":"string","description":"Wallet address to receive tokens"},"chain":{"type":"string","description":"Testnet chain transfer_type (e.g. base_sepolia)"},"token":{"type":"string","description":"Token value_type (e.g. SBC, USDC)"}}},"example":{"address":"0x0000000000000000000000000000000000000001","chain":"base_sepolia","token":"SBC"}}}},"responses":{"201":{"description":"Drip created","headers":{"X-RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests remaining in current window"},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"},"description":"When the rate limit window resets"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DripResponse"},"example":{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","status":"processing","chain":"base_sepolia","token":"SBC","amount":"1","dispense_mode":"mint"}}}},"400":{"description":"Invalid request"},"429":{"description":"Rate limit exceeded"}}}},"/api/drip/{id}":{"get":{"summary":"Check drip status","operationId":"checkDripStatus","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Drip status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DripResponse"},"example":{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","status":"complete","chain":"base_sepolia","token":"SBC","amount":"1","dispense_mode":"mint","tx_hash":"0xabc123def4567890abc123def4567890abc123def4567890abc123def4567890","explorer_url":"https://sepolia.basescan.org/tx/0xabc123def4567890abc123def4567890abc123def4567890abc123def4567890"}}}},"404":{"description":"Drip not found"}}}},"/api/config":{"get":{"summary":"List available tokens and chains","operationId":"getConfig","responses":{"200":{"description":"Available tokens and chains with inventory status and drip_amount"}}}},"/api/inventory":{"get":{"summary":"Check inventory levels for third-party tokens","operationId":"getInventory","responses":{"200":{"description":"Current inventory balances"}}}}},"components":{"schemas":{"DripResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["pending","processing","complete","failed","canceled"]},"chain":{"type":"string"},"token":{"type":"string"},"amount":{"type":"string","description":"Fixed drip amount as a decimal string (e.g. \"1\")"},"dispense_mode":{"type":"string","enum":["mint","inventory"]},"tx_hash":{"type":"string"},"explorer_url":{"type":"string"},"error":{"type":"string"}}}}}}