openapi: 3.0.3 info: title: Swagger Zebra API - OpenAPI 3.0 version: 0.0.1 description: |- This is the Zebra API. It is a JSON-RPC 2.0 API that allows you to interact with the Zebra node. Useful links: - [The Zebra repository](https://github.com/ZcashFoundation/zebra) - [The latests API spec](https://github.com/ZcashFoundation/zebra/blob/main/openapi.yaml) servers: - url: http://localhost:8232 paths: /getinfo: post: tags: - control description: Returns software information from the RPC server, as a [`GetInfo`] JSON struct. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getinfo id: type: string default: uf2E54tQkk params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"build":"some build version","subversion":"some subversion"}' /getblockchaininfo: post: tags: - blockchain description: Returns blockchain state information, as a [`GetBlockChainInfo`] JSON struct. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getblockchaininfo id: type: string default: Sbre3vivr8 params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"chain":"main","blocks":1,"bestblockhash":"0000000000000000000000000000000000000000000000000000000000000000","estimatedheight":1,"valuePools":[{"id":"transparent","chainValue":0.0,"chainValueZat":0},{"id":"sprout","chainValue":0.0,"chainValueZat":0},{"id":"sapling","chainValue":0.0,"chainValueZat":0},{"id":"orchard","chainValue":0.0,"chainValueZat":0},{"id":"deferred","chainValue":0.0,"chainValueZat":0}],"upgrades":{},"consensus":{"chaintip":"00000000","nextblock":"00000000"}}' /getaddressbalance: post: tags: - address description: |- Returns the total balance of a provided `addresses` in an [`AddressBalance`] instance. **Request body `params` arguments:** - `address_strings` - A JSON map with a single entry requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getaddressbalance id: type: string default: f5qarOBgzK params: type: array items: {} default: '[{"addresses": ["tmYXBYJj1K7vhejSec5osXK2QsGa5MTisUQ"]}]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"balance":0}' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /sendrawtransaction: post: tags: - transaction description: |- Sends the raw bytes of a signed transaction to the local node''s mempool, if the transaction is valid. **Request body `params` arguments:** - `raw_transaction_hex` - The hex-encoded raw transaction bytes. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: sendrawtransaction id: type: string default: IlNHvAcSMS params: type: array items: {} default: '["signedhex"]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '"0000000000000000000000000000000000000000000000000000000000000000"' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /getblock: post: tags: - blockchain description: |- Returns the requested block by hash or height, as a [`GetBlock`] JSON string. **Request body `params` arguments:** - `hash_or_height` - The hash or height for the block to be returned. - `verbosity` - 0 for hex encoded data, 1 for a json object, and 2 for json object with transaction data. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getblock id: type: string default: s9678BM3Lc params: type: array items: {} default: '["1", 1]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"hash":"0000000000000000000000000000000000000000000000000000000000000000","confirmations":0,"tx":[],"trees":{}}' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /getbestblockhash: post: tags: - blockchain description: Returns the hash of the current best blockchain tip block, as a [`GetBlockHash`] JSON string. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getbestblockhash id: type: string default: FGQPJY8Tp8 params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '"0000000000000000000000000000000000000000000000000000000000000000"' /getbestblockheightandhash: post: tags: - blockchain description: Returns the height and hash of the current best blockchain tip block, as a [`GetBlockHeightAndHash`] JSON struct. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getbestblockheightandhash id: type: string default: c2MfkL7xP9 params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{}' /getrawmempool: post: tags: - blockchain description: Returns all transaction ids in the memory pool, as a JSON array. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getrawmempool id: type: string default: BugnNFhJpA params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '[]' /z_gettreestate: post: tags: - blockchain description: |- Returns information about the given block''s Sapling & Orchard tree state. **Request body `params` arguments:** - `hash | height` - The block hash or height. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: z_gettreestate id: type: string default: fCUQvR1BVa params: type: array items: {} default: '["00000000febc373a1da2bd9f887b105ad79ddc26ac26c2b28652d64e5207c5b5"]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"hash":"0000000000000000000000000000000000000000000000000000000000000000","height":0,"time":0}' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /z_getsubtreesbyindex: post: tags: - blockchain description: |- Returns information about a range of Sapling or Orchard subtrees. **Request body `params` arguments:** - `pool` - The pool from which subtrees should be returned. Either \"sapling\" or \"orchard\". - `start_index` - The index of the first 2^16-leaf subtree to return. - `limit` - The maximum number of subtree values to return. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: z_getsubtreesbyindex id: type: string default: TtPnptV6EU params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"pool":"sapling | orchard","start_index":0,"subtrees":[]}' /getrawtransaction: post: tags: - transaction description: |- Returns the raw transaction data, as a [`GetRawTransaction`] JSON string or structure. **Request body `params` arguments:** - `txid` - The transaction ID of the transaction to be returned. - `verbose` - If 0, return a string of hex-encoded data, otherwise return a JSON object. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getrawtransaction id: type: string default: QqYeOGSzje params: type: array items: {} default: '["mytxid", 1]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"hex":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","height":0,"confirmations":0}' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /getaddresstxids: post: tags: - address description: |- Returns the transaction ids made by the provided transparent addresses. **Request body `params` arguments:** - `request` - A struct with the following named fields: requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getaddresstxids id: type: string default: AsWWVyqp8x params: type: array items: {} default: '[{"addresses": ["tmYXBYJj1K7vhejSec5osXK2QsGa5MTisUQ"], "start": 1000, "end": 2000}]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '[]' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /getaddressutxos: post: tags: - address description: |- Returns all unspent outputs for a list of addresses. **Request body `params` arguments:** - `addresses` - The addresses to get outputs from. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getaddressutxos id: type: string default: Qscn5dUFgD params: type: array items: {} default: '[{"addresses": ["tmYXBYJj1K7vhejSec5osXK2QsGa5MTisUQ"]}]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"address":"t1Hsc1LR8yKnbbe3twRp88p6vFfC5t7DLbs","txid":"0000000000000000000000000000000000000000000000000000000000000000","outputIndex":0,"script":"00000000000000000000","satoshis":0,"height":0}' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /stop: post: tags: - control description: Stop the running zebrad process. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: stop id: type: string default: WuIaPXV5fO params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: 'null' /getblockcount: post: tags: - blockchain description: Returns the height of the most recent block in the best valid block chain (equivalently, requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getblockcount id: type: string default: '5F9M7Wp0oI' params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '0' /getblockhash: post: tags: - blockchain description: |- Returns the hash of the block of a given height iff the index argument correspond **Request body `params` arguments:** - `index` - The block index. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getblockhash id: type: string default: f7hdgVjctr params: type: array items: {} default: '[1]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '"0000000000000000000000000000000000000000000000000000000000000000"' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /getblocktemplate: post: tags: - mining description: |- Returns a block template for mining new Zcash blocks. **Request body `params` arguments:** - `jsonrequestobject` - A JSON object containing arguments. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getblocktemplate id: type: string default: pq0uXn3YGs params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{}' /submitblock: post: tags: - mining description: |- Submits block to the node to be validated and committed. **Request body `params` arguments:** - `jsonparametersobject` - - currently ignored requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: submitblock id: type: string default: bs4v4JmVw3 params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '"rejected"' /getmininginfo: post: tags: - mining description: Returns mining-related information. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getmininginfo id: type: string default: pp5xV6v3pm params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"blocks":0,"networksolps":0,"networkhashps":0,"chain":"","testnet":false}' /getnetworksolps: post: tags: - mining description: Returns the estimated network solutions per second based on the last `num_blocks` before requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getnetworksolps id: type: string default: '7bU98TeCV6' params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '0' /getnetworkhashps: post: tags: - mining description: Returns the estimated network solutions per second based on the last `num_blocks` before requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getnetworkhashps id: type: string default: fskOJeXqjo params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '0' /getpeerinfo: post: tags: - network description: Returns data about each connected network node. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getpeerinfo id: type: string default: jPV8ufjDdt params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"addr":"0.0.0.0:0"}' /validateaddress: post: tags: - util description: |- Checks if a zcash address is valid. **Request body `params` arguments:** - `address` - The zcash address to validate. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: validateaddress id: type: string default: xOyxICseV9 params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"isvalid":false}' /z_validateaddress: post: tags: - util description: |- Checks if a zcash address is valid. **Request body `params` arguments:** - `address` - The zcash address to validate. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: z_validateaddress id: type: string default: xa6PoC4uN6 params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"isvalid":false}' /getblocksubsidy: post: tags: - mining description: |- Returns the block subsidy reward of the block at `height`, taking into account the mining slow start. **Request body `params` arguments:** - `height` - Can be any valid current or future height. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getblocksubsidy id: type: string default: vYEVtnVK9o params: type: array items: {} default: '[1]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"miner":0.0,"founders":0.0,"fundingstreamstotal":0.0,"lockboxtotal":0.0,"totalblocksubsidy":0.0}' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters /getdifficulty: post: tags: - blockchain description: Returns the proof-of-work difficulty as a multiple of the minimum difficulty. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: getdifficulty id: type: string default: tVzSTZu2sD params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '0.0' /z_listunifiedreceivers: post: tags: - wallet description: |- Returns the list of individual payment addresses given a unified address. **Request body `params` arguments:** - `address` - The zcash unified address to get the list from. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: z_listunifiedreceivers id: type: string default: le2NmJBmPt params: type: array items: {} default: '[]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{"orchard":"orchard address if any","sapling":"sapling address if any","p2pkh":"p2pkh address if any","p2sh":"p2sh address if any"}' /generate: post: tags: - generating description: |- Mine blocks immediately. Returns the block hashes of the generated blocks. **Request body `params` arguments:** - `num_blocks` - Number of blocks to be generated. requestBody: required: true content: application/json: schema: type: object properties: method: type: string default: generate id: type: string default: vVVOWxHqlN params: type: array items: {} default: '[1]' responses: '200': description: OK content: application/json: schema: type: object properties: result: type: object default: '{}' '400': description: Bad request content: application/json: schema: type: object properties: error: type: string default: Invalid parameters