{"openapi":"3.0.0","info":{"title":"Base Web3 M2M Infrastructure Hub","version":"45.0.0","description":"APIs de microservicios con pago automatizado bajo protocolo x402-v2 y freemium trial. El estado real de cada servicio se indica en dataSource (LIVE*, o PENDIENTE_DE_INTEGRACION / REQUIERE_* si aún no devuelve datos reales)."},"servers":[{"url":"https://auditor-x402.onrender.com"}],"paths":{"/api/base-gas-optimizer":{"post":{"summary":"Live Base Mainnet gas data from eth_feeHistory: latest and 10-block average base fee (gwei), priority-fee percentiles (p25/p50/p75) and a congestion label.","x-price-usdc":0.002,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[]},"example":{}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/dex-arbitrage-scanner":{"post":{"summary":"WETH/USDC spot price read on-chain from Uniswap v3 and Aerodrome v2 on Base, with the gross spread in bps and which side is cheaper. Fees, gas and slippage are not included.","x-price-usdc":0.005,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"pair":{"type":"string","description":"Only \"WETH/USDC\" is supported"}},"required":[]},"example":{"pair":"WETH/USDC"}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/whale-wallet-tracker":{"post":{"summary":"Large USDC transfers on Base over the most recent blocks (default ~300), from confirmed Transfer logs: amount, sender, receiver, tx hash, block.","x-price-usdc":0.005,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"minUsdcAmount":{"type":"number","description":"Minimum transfer size in USDC (min 1000, default 100000)"},"windowBlocks":{"type":"number","description":"Blocks to scan, 25-600 (default 300, ~2s per block)"}},"required":[]},"example":{"minUsdcAmount":100000}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/flash-loan-routes":{"post":{"summary":"Aave v3 on Base: available flash-loan liquidity and flash-loan fee for any listed asset (default WETH), read on-chain.","x-price-usdc":0.005,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"string","description":"ERC-20 address (0x...) of the asset; default WETH"}},"required":[]},"example":{"asset":"0x4200000000000000000000000000000000000006"}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/token-liquidity-health":{"post":{"summary":"Risk flags for an ERC-20 on Base (honeypot, tax over 10%, mintable, unverified source, hidden owner, pausable...) from GoPlus plus on-chain facts (symbol, supply, owner). No safety verdict: no flags is not a guarantee.","x-price-usdc":0.005,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"ERC-20 token contract address (0x...) on Base"}},"required":["tokenAddress"]},"example":{"tokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/lending-health-factor":{"post":{"summary":"Aave v3 on Base: total collateral, debt, health factor and risk band (LIQUIDATABLE / AT_RISK / WATCH / HEALTHY / NO_DEBT) for any wallet.","x-price-usdc":0.005,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"userAddress":{"type":"string","description":"Wallet address (0x...) to inspect"}},"required":["userAddress"]},"example":{"userAddress":"0xbC94aCb997cDb3152477978Bc81B59255F77E224"}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/token-deploy-radar":{"post":{"summary":"Newest Uniswap v3 pools created on Base (PoolCreated events) with token symbols, fee tier and block. A new pool does not imply a legitimate token.","x-price-usdc":0.005,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"windowBlocks":{"type":"number","description":"Blocks to scan, 50-3000 (default 1500)"},"limit":{"type":"number","description":"Max pools returned, 1-30 (default 15)"}},"required":[]},"example":{}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/token-due-diligence":{"post":{"summary":"One-call due diligence for an ERC-20 on Base: GoPlus risk flags, on-chain facts (supply, owner, proxy), and Uniswap v3 pools vs WETH/USDC with quote-side liquidity in USD. Returns objective signals, not a verdict. Replaces three separate calls.","x-price-usdc":0.01,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"ERC-20 token contract address (0x...) on Base"}},"required":["tokenAddress"]},"example":{"tokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}},"/api/contract-profile":{"post":{"summary":"Technical profile of a contract on Base: bytecode size, proxy detection (EIP-1167 / EIP-1967 implementation and admin) and owner(). This is NOT a security audit.","x-price-usdc":0.003,"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"x402 payment payload (base64). Omit it to receive the 402 payment requirements.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"Address (0x...) to inspect"}},"required":["address"]},"example":{"address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}}},"responses":{"200":{"description":"Data delivered"},"400":{"description":"Invalid or missing input (not charged)"},"402":{"description":"Payment required (x402): see the PAYMENT-REQUIRED response header"},"429":{"description":"Rate limit exceeded"},"502":{"description":"Upstream data failure (not charged)"},"503":{"description":"Service temporarily unavailable (not charged)"}}}}}}