openapi: 3.0.0 servers: - url: https://api.explorer.provable.com/v2/mainnet description: Mainnet API Endpoint - url: https://api.explorer.provable.com/v2/testnet description: Testnet API Endpoint - url: https://api.explorer.provable.com/v2/canary description: Canary API Endpoint info: description: | The Provable API is designed to provide users with access to the Aleo blockchain through RESTful endpoints that allow one to query the network for block level information, transactions, transitions, and more. Developers can easily interact directly with Aleo through both retrieving data as well as broadcasting transactions. ## API Base URLs | Environment | URL | |--------------|---------------------------------------------| | Mainnet API | https://api.explorer.provable.com/v2/mainnet | | Testnet API | https://api.explorer.provable.com/v2/testnet | | Canary API | https://api.explorer.provable.com/v2/canary | ## Rate Limiting Users are allowed to perform **5 requests per second** and up to **100,000 requests per day**. Rate limiting will be enforced and users are subject to blacklisting if they abuse the use of our API. For inquiries into obtaining higher rate limits, please reach out at devservices@provable.com. version: 2.0.0 title: Provable API contact: name: API Support email: devservices@provable.com externalDocs: description: Find out more about Aleo url: "https://aleo.org" tags: - name: Blocks description: Block-related endpoints x-displayName: Blocks - name: Committee description: Committee-related endpoints x-displayName: Committee - name: Programs description: Program-related endpoints x-displayName: Programs - name: Solutions description: Solution-related endpoints x-displayName: Solutions - name: Supply description: Supply-related endpoints x-displayName: Supply - name: Transactions description: Transaction-related endpoints x-displayName: Transactions - name: DeFi description: DeFi-related endpoints x-displayName: DeFi - name: Staking description: Staking-related endpoints x-displayName: Staking - name: Proving description: Proving-related endpoints x-displayName: Proving - name: Address description: Address-related endpoints x-displayName: Address paths: /block/latest: get: summary: Latest block description: Retrieves the latest block from the Aleo blockchain. operationId: getLatestBlock tags: - Blocks responses: '200': description: > The full Aleo block object. This object contains block level information including: metadata, ratifications, solutions, and transactions. content: application/json: schema: $ref: '#/components/schemas/Block' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /block/height/latest: get: summary: Latest block height description: Retrieves the latest block height from the Aleo blockchain. operationId: getLatestHeight tags: - Blocks responses: '200': description: The latest block height, i.e. tip of chain, retrieved from the Aleo blockchain. content: application/json: schema: type: object properties: height: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /block/hash/latest: get: summary: Latest block hash description: Retrieves the latest block hash from the Aleo blockchain. operationId: getLatestHash tags: - Blocks responses: '200': description: A block hash of the latest block from the canonical Aleo blockchain. content: application/json: schema: type: object properties: hash: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /block/{height_or_hash}: get: summary: Block by height or hash description: Returns a block by its height or hash tags: - Blocks parameters: - name: height_or_hash in: path required: true schema: type: string responses: '200': description: Block data content: application/json: schema: $ref: '#/components/schemas/Block' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /find/blockHash/{txID}: get: summary: Find block hash by transaction ID description: Returns the block hash containing the specified transaction tags: - Blocks parameters: - name: txID in: path required: true schema: type: string responses: '200': description: Block hash content: application/json: schema: type: object properties: hash: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /block/{height}/transactions: get: summary: Transactions by block height description: Returns all transactions in the specified block tags: - Blocks parameters: - name: height in: path required: true schema: type: integer responses: '200': description: Array of transactions content: application/json: schema: type: object properties: transactions: type: array items: $ref: '#/components/schemas/TransactionSummary' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /blocks: get: summary: Blocks in range description: Returns blocks within the specified range tags: - Blocks parameters: - name: start in: query required: true schema: type: integer - name: end in: query required: true schema: type: integer responses: '200': description: Array of blocks content: application/json: schema: type: array items: $ref: '#/components/schemas/Block' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /stateRoot/latest: get: summary: Latest state root description: > Retrieves the latest state root from the Aleo blockchain. The state root is the merkle root of all previous block hashes. operationId: getLatestStateRoot tags: - Blocks responses: '200': description: The state root of the canonical Aleo blockchain. content: application/json: schema: type: object properties: stateRoot: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /stateRoot/{height}: get: summary: State root at specified height description: > Retrieves the latest stateRoot from a specific block on the Aleo blockchain. The stateRoot is the merkle root of all previous block hashes. operationId: getStateRootAtHeight tags: - Blocks parameters: - name: height in: path required: true schema: type: integer responses: '200': description: The state root of the canonical Aleo blockchain at a given block height. content: application/json: schema: type: object properties: stateRoot: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /find/blockHeight/{stateRoot}: get: summary: Find block height by state root description: Returns the block height for the specified state root tags: - Blocks parameters: - name: stateRoot in: path required: true schema: type: string responses: '200': description: Block height content: application/json: schema: type: object properties: height: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /statePath/{commitment}: get: summary: State path by commitment description: Returns the state path for the specified commitment operationId: getStatePathByCommitment tags: - Blocks parameters: - name: commitment in: path required: true schema: type: string responses: '200': description: State path content: application/json: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /statePaths: get: summary: State paths for commitments description: > Returns state paths for the specified commitments. Example: `GET //statePaths?commitments=cm1,cm2,...` tags: - Blocks parameters: - name: commitments in: query required: true schema: type: array items: type: string style: form explode: false responses: '200': description: State paths content: application/json: schema: type: array items: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /height/{hash}: get: summary: Height by block hash description: Returns the block height for the specified block hash operationId: getHeightByBlockHash tags: - Blocks parameters: - name: hash in: path required: true schema: type: string responses: '200': description: Block height content: application/json: schema: type: object properties: height: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /blocks/summary/latest: get: summary: Latest block summary description: Returns a summary of the latest block tags: - Blocks responses: '200': description: Latest block summary content: application/json: schema: type: array items: $ref: '#/components/schemas/BlockSummary' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /find/transactionID/{transitionID}: get: summary: Find transaction by transition ID description: Returns the transaction ID for the specified transition tags: - Transactions parameters: - name: transitionID in: path required: true schema: type: string responses: '200': description: Transaction ID content: application/json: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /transaction/confirmed/{txID}: get: summary: Confirmed transaction description: Retrieves the confirmation status of a transaction that was submitted to the Aleo blockchain. operationId: getTransactionConfirmed tags: - Transactions parameters: - name: txID in: path required: true schema: type: string responses: '200': description: A ConfirmedTransaction object containing confirmation status, all inputs, outputs, fee object, and finalize operations. content: application/json: schema: $ref: '#/components/schemas/ConfirmedTransaction' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /transaction/unconfirmed/{txID}: get: summary: Unconfirmed transaction description: > Retrieves an unconfirmed transaction from the Aleo blockchain. operationId: getUnconfirmedTransaction tags: - Transactions parameters: - name: txID in: path required: true schema: type: string responses: '200': description: A Transaction object containing all inputs, outputs, and fee object. content: application/json: schema: $ref: '#/components/schemas/UnconfirmedTransaction' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /transaction/broadcast: post: summary: Broadcast transaction description: Broadcast a transaction to the Aleo blockchain. operationId: broadcastTransaction tags: - Transactions parameters: - name: check_transaction in: query description: Whether to check the transaction and receive a confirmation of receival (not approval) after broadcasting required: false schema: type: boolean default: false requestBody: description: > To broadcast a transactions, the request body should follow the outlined json object below. Please be sure to specify the correct "type" of transaction. If you are broadcasting a transaction to deploy a program, use the type "deploy". All other transactions will be of type "execute". required: true content: application/json: schema: oneOf: - $ref: '#/components/schemas/ExecuteTransaction' - $ref: '#/components/schemas/DeployTransaction' discriminator: propertyName: type mapping: execute: '#/components/schemas/ExecuteTransaction' deploy: '#/components/schemas/DeployTransaction' responses: '200': description: > A string either indicating why the transaction failed or the successfully broadcasted transaction id. content: application/json: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /metrics/transactions: get: summary: Transaction metrics daily description: Returns total transaction counts for each date tags: - Transactions responses: '200': description: Transaction count history content: application/json: schema: type: array items: type: object properties: day: type: string count: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /transactions/summary/latest: get: summary: Latest transaction summary description: Returns information about the latest 1,000 transactions tags: - Transactions responses: '200': description: Latest transaction summary content: application/json: schema: type: array items: $ref: '#/components/schemas/TransactionSummary' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /program/{programID}: get: summary: Program by ID description: Returns program information by ID operationId: getProgram tags: - Programs parameters: - name: programID in: path required: true schema: type: string - name: metadata in: query required: false schema: type: boolean default: false responses: '200': description: Program data content: application/json: schema: $ref: '#/components/schemas/ProgramDataResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /find/transitionID/{inputOrOutputID}: get: summary: Find transition ID by input/output ID description: Returns the transition ID for the specified input or output ID tags: - Programs parameters: - name: inputOrOutputID in: path required: true schema: type: string responses: '200': description: Transition ID content: application/json: schema: type: object properties: transition_id: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /program/{programID}/mappings: get: summary: Program mappings description: > Retrieves mappings for a given program by Program ID. These mappings can then be queried through additional endpoints. operationId: getProgramMappings tags: - Programs parameters: - name: programID in: path required: true schema: type: string responses: '200': description: An array of mappings for the given program. content: application/json: schema: type: array items: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /program/{programID}/latest_edition: get: summary: Latest edition of program description: Returns the latest edition number for the specified program tags: - Programs parameters: - name: programID in: path required: true schema: type: string responses: '200': description: Latest edition number content: application/json: schema: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /program/{programID}/{edition}: get: summary: Program by edition description: > Retrieves program details by Program ID and specific edition. operationId: getProgramByEdition tags: - Programs parameters: - name: programID in: path required: true schema: type: string - name: edition in: path required: true schema: type: integer responses: '200': description: The program source code. content: application/json: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /program/{programID}/mapping/{mappingName}/{key}: get: summary: Program mapping value description: > Retrieves a mapping value given the name of the mapping and the associated key. The available mappings for a given program can be obtained via the /program/{programID}/mappings query. operationId: getMappingValue tags: - Programs parameters: - name: programID in: path required: true schema: type: string - name: mappingName in: path required: true schema: type: string - name: key in: path required: true schema: type: string - name: metadata in: query required: false schema: type: boolean default: false responses: '200': description: > A mapping value. content: application/json: schema: oneOf: - $ref: '#/components/schemas/MappingValueResponse' - $ref: '#/components/schemas/MappingValueWithMetadataResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /find/transactionID/deployment/{programID}: get: summary: Program deployment transaction description: Returns the deployment transaction ID for the specified program tags: - Programs parameters: - name: programID in: path required: true schema: type: string responses: '200': description: Deployment transaction ID content: application/json: schema: type: object properties: transaction_id: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /find/transactionID/deployment/{programID}/{edition}: get: summary: Program deployment by edition description: Returns the deployment transaction ID for the specified program edition tags: - Programs parameters: - name: programID in: path required: true schema: type: string - name: edition in: path required: true schema: type: integer responses: '200': description: Deployment transaction ID content: application/json: schema: type: object properties: transaction_id: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /block/{height}/history/{mapping}: get: summary: Historical values for `credits.aleo` mappings description: Returns historical values for one of the following `credits.aleo` mappings at a given height tags: - Programs parameters: - name: height in: path required: true schema: type: integer - name: mapping in: path required: true schema: type: string enum: - bonded - delegated - metadata - unbonding - withdraw responses: '200': description: Block history content: application/json: schema: type: array items: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /metrics/programs: get: summary: Program metrics description: Returns program metrics tags: - Programs responses: '200': description: Program metrics content: application/json: schema: type: array items: type: object properties: program_id: type: string calls: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /solution/broadcast: post: summary: Broadcast solution description: Broadcasts a solution to the network tags: - Solutions requestBody: required: true content: application/json: schema: type: object properties: partial_solution: type: object properties: solution_id: type: string epoch_hash: type: string address: type: string counter: type: integer target: type: integer required: - partial_solution - target responses: '200': description: Solution ID content: application/json: schema: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /committee/latest: get: summary: Latest committee description: > Retrieves the latest committee from the Aleo blockchain. The committee represents the Validator set at this given point in time. operationId: getLatestCommittee tags: - Committee responses: '200': description: > The full committee object containing the list of validators, staked amount, bonding state, and commission rate. content: application/json: schema: $ref: '#/components/schemas/CommitteeResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /committee/{height}: get: summary: Committee by height description: Returns committee information at the specified height tags: - Committee parameters: - name: height in: path required: true schema: type: string responses: '200': description: Committee data content: application/json: schema: $ref: '#/components/schemas/CommitteeResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /delegators/{validator}: get: summary: Delegators by validator address description: Returns delegators for the specified validator address tags: - Committee parameters: - name: validator in: path required: true schema: type: string responses: '200': description: Delegators data content: application/json: schema: type: array items: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /defi/totalValue: get: summary: Latest defi total value locked (TVL) description: Returns the latest DeFi TVL snapshot (mainnet only) tags: - DeFi responses: '200': description: DeFi TVL data or unsupported network message content: application/json: schema: type: array items: type: object properties: protocol_name: type: string total_value: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /tokens/details: get: summary: Token price history description: > Returns price history for specified token ID and program. If program is not `token_registry.aleo` then `token_id` is not needed. tags: - DeFi parameters: - name: program_id in: query description: The program ID of the token contract. (Required) required: true schema: type: string - name: token_id in: query description: Token ID (required if program_id is token_registry.aleo) required: false schema: type: string responses: '200': description: Token metadata and price history data content: application/json: schema: $ref: '#/components/schemas/TokenDetailsResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /tokens: get: summary: Token Details description: Returns data on various tokens on the Aleo network. operationId: getTokens tags: - DeFi responses: '200': description: Token details content: application/json: schema: type: object properties: pagination: $ref: '#/components/schemas/Pagination' data: type: array items: type: object properties: token_id: type: string token_id_datatype: type: string nullable: true symbol: type: string display: type: string program_name: type: string decimals: type: integer total_supply: type: string nullable: true verified: type: boolean token_icon_url: type: string price: type: string nullable: true price_change_percentage_24h: type: string fully_diluted_value: nullable: true total_market_cap: type: string nullable: true volume_24h: type: string nullable: true '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /delegators/latest: get: summary: Latest delegators description: Returns the latest delegators information tags: - Staking responses: '200': description: Latest delegators data content: application/json: schema: $ref: '#/components/schemas/DelegatorsResponse' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /earnings/{address}: get: summary: Earnings by address description: Returns earnings information for the specified address tags: - Staking parameters: - name: address in: path required: true schema: type: string responses: '200': description: Earnings data content: application/json: schema: type: object properties: total_rewards: type: integer at_block: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /metrics/puzzleRewards: get: summary: Daily puzzle rewards description: Returns daily puzzle rewards data tags: - Proving responses: '200': description: Daily puzzle rewards content: application/json: schema: type: array items: type: object properties: day: type: string puzzle_rewards: type: '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /metrics/apy: get: summary: Apy last 24 hours description: Returns last 24 hours APY data tags: - Staking responses: '200': description: Last 24 hours APY data content: application/json: schema: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /metrics/provers/total: get: summary: Total prover metrics description: Returns total prover metrics (prover count, rewards, solutions) tags: - Proving responses: '200': description: Total prover rewards content: application/json: schema: type: object properties: total_provers: type: integer total_rewards: type: string total_solutions: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /provers: get: summary: All provers description: Returns information about all provers tags: - Proving responses: '200': description: Array of provers content: application/json: schema: type: array items: type: object properties: prover: type: string solutions: type: string total_rewards: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /provers/solutions/{address}: get: summary: Prover solutions by prover address description: Returns solutions for the specified prover address tags: - Proving parameters: - name: address in: path required: true schema: type: string responses: '200': description: Prover solutions content: application/json: schema: type: array items: type: object properties: id: type: string block_height: type: integer epoch_hash: type: string counter: type: string target: type: string reward: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /provers/rewards/total/{address}: get: summary: Total prover rewards by address description: Returns total rewards for the specified prover address tags: - Proving parameters: - name: address in: path required: true schema: type: string responses: '200': description: Total prover rewards content: application/json: schema: type: object properties: sum: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /latest/totalSupply: get: summary: Total supply - credits description: > Retrieves the latest total supply of ALEO in credits. tags: - Supply responses: '200': description: Number of tokens in credits. content: application/json: schema: type: object properties: total_supply: type: number '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /totalSupply: get: summary: Total supply - microcredits description: > Retrieves the latest total supply of ALEO in microcredits. operationId: getTotalSupply tags: - Supply responses: '200': description: Number of tokens in microcredits. content: application/json: schema: type: object properties: total_supply: type: integer decimals: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /latest/circulatingSupply: get: summary: Latest circulating supply - credits description: > Retrieves the latest circulating supply of ALEO in credits. tags: - Supply responses: '200': description: Number of tokens in credits. content: application/json: schema: type: object properties: circulating_supply: type: number '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /circulatingSupply: get: summary: Circulating supply - microcredits description: > Retrieves the latest circulating supply of ALEO in microcredits. tags: - Supply responses: '200': description: Circulating supply data content: application/json: schema: type: object properties: circulating_supply: type: string decimals: type: integer '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /transactions/address/{address}: get: summary: Transactions by address description: Returns transactions for the specified address with pagination tags: - Address parameters: - name: address in: path required: true schema: type: string - name: limit in: query required: false schema: type: integer minimum: 1 maximum: 50 default: 20 - name: offset in: query required: false schema: type: integer minimum: 0 default: 0 responses: '200': description: Paginated transaction list content: application/json: schema: type: object properties: address: type: string pagination: $ref: '#/components/schemas/Pagination' transactions: type: array items: $ref: '#/components/schemas/TransactionByAddress' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' /transitions/{address}: get: summary: Transitions by address description: Returns transitions for the specified address tags: - Address parameters: - name: address in: path required: true schema: type: string responses: '200': description: Array of transitions content: application/json: schema: type: array items: type: object properties: id: type: string transaction_status: type: string block_height: type: integer transaction_id: type: string program_id: type: string function_id: type: string amount: type: string block_timestamp: type: integer sender_address: type: string recipient_address: type: string '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '422': $ref: '#/components/responses/UnprocessableEntity' '429': $ref: '#/components/responses/TooManyRequests' '503': $ref: '#/components/responses/ServiceUnavailable' '500': $ref: '#/components/responses/InternalServerError' components: responses: BadRequest: description: Bad Request - Invalid input, malformed parameters, validation errors content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Not Found - Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' UnprocessableEntity: description: Unprocessable Entity - Business logic validation errors content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' TooManyRequests: description: Too Many Requests - Rate limiting content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' ServiceUnavailable: description: Service Unavailable - Temporary service issues (node syncing, feature unavailable) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalServerError: description: Internal Server Error - Actual server errors, unexpected failures content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: Authorization: type: object properties: authorization: type: object properties: requests: type: array items: type: object properties: signer: type: string network_id: type: string program_id: type: string function_name: type: string input_ids: type: array items: type: string inputs: type: array items: type: string signature: type: string sk_tag: type: string tvk: type: string tcm: type: string scm: type: string transitions: type: object properties: au1r82e43j3emj0adcjm6muccvw5raehkweqem9dsuhpf59vyafjgrsk2rkcm: type: object properties: id: type: string program_id: type: string function_name: type: string inputs: type: array items: type: string outputs: type: array items: type: string tpk: type: string tcm: type: string scm: type: string Block: type: object properties: block_hash: type: string previous_hash: type: string header: type: object properties: previous_state_root: type: string transactions_root: type: string finalize_root: type: string ratifications_root: type: string solutions_root: type: string subdag_root: type: string metadata: type: object properties: network: type: integer round: type: integer height: type: integer cumulative_weight: type: integer cumulative_proof_target: type: integer coinbase_target: type: integer proof_target: type: integer last_coinbase_target: type: integer last_coinbase_timestamp: type: integer timestamp: type: integer authority: type: object properties: type: type: string subdag: type: object properties: subdag: type: object properties: round: type: array items: type: object properties: batch_header: type: object properties: batch_id: type: string author: type: string round: type: integer timestamp: type: integer committee_id: type: string transmission_ids: type: array items: type: string previous_certificate_ids: type: array items: type: string signature: type: string signatures: type: array items: type: string ratifications: type: array items: type: object properties: type: type: string amount: type: integer solutions: type: object properties: version: type: integer aborted_solution_ids: type: array items: type: string transactions: type: array items: type: object properties: status: type: string type: type: string index: type: integer transaction: oneOf: - title: deploy type: object properties: type: type: string enum: ["deploy"] id: type: string owner: type: object properties: address: type: string signature: type: string deployment: type: object properties: edition: type: integer program: type: string verifying_keys: type: array items: type: object properties: '{{ function }}': type: array items: type: object properties: verifying_key: type: string certificate: type: string program_owner: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object additionalProperties: true outputs: type: array items: type: object additionalProperties: true tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string - title: execute type: object properties: type: type: string enum: ["execute"] id: type: string execution: type: object properties: transitions: type: array items: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string checksum: type: string sender_ciphertext: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object additionalProperties: true outputs: type: array items: type: object additionalProperties: true tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string finalize: type: array items: type: object properties: type: type: string mapping_id: type: string key_id: type: string value_id: type: string aborted_transaction_ids: type: array items: type: string BlockSummary: type: object properties: block_height: type: integer block_hash: type: string solution_count: type: integer transaction_count: type: integer block_timestamp: type: integer coinbase_target: type: integer proof_target: type: integer Transaction: oneOf: - title: deploy type: object properties: type: type: string enum: ["deploy"] id: type: string owner: type: object properties: address: type: string signature: type: string deployment: type: object properties: edition: type: integer program: type: string fee: type: object properties: transition: type: object properties: id: type: string scm: type: string tcm: type: string tpk: type: string inputs: type: array items: type: object properties: id: type: string type: type: string value: type: string outputs: type: array items: type: object properties: id: type: string type: type: string value: type: string program: type: string function: type: string global_state_root: type: string proof: type: string fee_value: type: integer block_height: type: integer block_hash: type: string block_timestamp: type: string status: type: string - title: execute type: object properties: type: type: string enum: ["execute"] id: type: string execution: type: object properties: transitions: type: array items: type: object properties: id: type: string scm: type: string tcm: type: string tpk: type: string inputs: type: array items: type: object properties: id: type: string type: type: string value: type: string outputs: type: array items: type: object properties: id: type: string type: type: string value: type: string program: type: string function: type: string global_state_root: type: string proof: type: string fee: type: object properties: transition: type: object properties: id: type: string scm: type: string tcm: type: string tpk: type: string inputs: type: array items: type: object properties: id: type: string type: type: string value: type: string outputs: type: array items: type: object properties: id: type: string type: type: string value: type: string program: type: string function: type: string global_state_root: type: string proof: type: string fee_value: type: integer block_height: type: integer block_hash: type: string block_timestamp: type: string status: type: string UnconfirmedTransaction: oneOf: - title: execute type: object properties: type: type: string enum: ["execute"] id: type: string execution: type: object properties: transitions: type: array items: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string - title: deploy type: object properties: type: type: string enum: ["deploy"] id: type: string owner: type: object properties: address: type: string signature: type: string deployment: type: object properties: edition: type: integer program: type: string verifying_keys: type: array items: type: object properties: '{{ function }}': type: array items: type: object properties: verifying_key: type: string certificate: type: string fee: type: object properties: transition: type: object properties: id: type: string scm: type: string tcm: type: string tpk: type: string inputs: type: array items: type: object properties: id: type: string type: type: string value: type: string outputs: type: array items: type: object properties: id: type: string type: type: string value: type: string program: type: string function: type: string global_state_root: type: string proof: type: string TransactionSummary: type: object properties: id: type: string fee: type: integer status: type: string block_height: type: integer block_timestamp: type: integer block_hash: type: string transaction_type: type: string program_id: type: string function_id: type: string TransactionByAddress: type: object properties: transaction_id: type: string transition_id: type: string transaction_status: type: string block_number: type: integer block_timestamp: type: integer function_id: type: string amount: type: integer sender_address: type: string recipient_address: type: string program_id: type: string Program: type: object properties: id: type: string block_height: type: integer block_timestamp: type: integer transaction_id: type: string program_owner: type: string program: type: string edition: type: integer Pagination: type: object properties: limit: type: integer offset: type: integer total_count: type: integer has_next: type: boolean has_previous: type: boolean ProgramDataResponse: oneOf: - type: string title: metadata=false - type: object title: metadata=true properties: program: type: string edition: type: integer transaction_id: type: string program_owner: type: string CommitteeResponse: type: object properties: id: type: string starting_round: type: integer members: type: object properties: '{{ address }}': type: array items: type: object properties: stake: type: integer open_for_delegation: type: boolean commission_rate: type: integer total_stake: type: integer StateRootResponse: type: string SupplyResponse: type: integer TransactionIdResponse: type: string TransitionIdResponse: type: string ErrorResponse: type: object properties: statusCode: type: integer timestamp: type: string format: date-time path: type: string method: type: string message: type: string HeightResponse: type: integer HashResponse: type: string MappingValueResponse: type: string title: metadata=false MappingValueWithMetadataResponse: type: object title: metadata=true properties: data: type: string height: type: integer required: - data - height TransactionsResponse: type: array items: type: object properties: type: type: string index: type: integer status: type: string finalize: type: array items: type: object properties: type: type: string key_id: type: string value_id: type: string mapping_id: type: string transaction: oneOf: - title: execute type: object properties: id: type: string fee: type: object properties: proof: type: string transition: type: object properties: id: type: string scm: type: string tcm: type: string tpk: type: string inputs: type: array items: type: object properties: id: type: string type: type: string value: type: string outputs: type: array items: type: object properties: id: type: string type: type: string value: type: string program: type: string function: type: string global_state_root: type: string type: type: string execution: type: object properties: proof: type: string transitions: type: array items: type: object properties: id: type: string scm: type: string tcm: type: string tpk: type: string inputs: type: array items: type: object properties: id: type: string type: type: string value: type: string outputs: type: array items: type: object properties: id: type: string type: type: string value: type: string checksum: type: string sender_ciphertext: type: string program: type: string function: type: string global_state_root: type: string - title: deploy type: object properties: id: type: string fee: type: object properties: proof: type: string transition: type: object properties: id: type: string scm: type: string tcm: type: string tpk: type: string inputs: type: array items: type: object properties: id: type: string type: type: string value: type: string outputs: type: array items: type: object properties: id: type: string type: type: string value: type: string program: type: string function: type: string global_state_root: type: string type: type: string owner: type: object properties: address: type: string signature: type: string deployment: type: object properties: edition: type: integer program: type: string verifying_keys: type: array items: type: object properties: '{{ function }}': type: array items: type: object properties: verifying_key: type: string certificate: type: string MappingsResponse: type: array items: type: string ConfirmationResponse: oneOf: - title: deploy type: object properties: type: type: string enum: ["deploy"] id: type: string owner: type: object properties: address: type: string signature: type: string deployment: type: object properties: edition: type: integer program: type: string verifying_keys: type: array items: type: object properties: '{{ function }}': type: array items: type: object properties: verifying_key: type: string certificate: type: string program_checksum: type: array items: type: string program_owner: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string - title: execute type: object properties: status: type: string type: type: string enum: ["execute"] index: type: integer transaction: type: object properties: type: type: string id: type: string execution: type: object properties: transitions: type: array items: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string checksum: type: string value: type: string sender_ciphertext: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string finalize: type: array items: type: object properties: type: type: string mapping_id: type: string key_id: type: string value_id: type: string BroadcastResponse: type: string ExecuteTransaction: type: object properties: type: type: string enum: ["execute"] id: type: string execution: type: object properties: transitions: type: array items: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string DeployTransaction: type: object properties: type: type: string enum: ["deploy"] id: type: string deployment: type: object properties: edition: type: integer program: type: string verifying_keys: type: array items: type: object properties: '{{ function }}': type: array items: type: object properties: verifying_key: type: string certificate: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string ConfirmedTransaction: oneOf: - title: execute type: object properties: status: type: string enum: ["accepted", "rejected", "aborted"] type: type: string enum: ["execute"] index: type: integer transaction: type: object properties: type: type: string enum: ["execute"] id: type: string execution: type: object properties: transitions: type: array items: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string checksum: type: string value: type: string sender_ciphertext: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string finalize: type: array items: type: object properties: type: type: string enum: ["update_key_value"] mapping_id: type: string key_id: type: string value_id: type: string - title: deploy type: object properties: status: type: string enum: ["accepted", "rejected", "aborted"] type: type: string enum: ["deploy"] index: type: integer transaction: type: object properties: type: type: string enum: ["deploy"] id: type: string owner: type: object properties: address: type: string signature: type: string deployment: type: object properties: edition: type: integer program: type: string verifying_keys: type: array items: type: object properties: '{{ function }}': type: array items: type: object properties: verifying_key: type: string certificate: type: string fee: type: object properties: transition: type: object properties: id: type: string program: type: string function: type: string inputs: type: array items: type: object properties: type: type: string id: type: string value: type: string outputs: type: array items: type: object properties: type: type: string id: type: string value: type: string tpk: type: string tcm: type: string scm: type: string global_state_root: type: string proof: type: string finalize: type: array items: type: object properties: type: type: string enum: ["update_key_value"] mapping_id: type: string key_id: type: string value_id: type: string TokenDetailsResponse: type: object properties: token: type: object properties: token_id: type: string token_id_datatype: type: string symbol: type: string display: type: string program_name: type: string decimals: type: integer total_supply: type: string verified: type: boolean token_icon_url: type: string price: type: string price_change_percentage_24h: type: string fully_diluted_value: type: string total_market_cap: type: string volume_24h: type: string price_history: type: object properties: pagination: $ref: '#/components/schemas/Pagination' data: type: array items: type: object properties: day: type: string price_usd: type: string volume_24h: type: string total_market_cap: type: string DelegatorsResponse: type: object properties: '{{ validator }}': type: array items: type: object properties: delegator: type: string microcredits: type: integer