{"openapi":"3.1.0","info":{"title":"ScrapeMole Onchain: prices, DEX prices, ENS/Basenames, gas, tokens, balances, holders and transactions on Base and Ethereum","version":"1.0.0","description":"Pay-per-call on-chain data for agents on Base and Ethereum, read directly from chain state: Chainlink USD prices (crypto, stablecoins, FX, metals; 10 per call), ERC-20 token info, top token holders, wallet balances with USD values, transaction lookup with decoded ERC-20 transfers, ENS and Basename resolution (forward and reverse), gas and fee estimates in USD, and Uniswap v3 DEX prices for long-tail tokens (verify a payment arrived). USDC via x402; failed calls are never charged.\n\nPayments: x402 v2, scheme \"exact\", USDC on Base (eip155:8453). The payment is verified before the work and settled only when the response is 200. Terms: https://onchain.scrapemole.workers.dev/terms","contact":{"email":"edgaras@mail.grokbot.com","url":"https://scrapemole.pages.dev"},"x-guidance":"Call any /v1 endpoint without payment to receive a 402 with the exact price, then retry with an x402 client (e.g. @x402/fetch). 4xx/5xx responses are never charged."},"servers":[{"url":"https://onchain.scrapemole.workers.dev"}],"components":{"securitySchemes":{"x402":{"type":"http","scheme":"x402","description":"HTTP 402 payment with USDC via the x402 protocol."}}},"paths":{"/v1/price":{"get":{"operationId":"price","summary":"USD spot prices for up to 10 assets per call (crypto, stablecoins, forex, gold/silver) from Chainlink feeds read on-chain on Base or Ethereum, with update time and staleness flag.","description":"Use when you need a trustworthy USD price for crypto assets (ETH, BTC, cbBTC, SOL, LINK, AAVE, stablecoins), fiat FX rates (EUR, GBP, JPY…) or metals (XAU, XAG): reads the Chainlink price feed contracts directly from Base or Ethereum in one multicall and returns price, last update time, age in seconds, a stale flag and the feed address so the value is verifiable on-chain. Up to 10 symbols per call.","tags":["crypto","prices","chainlink","oracle","defi","base","fx"],"parameters":[{"name":"symbols","in":"query","required":true,"description":"Comma-separated asset symbols (max 10), e.g. \"ETH,BTC,USDC,EUR\". GET / lists all supported symbols per chain.","schema":{"type":"string","examples":["ETH,BTC"]}},{"name":"chain","in":"query","required":false,"description":"Chain to read the feeds from.","schema":{"type":"string","enum":["base","ethereum"],"default":"base"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"chain":"base","count":2,"prices":[{"symbol":"ETH","priceUsd":3912.45,"updatedAt":"2026-10-11T18:59:11.000Z","ageSeconds":240,"stale":false,"roundId":"18446744073709600000","feed":"0x…","assetClass":"Crypto"}],"unsupported":[]}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/token":{"get":{"operationId":"token","summary":"ERC-20 token metadata by contract address on Base or Ethereum: name, symbol, decimals, total supply (raw and human), contract check, plus USD price when a Chainlink feed exists.","description":"Use when you have a token contract address and need to know what it is: reads name, symbol, decimals and totalSupply straight from the contract (one multicall) on Base or Ethereum, confirms there is contract code at the address, and adds a Chainlink USD price when one exists for the symbol. Answers 404 (not charged) when the address is not a token.","tags":["crypto","erc20","tokens","base","ethereum"],"parameters":[{"name":"address","in":"query","required":true,"description":"Token contract address (0x…).","schema":{"type":"string","examples":["0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"]}},{"name":"chain","in":"query","required":false,"description":"Chain.","schema":{"type":"string","enum":["base","ethereum"],"default":"base"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.001","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"chain":"base","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"4123456789012345","totalSupplyFormatted":"4123456789.012345","isContract":true,"codeSizeBytes":1852,"priceUsd":0.9999,"explorer":"https://basescan.org/token/0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/balances":{"get":{"operationId":"balances","summary":"Native ETH and ERC-20 balances of any address on Base or Ethereum (default common tokens or your list), with USD values from Chainlink.","description":"Use when you need what a wallet or contract holds: reads the native ETH balance and ERC-20 balances (a default set of major tokens, or up to 20 token symbols/addresses you pass) for one address on Base or Ethereum in a single multicall, with human-readable amounts and USD values from Chainlink feeds, plus a total. Zero balances are omitted unless asked.","tags":["crypto","wallet","balances","portfolio","base","ethereum"],"parameters":[{"name":"address","in":"query","required":true,"description":"Wallet or contract address (0x…).","schema":{"type":"string","examples":["0x4200000000000000000000000000000000000006"]}},{"name":"chain","in":"query","required":false,"description":"Chain.","schema":{"type":"string","enum":["base","ethereum"],"default":"base"}},{"name":"tokens","in":"query","required":false,"description":"Comma-separated token symbols (from the default list) or 0x token addresses, max 20. Default: major tokens of the chain.","schema":{"type":"string"}},{"name":"includeZero","in":"query","required":false,"description":"Also list zero balances (true/false).","schema":{"type":"string","default":"false"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.003","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"chain":"base","address":"0x…","native":{"symbol":"ETH","balance":"1.2345","priceUsd":3912.45,"valueUsd":4829.92},"tokens":[{"symbol":"USDC","address":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6,"balance":"250.5","priceUsd":1,"valueUsd":250.5}],"totalUsd":5080.42,"checkedTokens":9,"blockNumber":36500000}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/tx":{"get":{"operationId":"tx","summary":"Look up a transaction on Base or Ethereum: status, block and time, from/to, ETH value, fee, method selector and decoded ERC-20 transfers with symbols and amounts.","description":"Use when you need to confirm or explain a transaction (e.g. verify a payment arrived): fetches the transaction, its receipt and block from Base or Ethereum and returns success/failed/pending, confirmations, timestamp, from, to, native value, gas used and fee, the 4-byte method selector, contract created, and every ERC-20 Transfer log decoded with token symbol and human amount. 404 (not charged) if the hash is unknown.","tags":["crypto","transactions","payments","verification","base","ethereum"],"parameters":[{"name":"hash","in":"query","required":true,"description":"Transaction hash (0x + 64 hex).","schema":{"type":"string","examples":["0x6c6a66f1d1d3b0cbe2d6d7e1b0b3a8f6c2a0e5d4c3b2a19080706050403020100"]}},{"name":"chain","in":"query","required":false,"description":"Chain.","schema":{"type":"string","enum":["base","ethereum"],"default":"base"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"chain":"base","hash":"0x…","status":"success","blockNumber":36500000,"timestamp":"2026-10-11T18:00:01.000Z","confirmations":120,"from":"0x…","to":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","valueEth":"0","feeEth":"0.0000021","gasUsed":"62000","methodSelector":"0xa9059cbb","transfers":[{"token":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","symbol":"USDC","from":"0x…","to":"0x…","amount":"0.01","raw":"10000"}],"explorer":"https://basescan.org/tx/0x…"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/ens":{"get":{"operationId":"ens","summary":"Resolve an ENS name or Basename (vitalik.eth, jesse.base.eth, *.cb.id) to its address, or an address to its primary ENS name and Basename (forward-verified).","description":"Use before sending funds or when you only have a human-readable name: resolves ENS names (.eth and DNS names on ENS, including offchain/wildcard resolvers via CCIP-Read such as *.cb.id) and Basenames (*.base.eth, read directly on Base) to a checksummed address; or, given an address, returns its primary ENS name and primary Basename, each forward-verified (the name must resolve back to the address). Names are normalized per ENSIP-15. Unresolvable names are not charged.","tags":["ens","basenames","base","ethereum","identity","wallet"],"parameters":[{"name":"name","in":"query","required":false,"description":"ENS name or Basename to resolve, e.g. vitalik.eth or jesse.base.eth. Give name or address.","schema":{"type":"string","examples":["vitalik.eth"]}},{"name":"address","in":"query","required":false,"description":"Address to reverse-resolve (0x… 40 hex). Give name or address.","schema":{"type":"string"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.001","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"query":"vitalik.eth","name":"vitalik.eth","chain":"ethereum","address":"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045","resolver":"0x231b0ee14048e9dccd1d247744d114a4eb5e8e63"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/gas":{"get":{"operationId":"gas","summary":"Current gas on Base or Ethereum: base fee, slow/standard/fast priority fees (gwei) from the last 20 blocks, block fullness, and the cost in ETH and USD of a transfer, an ERC-20 transfer and a swap.","description":"Use before sending a transaction or to tell a user what it will cost: reads eth_feeHistory over the last 20 blocks (10th/50th/90th percentile tips), the next base fee and gas price, on Base also the L1 data fee upper bound from the OP-stack GasPriceOracle, and prices typical actions (ETH transfer 21k gas, ERC-20 transfer 65k, DEX swap 180k) in ETH and USD (Chainlink ETH/USD).","tags":["gas","fees","base","ethereum","transactions","eip-1559"],"parameters":[{"name":"chain","in":"query","required":false,"description":"Chain.","schema":{"type":"string","enum":["base","ethereum"],"default":"base"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.001","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"chain":"base","block":52479060,"baseFeeGwei":0.005,"gasPriceGwei":0.006,"priorityFeeGwei":{"slow":0.0001,"standard":0.001,"fast":0.0022},"blockFullness":0.1,"ethUsd":2533.08,"l1DataFeeEth":"0.000001232","estimates":[{"action":"ETH transfer","gas":21000,"standard":{"eth":"0.000001358","usd":0.0034}}]}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/dex-price":{"get":{"operationId":"dexPrice","summary":"On-chain DEX price of any ERC-20 on Base or Ethereum from Uniswap v3 pools (vs WETH/USDC/USDT): price in USD and in the quote token, the deepest pool, its fee tier and pool reserves.","description":"Use when a token has no Chainlink feed (long-tail, new or memecoins) and you need its current market price: finds every Uniswap v3 pool of the token against WETH, USDC (and USDT on Ethereum) across fee tiers, reads each pool's price (slot0) and reserves in one multicall, converts to USD with Chainlink, and returns the price from the deepest pool plus all pools with their depth. Flags thin liquidity. Uniswap v3 only (Aerodrome and other DEXs not included).","tags":["dex","uniswap","prices","defi","base","tokens","memecoins"],"parameters":[{"name":"token","in":"query","required":true,"description":"ERC-20 contract address.","schema":{"type":"string","examples":["0x940181a94A35A4569E4529A3CDfB74e38FD98631"]}},{"name":"chain","in":"query","required":false,"description":"Chain.","schema":{"type":"string","enum":["base","ethereum"],"default":"base"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"chain":"base","token":"0x940181a94A35A4569E4529A3CDfB74e38FD98631","symbol":"AERO","priceUsd":0.9437,"best":{"pool":"0xE5B5f522E98B5a2baAe212d4dA66b865B781DB97","dex":"uniswap-v3","fee":500,"quote":"USDC","priceInQuote":0.943,"depthUsd":257631},"lowLiquidity":false,"pools":[]}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}},"/v1/holders":{"get":{"operationId":"holders","summary":"Top holders of an ERC-20 token on Base or Ethereum: rank, address, balance (raw and human), share of supply when known, and public explorer labels/ENS when available.","description":"Use when you need who holds a token (concentration, whales, treasury): returns the top N holders of an ERC-20 contract on Base or Ethereum with rank, checksummed address, raw and formatted balance, and share of total supply when the explorer provides it. Public name tags and ENS from the explorer are included as labels; no personal identity is invented and emails are stripped. Ethereum prefers Blockscout, falls back to Ethplorer. Base uses Blockscout; if that explorer blocks the request, the call returns 503 and is not charged.","tags":["crypto","holders","erc20","whales","tokens","base","ethereum","onchain"],"parameters":[{"name":"address","in":"query","required":true,"description":"Token contract address (0x…).","schema":{"type":"string","examples":["0xdAC17F958D2ee523a2206206994597C13D831ec7"]}},{"name":"chain","in":"query","required":false,"description":"Chain.","schema":{"type":"string","enum":["base","ethereum"],"default":"base"}},{"name":"limit","in":"query","required":false,"description":"Max holders to return (1-50).","schema":{"type":"string","default":"10"}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"pricingMode":"fixed","price":"0.002","currency":"USD","network":"eip155:8453","networks":["eip155:8453"],"asset":"USDC"},"responses":{"200":{"description":"Result (the payment settles only for this status).","content":{"application/json":{"example":{"chain":"ethereum","token":"0xdAC17F958D2ee523a2206206994597C13D831ec7","name":"Tether USD","symbol":"USDT","decimals":6,"count":3,"holders":[{"rank":1,"address":"0xF977814e90dA44bFA03b6295A0616a897441aceC","balance":"16000000001134208","balanceFormatted":"16000000001.134208","sharePercent":18.12,"label":"Binance: Hot Wallet 20"}],"source":"Ethereum Blockscout","sourceUrl":"https://eth.blockscout.com/api/v2/tokens/0xdAC17F958D2ee523a2206206994597C13D831ec7/holders"}}}},"400":{"description":"Invalid input. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"402":{"description":"Payment required (x402). The PAYMENT-REQUIRED header (mirrored in the body) carries price, network and payTo."},"404":{"description":"Not found / no data. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"502":{"description":"Upstream error. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}},"504":{"description":"Upstream timeout. Not charged.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"charged":{"type":"boolean","const":false}}}}}}}}}}}}}