{"info":{"title":"Onrender","version":"1.0.0"},"openapi":"3.1.0","paths":{"/base64":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Base64","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Encode or decode base64. POST {\"mode\":\"encode\",\"input\":\"...\"} or {\"mode\":\"decode\",...}. Supports standard and url-safe alphabets via {\"urlsafe\":true}. Decoding validates the input and reports an error rather than returning silent garbage."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Base64","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Encode or decode base64. POST {\"mode\":\"encode\",\"input\":\"...\"} or {\"mode\":\"decode\",...}. Supports standard and url-safe alphabets via {\"urlsafe\":true}. Decoding validates the input and reports an error rather than returning silent garbage."}},"/chain/block":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Block","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read the head of the Base chain, or a specific block. POST {} for the latest block, or {\"number\":12345678} for one by height. Returns number, hash, unix timestamp, gas used and transaction count. Useful as an authoritative chain clock."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Block","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read the head of the Base chain, or a specific block. POST {} for the latest block, or {\"number\":12345678} for one by height. Returns number, hash, unix timestamp, gas used and transaction count. Useful as an authoritative chain clock."}},"/chain/code":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Code","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Determine whether an address on Base is a contract or an externally owned account. POST {\"address\":\"0x...\"} and receive isContract, the bytecode size in bytes and its keccak-256 hash. Useful before sending funds to an unfamiliar address."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Code","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Determine whether an address on Base is a contract or an externally owned account. POST {\"address\":\"0x...\"} and receive isContract, the bytecode size in bytes and its keccak-256 hash. Useful before sending funds to an unfamiliar address."}},"/chain/eth-balance":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Eth Balance","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read the native ETH balance of an address on Base. POST {\"address\":\"0x...\"} and receive the balance in wei and in ether. Live chain state read directly from a node, with no indexer lag and no API key."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Eth Balance","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read the native ETH balance of an address on Base. POST {\"address\":\"0x...\"} and receive the balance in wei and in ether. Live chain state read directly from a node, with no indexer lag and no API key."}},"/chain/gas":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Gas","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Current gas conditions on Base. POST {} and receive the legacy gas price and the EIP-1559 base fee of the latest block, in wei and gwei. Useful for agents deciding whether to transact now or wait."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Gas","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Current gas conditions on Base. POST {} and receive the legacy gas price and the EIP-1559 base fee of the latest block, in wei and gwei. Useful for agents deciding whether to transact now or wait."}},"/chain/nonce":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Nonce","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read the transaction count of an address on Base. POST {\"address\":\"0x...\"} with an optional {\"pending\":true} to include the mempool. Returns the nonce an agent should use for its next transaction."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Nonce","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read the transaction count of an address on Base. POST {\"address\":\"0x...\"} with an optional {\"pending\":true} to include the mempool. Returns the nonce an agent should use for its next transaction."}},"/chain/token":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Token","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read ERC-20 metadata on Base. POST {\"token\":\"0x...\"} and receive the name, symbol, decimals and total supply, with the supply given both raw and decimal-adjusted. Reports a clear error when the address is not a token contract."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Token","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Read ERC-20 metadata on Base. POST {\"token\":\"0x...\"} and receive the name, symbol, decimals and total supply, with the supply given both raw and decimal-adjusted. Reports a clear error when the address is not a token contract."}},"/chain/tx":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Tx","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Look up a transaction on Base by hash. POST {\"hash\":\"0x...\"} and receive its status, block number, from and to addresses, value, gas used and effective gas price. Returns a clear not-found rather than an empty object when the hash is unknown."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Chain Tx","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Look up a transaction on Base by hash. POST {\"hash\":\"0x...\"} and receive its status, block number, from and to addresses, value, gas used and effective gas price. Returns a clear not-found rather than an empty object when the hash is unknown."}},"/hash":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Hash","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Compute cryptographic digests of a string. POST {\"input\":\"...\",\"algorithms\":[\"sha256\"]} and receive one hex digest per requested algorithm. Supports sha256, sha512 and keccak256. Deterministic, no storage, no upstream calls."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Hash","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Compute cryptographic digests of a string. POST {\"input\":\"...\",\"algorithms\":[\"sha256\"]} and receive one hex digest per requested algorithm. Supports sha256, sha512 and keccak256. Deterministic, no storage, no upstream calls."}},"/time":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Time","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Server time in several formats at once. POST {} and receive the current UTC instant as ISO-8601, unix seconds, unix milliseconds and RFC-2822. Useful for agents that need an authoritative clock they did not compute themselves."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Time","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Server time in several formats at once. POST {} and receive the current UTC instant as ISO-8601, unix seconds, unix milliseconds and RFC-2822. Useful for agents that need an authoritative clock they did not compute themselves."}},"/uuid":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Uuid","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Generate cryptographically random UUIDv4 identifiers. POST {\"count\":10} and receive that many unique v4 UUIDs, 1 to 100 per call. Uses the platform CSPRNG. No storage."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Uuid","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Generate cryptographically random UUIDv4 identifiers. POST {\"count\":10} and receive that many unique v4 UUIDs, 1 to 100 per call. Uses the platform CSPRNG. No storage."}},"/web/search":{"post":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Web Search","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Web search for agents. POST a JSON body with a \"query\" string and an optional \"limit\" (1-20); returns ranked results, each with a title, url and text snippet. Keyword and semantic matching, no API key required, billed per call: $0.001000 USDC."},"get":{"responses":{"200":{"description":"Successful response"},"402":{"description":"Payment Required"}},"x-payment-info":{"offers":[{"amount":"1000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Onrender: Web Search","intent":"charge","method":"evm","recipient":"0x9Cc774A8eD49d89cBA1A288F4a050B8F7FbA77EE"}]},"summary":"Web search for agents. POST a JSON body with a \"query\" string and an optional \"limit\" (1-20); returns ranked results, each with a title, url and text snippet. Keyword and semantic matching, no API key required, billed per call: $0.001000 USDC."}}},"x-service-info":{"description":"Onrender is an x402-native service at https://x402-echo-service.onrender.com, indexed from the x402 Bazaar (Coinbase's public discovery directory). It charges callers itself in USDC on Base and is paid directly at its own wallet; Monex Protocol passes your request and payment headers through untouched. 12 endpoints listed."}}