{"openapi":"3.0.3","info":{"title":"KingPepe Public API","version":"1.0.0","description":"Read-only KingPepe blockchain, mempool, address, and network data. No wallet, admin, mining, or broadcast methods are exposed. All endpoints are rate-limited and cached.","license":{"name":"Read-only public API"}},"servers":[{"url":"https://kingpepe.net"},{"url":"http://127.0.0.1:8080"}],"paths":{"/api/v1/status":{"get":{"summary":"Service + node + indexer health","parameters":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/network":{"get":{"summary":"Network / chain summary","parameters":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/blocks/latest":{"get":{"summary":"Latest blocks","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"max 25"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/blocks/{height}":{"get":{"summary":"Block by height","parameters":[{"name":"height","in":"path","required":true,"schema":{"type":"string"},"description":"block height (integer)"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/block/{hash}":{"get":{"summary":"Block by hash","parameters":[{"name":"hash","in":"path","required":true,"schema":{"type":"string"},"description":"64-hex block hash"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/tx/{txid}":{"get":{"summary":"Transaction by TXID","parameters":[{"name":"txid","in":"path","required":true,"schema":{"type":"string"},"description":"64-hex transaction id"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/address/{address}":{"get":{"summary":"Address summary (balance/received/sent/txcount)","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"KingPepe address (kpepe1… or base58)"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/address/{address}/transactions":{"get":{"summary":"Address transaction ids (paginated)","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"KingPepe address"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"},"description":"page index"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"page size (max 50)"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/address/{address}/utxos":{"get":{"summary":"Address UTXOs (via scantxoutset, cached)","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string"},"description":"KingPepe address"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/mempool":{"get":{"summary":"Mempool summary + fee histogram + projected blocks","parameters":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/mempool/transactions":{"get":{"summary":"Recent/top mempool transactions","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"page size (max 50)"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/fees":{"get":{"summary":"Fee estimates (sat/vB); null when node has insufficient data","parameters":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/supply":{"get":{"summary":"Total issued (subsidy sum) + circulating (UTXO-set total)","parameters":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/peers":{"get":{"summary":"Connected peers — SANITIZED (no IP/local addresses)","parameters":[],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}},"/api/v1/search":{"get":{"summary":"Dispatch a query to block/tx/address","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"},"description":"height, hash, txid, or address"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid input"},"429":{"description":"Rate limited"},"503":{"description":"Node unavailable"}}}}}}