diff --git a/.prettierrc b/.prettierrc index c0725564..518817c3 100644 --- a/.prettierrc +++ b/.prettierrc @@ -2,7 +2,7 @@ "printWidth": 80, "arrowParens": "avoid", "bracketSpacing": true, - "singleQuote": true, + "singleQuote": false, "semi": true, "trailingComma": "all", "tabWidth": 2, diff --git a/.vscode/settings.json b/.vscode/settings.json index 180ff275..13999f7e 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,6 @@ { "cSpell.words": [ + "autobanned", "Bdatum", "Bech", "blockfrost", @@ -18,12 +19,16 @@ "nutlink", "Ogmios", "openapi", + "overusage", "redoc", "redocly", "tbody", "timelock", "UTXO", "utxos", - "xpub" + "xpub", + "drep", + "dreps", + "ipfs" ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a001892..ef597092 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,12 @@ Unreleased changes are in the `master` branch. ## [Unreleased] +## [0.1.6%] - XXXX-XX-XX + +### Added + +- CIP-1964 support + ## [0.1.64] - 2024-06-27 ### Added diff --git a/blockfrost-openapi.yaml b/blockfrost-openapi.yaml index 64da96ec..da80c891 100644 --- a/blockfrost-openapi.yaml +++ b/blockfrost-openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.0 info: - version: 0.1.64 + version: 0.1.65 title: Blockfrost.io ~ API Documentation x-logo: url: https://staging.blockfrost.io/images/logo.svg @@ -261,6 +261,7 @@ tags: - name: Cardano » Assets - name: Cardano » Blocks - name: Cardano » Epochs + - name: Cardano » Governance - name: Cardano » Ledger - name: Cardano » Mempool - name: Cardano » Metadata @@ -827,103 +828,106 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/latest: - get: - tags: - - Cardano » Epochs - summary: Latest epoch - description: Return the information about the latest, therefore current, epoch. - responses: - '200': - description: Return the data about the epoch - content: - application/json: - schema: - $ref: '#/components/schemas/epoch_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /epochs/latest/parameters: + /governance/dreps: get: tags: - - Cardano » Epochs - summary: Latest epoch protocol parameters - description: Return the protocol parameters for the latest epoch. + - Cardano » Governance + summary: Delegate Representatives (DReps) + description: Return the information about Delegate Representatives (DReps) + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. responses: '200': - description: Return the data about the epoch + description: Paginated array with the Delegate Representatives (DReps) data content: application/json: schema: - $ref: '#/components/schemas/epoch_param_content' + $ref: '#/components/schemas/dreps' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}: + /governance/dreps/{drep_id}: get: tags: - - Cardano » Epochs - summary: Specific epoch - description: Return the content of the requested epoch. + - Cardano » Governance + summary: Specific DRep + description: DRep information. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the epoch - example: 225 + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc responses: '200': - description: Return the epoch data. + description: Return the DRep information content content: application/json: schema: - $ref: '#/components/schemas/epoch_content' + $ref: '#/components/schemas/drep' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}/next: + /governance/dreps/{drep_id}/delegators: get: tags: - - Cardano » Epochs - summary: Listing of next epochs - description: Return the list of epochs following a specific epoch. + - Cardano » Governance + summary: DRep delegators + description: List of Drep delegators. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the requested epoch. - example: 225 + type: string + description: Bech32 or hexadecimal drep ID. + example: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn - in: query name: count required: false @@ -942,90 +946,80 @@ paths: maximum: 21474836 default: 1 description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the data about the epoch + description: Return the DRep delegations content: application/json: schema: - $ref: '#/components/schemas/epoch_content_array' + $ref: '#/components/schemas/drep_delegators' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}/previous: + /governance/dreps/{drep_id}/metadata: get: tags: - - Cardano » Epochs - summary: Listing of previous epochs - description: Return the list of epochs preceding a specific epoch. + - Cardano » Governance + summary: DRep metadata + description: DRep metadata information. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the epoch - example: 225 - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc responses: '200': - description: Return the epoch data + description: Return the DRep metadata content. content: application/json: schema: - $ref: '#/components/schemas/epoch_content_array' + $ref: '#/components/schemas/drep_metadata' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}/stakes: + /governance/dreps/{drep_id}/updates: get: tags: - - Cardano » Epochs - summary: Stake distribution - description: Return the active stake distribution for the specified epoch. + - Cardano » Governance + summary: DRep updates + description: List of certificate updates to the DRep. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the epoch - example: 225 + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc - in: query name: count required: false @@ -1044,46 +1038,49 @@ paths: maximum: 21474836 default: 1 description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the data about the epoch + description: Return the Drep updates history content: application/json: schema: - $ref: '#/components/schemas/epoch_stake_content' + $ref: '#/components/schemas/drep_updates' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}/stakes/{pool_id}: + /governance/dreps/{drep_id}/votes: get: tags: - - Cardano » Epochs - summary: Stake distribution by pool - description: Return the active stake distribution for the epoch specified by stake pool. + - Cardano » Governance + summary: DRep votes + description: History of Drep votes. parameters: - in: path - name: number - required: true - schema: - type: integer - description: Number of the epoch - example: 225 - - in: path + name: drep_id required: true - name: pool_id schema: type: string - description: Stake pool ID to filter - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 or hexadecimal drep ID. + example: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn - in: query name: count required: false @@ -1102,39 +1099,42 @@ paths: maximum: 21474836 default: 1 description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the data about the epoch + description: Return the DRep votes content: application/json: schema: - $ref: '#/components/schemas/epoch_stake_pool_content' + $ref: '#/components/schemas/drep_votes' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}/blocks: + /governance/proposals: get: tags: - - Cardano » Epochs - summary: Block distribution - description: Return the blocks minted for the epoch specified. + - Cardano » Governance + summary: Proposals + description: Return the information about Proposals parameters: - - in: path - name: number - required: true - schema: - type: integer - description: Number of the epoch - example: 225 - in: query name: count required: false @@ -1165,116 +1165,90 @@ paths: description: | The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. responses: '200': - description: Return the data about the epoch + description: Paginated array with the proposal data content: application/json: schema: - $ref: '#/components/schemas/epoch_block_content' + $ref: '#/components/schemas/proposals' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}/blocks/{pool_id}: + /governance/proposals/{tx_hash}/{cert_index}: get: tags: - - Cardano » Epochs - summary: Block distribution by pool - description: Return the block minted for the epoch specified by stake pool. + - Cardano » Governance + summary: Specific proposal + description: Proposal information. parameters: - in: path - name: number + name: tx_hash required: true schema: - type: integer - description: Number of the epoch - example: 225 + type: string + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 - in: path + name: cert_index required: true - name: pool_id - schema: - type: string - description: Stake pool ID to filter - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false schema: type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + description: Transaction index. + example: 1 responses: '200': - description: Return the data about the epoch + description: Return the proposal information content content: application/json: schema: - $ref: '#/components/schemas/epoch_block_content' + $ref: '#/components/schemas/proposal' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/{number}/parameters: + /governance/proposals/{tx_hash}/{cert_index}/parameters: get: tags: - - Cardano » Epochs - summary: Protocol parameters - description: Return the protocol parameters for the epoch specified. + - Cardano » Governance + summary: Specific parameters proposal + description: Parameters proposal details. parameters: - in: path - name: number + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index required: true schema: type: integer - description: Number of the epoch - example: 225 + description: Transaction index. + example: 1 responses: '200': - description: Return the data about the epoch + description: Return the proposal parameters content content: application/json: schema: - $ref: '#/components/schemas/epoch_param_content' + $ref: '#/components/schemas/proposal_parameters' '400': $ref: '#/components/responses/400' '403': @@ -1287,28 +1261,34 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}: + /governance/proposals/{tx_hash}/{cert_index}/withdrawals: get: tags: - - Cardano » Transactions - summary: Specific transaction - description: Return content of the requested transaction. + - Cardano » Governance + summary: Specific withdrawals proposal + description: Parameters withdrawals details. parameters: - in: path - name: hash + name: tx_hash required: true schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 responses: '200': - description: Return the contents of the transaction. + description: Return the proposal withdrawals content content: application/json: schema: - $ref: '#/components/schemas/tx_content' + $ref: '#/components/schemas/proposal_withdrawals' '400': $ref: '#/components/responses/400' '403': @@ -1321,99 +1301,125 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/utxos: + /governance/proposals/{tx_hash}/{cert_index}/votes: get: tags: - - Cardano » Transactions - summary: Transaction UTXOs - description: Return the inputs and UTXOs of the specific transaction. + - Cardano » Governance + summary: Proposal votes + description: History of Proposal votes. parameters: - in: path - name: hash + name: tx_hash required: true schema: type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the contents of the transaction. + description: Return the Proposal votes content: application/json: schema: - $ref: '#/components/schemas/tx_content_utxo' + $ref: '#/components/schemas/proposal_votes' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/stakes: + /governance/proposals/{tx_hash}/{cert_index}/metadata: get: tags: - - Cardano » Transactions - summary: Transaction stake addresses certificates - description: | - Obtain information about (de)registration of stake addresses within a transaction. + - Cardano » Governance + summary: Specific proposal metadata + description: Proposal metadata information. parameters: - in: path - name: hash + name: tx_hash required: true schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Transaction hash of the proposal. + example: 2403339d2f344202fb3583353e11a693a82860e59e65939dcb0e2ac72336d631 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index of the proposal. + example: 0 responses: '200': - description: | - Obtain information about (de)registration of stake addresses within a transaction. + description: Return the proposal information content content: application/json: schema: - $ref: '#/components/schemas/tx_content_stake_addr' + $ref: '#/components/schemas/proposal_metadata' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/delegations: + /epochs/latest: get: tags: - - Cardano » Transactions - summary: Transaction delegation certificates - description: | - Obtain information about delegation certificates of a specific transaction. - parameters: - - in: path - name: hash - required: true - schema: - type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + - Cardano » Epochs + summary: Latest epoch + description: Return the information about the latest, therefore current, epoch. responses: '200': - description: Obtain information about delegation certificates of a specific transaction + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_delegations' + $ref: '#/components/schemas/epoch_content' '400': $ref: '#/components/responses/400' '403': @@ -1426,28 +1432,19 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/withdrawals: + /epochs/latest/parameters: get: tags: - - Cardano » Transactions - summary: Transaction withdrawal - description: Obtain information about withdrawals of a specific transaction. - parameters: - - in: path - name: hash - required: true - schema: - type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + - Cardano » Epochs + summary: Latest epoch protocol parameters + description: Return the protocol parameters for the latest epoch. responses: '200': - description: Obtain information about withdrawals of a specific transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_withdrawals' + $ref: '#/components/schemas/epoch_param_content' '400': $ref: '#/components/responses/400' '403': @@ -1460,28 +1457,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/mirs: + /epochs/{number}: get: tags: - - Cardano » Transactions - summary: Transaction MIRs - description: Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. + - Cardano » Epochs + summary: Specific epoch + description: Return the content of the requested epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + type: integer + description: Number of the epoch + example: 225 responses: '200': - description: Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. + description: Return the epoch data. content: application/json: schema: - $ref: '#/components/schemas/tx_content_mirs' + $ref: '#/components/schemas/epoch_content' '400': $ref: '#/components/responses/400' '403': @@ -1494,29 +1490,45 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/pool_updates: + /epochs/{number}/next: get: tags: - - Cardano » Transactions - summary: Transaction stake pool registration and update certificates - description: | - Obtain information about stake pool registration and update certificates of a specific transaction. + - Cardano » Epochs + summary: Listing of next epochs + description: Return the list of epochs following a specific epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + type: integer + description: Number of the requested epoch. + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. responses: '200': - description: Obtain information about stake pool certificates of a specific transaction + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_pool_certs' + $ref: '#/components/schemas/epoch_content_array' '400': $ref: '#/components/responses/400' '403': @@ -1529,30 +1541,45 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/pool_retires: + /epochs/{number}/previous: get: tags: - - Cardano » Transactions - summary: Transaction stake pool retirement certificates - description: | - Obtain information about stake pool retirements within a specific transaction. + - Cardano » Epochs + summary: Listing of previous epochs + description: Return the list of epochs preceding a specific epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + type: integer + description: Number of the epoch + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results responses: '200': - description: | - Obtain information about stake pool retirements within a specific transaction. + description: Return the epoch data content: application/json: schema: - $ref: '#/components/schemas/tx_content_pool_retires' + $ref: '#/components/schemas/epoch_content_array' '400': $ref: '#/components/responses/400' '403': @@ -1565,28 +1592,45 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/metadata: + /epochs/{number}/stakes: get: tags: - - Cardano » Transactions - summary: Transaction metadata - description: Obtain the transaction metadata. + - Cardano » Epochs + summary: Stake distribution + description: Return the active stake distribution for the specified epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b - responses: - '200': - description: Obtain metadata information associated with a specific transaction. - content: - application/json: - schema: - $ref: '#/components/schemas/tx_content_metadata' + type: integer + description: Number of the epoch + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + responses: + '200': + description: Return the data about the epoch + content: + application/json: + schema: + $ref: '#/components/schemas/epoch_stake_content' '400': $ref: '#/components/responses/400' '403': @@ -1599,28 +1643,52 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/metadata/cbor: + /epochs/{number}/stakes/{pool_id}: get: tags: - - Cardano » Transactions - summary: Transaction metadata in CBOR - description: Obtain the transaction metadata in CBOR. + - Cardano » Epochs + summary: Stake distribution by pool + description: Return the active stake distribution for the epoch specified by stake pool. parameters: - in: path - name: hash + name: number + required: true + schema: + type: integer + description: Number of the epoch + example: 225 + - in: path required: true + name: pool_id schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Stake pool ID to filter + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. responses: '200': - description: Obtain metadata information associated with a specific transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_metadata_cbor' + $ref: '#/components/schemas/epoch_stake_pool_content' '400': $ref: '#/components/responses/400' '403': @@ -1633,28 +1701,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/redeemers: + /epochs/{number}/blocks: get: tags: - - Cardano » Transactions - summary: Transaction redeemers - description: Obtain the transaction redeemers. + - Cardano » Epochs + summary: Block distribution + description: Return the blocks minted for the epoch specified. parameters: - in: path - name: hash + name: number required: true + schema: + type: integer + description: Number of the epoch + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Obtain information about redeemers within a specific transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_redeemers' + $ref: '#/components/schemas/epoch_block_content' '400': $ref: '#/components/responses/400' '403': @@ -1667,28 +1764,64 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/required_signers: + /epochs/{number}/blocks/{pool_id}: get: tags: - - Cardano » Transactions - summary: Transaction required signers - description: Obtain the extra transaction witnesses. + - Cardano » Epochs + summary: Block distribution by pool + description: Return the block minted for the epoch specified by stake pool. parameters: - in: path - name: hash + name: number + required: true + schema: + type: integer + description: Number of the epoch + example: 225 + - in: path required: true + name: pool_id schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Stake pool ID to filter + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Query required signers (extra transaction witnesses) + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_required_signers' + $ref: '#/components/schemas/epoch_block_content' '400': $ref: '#/components/responses/400' '403': @@ -1701,28 +1834,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /txs/{hash}/cbor: + /epochs/{number}/parameters: get: tags: - - Cardano » Transactions - summary: Transaction CBOR - description: Obtain the CBOR serialized transaction + - Cardano » Epochs + summary: Protocol parameters + description: Return the protocol parameters for the epoch specified. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + type: integer + description: Number of the epoch + example: 225 responses: '200': - description: Query transaction CBOR + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_cbor' + $ref: '#/components/schemas/epoch_param_content' '400': $ref: '#/components/responses/400' '403': @@ -1735,60 +1867,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /tx/submit: - post: + /txs/{hash}: + get: tags: - Cardano » Transactions - summary: Submit a transaction - description: | - Submit an already serialized transaction to the network. - -

- Hosted Endpoint only available for hosted variant. -

- x-codeSamples: - - lang: Shell - label: cURL - source: | - # Assuming `data` is a serialized transaction on the file-system. - curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ - -X POST \ - -H "Content-Type: application/cbor" \ - -H "project_id: $PROJECT_ID" \ - --data-binary @./data - - lang: Shell - label: cardano-cli - source: | - # Assuming `tx.signed` is signed transaction constructed by cardano-cli - xxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw - curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ - -X POST \ - -H "Content-Type: application/cbor" \ - -H "project_id: $PROJECT_ID" \ - --data-binary @./tx.submit-api.raw - requestBody: - description: | - The transaction to submit, serialized in CBOR. - required: true - content: - application/cbor: - schema: - type: string - description: | - The transaction to submit, serialized in CBOR. - example: | - 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 + summary: Specific transaction + description: Return content of the requested transaction. + parameters: + - in: path + name: hash + required: true + schema: + type: string + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the ID of the submitted transaction. + description: Return the contents of the transaction. content: application/json: schema: - type: string - format: hex - minLength: 64 - maxLength: 64 - example: d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908 + $ref: '#/components/schemas/tx_content' '400': $ref: '#/components/responses/400' '403': @@ -1797,34 +1897,32 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}: + /txs/{hash}/utxos: get: tags: - - Cardano » Accounts - summary: Specific account address - description: | - Obtain information about a specific stake account. + - Cardano » Transactions + summary: Transaction UTXOs + description: Return the inputs and UTXOs of the specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account content. + description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/account_content' + $ref: '#/components/schemas/tx_content_utxo' '400': $ref: '#/components/responses/400' '403': @@ -1837,58 +1935,30 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/rewards: + /txs/{hash}/stakes: get: tags: - - Cardano » Accounts - summary: Account reward history + - Cardano » Transactions + summary: Transaction stake addresses certificates description: | - Obtain information about the reward history of a specific account. + Obtain information about (de)registration of stake addresses within a transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account content. + description: | + Obtain information about (de)registration of stake addresses within a transaction. content: application/json: schema: - $ref: '#/components/schemas/account_reward_content' + $ref: '#/components/schemas/tx_content_stake_addr' '400': $ref: '#/components/responses/400' '403': @@ -1901,58 +1971,29 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/history: + /txs/{hash}/delegations: get: tags: - - Cardano » Accounts - summary: Account history + - Cardano » Transactions + summary: Transaction delegation certificates description: | - Obtain information about the history of a specific account. + Obtain information about delegation certificates of a specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account content. + description: Obtain information about delegation certificates of a specific transaction content: application/json: schema: - $ref: '#/components/schemas/account_history_content' + $ref: '#/components/schemas/tx_content_delegations' '400': $ref: '#/components/responses/400' '403': @@ -1965,57 +2006,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/delegations: + /txs/{hash}/withdrawals: get: tags: - - Cardano » Accounts - summary: Account delegation history - description: Obtain information about the delegation of a specific account. + - Cardano » Transactions + summary: Transaction withdrawal + description: Obtain information about withdrawals of a specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account delegations content + description: Obtain information about withdrawals of a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_delegation_content' + $ref: '#/components/schemas/tx_content_withdrawals' '400': $ref: '#/components/responses/400' '403': @@ -2028,58 +2040,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/registrations: + /txs/{hash}/mirs: get: tags: - - Cardano » Accounts - summary: Account registration history - description: | - Obtain information about the registrations and deregistrations of a specific account. + - Cardano » Transactions + summary: Transaction MIRs + description: Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account registration content. + description: Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_registration_content' + $ref: '#/components/schemas/tx_content_mirs' '400': $ref: '#/components/responses/400' '403': @@ -2092,58 +2074,29 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/withdrawals: + /txs/{hash}/pool_updates: get: tags: - - Cardano » Accounts - summary: Account withdrawal history + - Cardano » Transactions + summary: Transaction stake pool registration and update certificates description: | - Obtain information about the withdrawals of a specific account. + Obtain information about stake pool registration and update certificates of a specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account withdrawal content. + description: Obtain information about stake pool certificates of a specific transaction content: application/json: schema: - $ref: '#/components/schemas/account_withdrawal_content' + $ref: '#/components/schemas/tx_content_pool_certs' '400': $ref: '#/components/responses/400' '403': @@ -2156,58 +2109,30 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/mirs: + /txs/{hash}/pool_retires: get: tags: - - Cardano » Accounts - summary: Account MIR history + - Cardano » Transactions + summary: Transaction stake pool retirement certificates description: | - Obtain information about the MIRs of a specific account. + Obtain information about stake pool retirements within a specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account MIR content. + description: | + Obtain information about stake pool retirements within a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_mir_content' + $ref: '#/components/schemas/tx_content_pool_retires' '400': $ref: '#/components/responses/400' '403': @@ -2220,59 +2145,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/addresses: + /txs/{hash}/metadata: get: tags: - - Cardano » Accounts - summary: Account associated addresses - description: | - Obtain information about the addresses of a specific account. - Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. + - Cardano » Transactions + summary: Transaction metadata + description: Obtain the transaction metadata. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account addresses content + description: Obtain metadata information associated with a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_addresses_content' + $ref: '#/components/schemas/tx_content_metadata' '400': $ref: '#/components/responses/400' '403': @@ -2285,59 +2179,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/addresses/assets: + /txs/{hash}/metadata/cbor: get: tags: - - Cardano » Accounts - summary: Assets associated with the account addresses - description: | - Obtain information about assets associated with addresses of a specific account. - Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. + - Cardano » Transactions + summary: Transaction metadata in CBOR + description: Obtain the transaction metadata in CBOR. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account addresses content + description: Obtain metadata information associated with a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_addresses_assets' + $ref: '#/components/schemas/tx_content_metadata_cbor' '400': $ref: '#/components/responses/400' '403': @@ -2350,29 +2213,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /accounts/{stake_address}/addresses/total: + /txs/{hash}/redeemers: get: tags: - - Cardano » Accounts - summary: Detailed information about account associated addresses - description: | - Obtain summed details about all addresses associated with a given account. - Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. + - Cardano » Transactions + summary: Transaction redeemers + description: Obtain the transaction redeemers. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the Address details. + description: Obtain information about redeemers within a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_addresses_total' + $ref: '#/components/schemas/tx_content_redeemers' '400': $ref: '#/components/responses/400' '403': @@ -2385,57 +2247,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /mempool: + /txs/{hash}/required_signers: get: tags: - - Cardano » Mempool - summary: Mempool - description: | - Return transactions that are currently stored in Blockfrost mempool, - waiting to be included in a newly minted block. - Shows only transactions submitted via Blockfrost.io. - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Transactions + summary: Transaction required signers + description: Obtain the extra transaction witnesses. parameters: - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false + - in: path + name: hash + required: true schema: type: string - enum: - - asc - - desc - default: asc - description: | - Ordered by the time of transaction submission. - By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the contents of the mempool + description: Query required signers (extra transaction witnesses) content: application/json: schema: - $ref: '#/components/schemas/mempool_content' + $ref: '#/components/schemas/tx_content_required_signers' '400': $ref: '#/components/responses/400' '403': @@ -2448,33 +2281,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /mempool/{hash}: + /txs/{hash}/cbor: get: tags: - - Cardano » Mempool - summary: Specific transaction in the mempool - description: | - Return content of the requested transaction. - -

- Hosted Endpoint only available for hosted variant. -

- parameters: - - in: path + - Cardano » Transactions + summary: Transaction CBOR + description: Obtain the CBOR serialized transaction + parameters: + - in: path name: hash required: true schema: type: string format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Hash of the transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the contents of the transaction. + description: Query transaction CBOR content: application/json: schema: - $ref: '#/components/schemas/mempool_tx_content' + $ref: '#/components/schemas/tx_content_cbor' '400': $ref: '#/components/responses/400' '403': @@ -2487,27 +2315,123 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /mempool/addresses/{address}: - get: + /tx/submit: + post: tags: - - Cardano » Mempool - summary: Mempool by address + - Cardano » Transactions + summary: Submit a transaction description: | - List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address. - Shows only transactions submitted via Blockfrost.io. + Submit an already serialized transaction to the network.

Hosted Endpoint only available for hosted variant.

+ x-codeSamples: + - lang: Shell + label: cURL + source: | + # Assuming `data` is a serialized transaction on the file-system. + curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ + -X POST \ + -H "Content-Type: application/cbor" \ + -H "project_id: $PROJECT_ID" \ + --data-binary @./data + - lang: Shell + label: cardano-cli + source: | + # Assuming `tx.signed` is signed transaction constructed by cardano-cli + xxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw + curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ + -X POST \ + -H "Content-Type: application/cbor" \ + -H "project_id: $PROJECT_ID" \ + --data-binary @./tx.submit-api.raw + requestBody: + description: | + The transaction to submit, serialized in CBOR. + required: true + content: + application/cbor: + schema: + type: string + description: | + The transaction to submit, serialized in CBOR. + example: | + 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 + responses: + '200': + description: Return the ID of the submitted transaction. + content: + application/json: + schema: + type: string + format: hex + minLength: 64 + maxLength: 64 + example: d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908 + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /accounts/{stake_address}: + get: + tags: + - Cardano » Accounts + summary: Specific account address + description: | + Obtain information about a specific stake account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + responses: + '200': + description: Return the account content. + content: + application/json: + schema: + $ref: '#/components/schemas/account_content' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /accounts/{stake_address}/rewards: + get: + tags: + - Cardano » Accounts + summary: Account reward history + description: | + Obtain information about the reward history of a specific account. + parameters: + - in: path + name: stake_address + required: true + schema: + type: string + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2536,15 +2460,15 @@ paths: - desc default: asc description: | - Ordered by the time of transaction submission. - By default, we return oldest first, newest last. + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the contents of the mempool + description: Return the account content. content: application/json: schema: - $ref: '#/components/schemas/mempool_addresses_content' + $ref: '#/components/schemas/account_reward_content' '400': $ref: '#/components/responses/400' '403': @@ -2557,14 +2481,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /metadata/txs/labels: + /accounts/{stake_address}/history: get: tags: - - Cardano » Metadata - summary: Transaction metadata labels + - Cardano » Accounts + summary: Account history description: | - List of all used transaction metadata labels. + Obtain information about the history of a specific account. parameters: + - in: path + name: stake_address + required: true + schema: + type: string + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2597,11 +2528,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the account metadata content in CBOR + description: Return the account content. content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_labels' + $ref: '#/components/schemas/account_history_content' '400': $ref: '#/components/responses/400' '403': @@ -2614,20 +2545,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /metadata/txs/labels/{label}: + /accounts/{stake_address}/delegations: get: tags: - - Cardano » Metadata - summary: Transaction metadata content in JSON - description: Transaction metadata per label. + - Cardano » Accounts + summary: Account delegation history + description: Obtain information about the delegation of a specific account. parameters: - in: path - name: label + name: stake_address required: true schema: type: string - description: Metadata label - example: '1990' + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2660,11 +2591,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the account metadata content + description: Return the account delegations content content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_label_json' + $ref: '#/components/schemas/account_delegation_content' '400': $ref: '#/components/responses/400' '403': @@ -2677,20 +2608,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /metadata/txs/labels/{label}/cbor: + /accounts/{stake_address}/registrations: get: tags: - - Cardano » Metadata - summary: Transaction metadata content in CBOR - description: Transaction metadata per label. + - Cardano » Accounts + summary: Account registration history + description: | + Obtain information about the registrations and deregistrations of a specific account. parameters: - in: path - name: label + name: stake_address required: true schema: type: string - description: Metadata label - example: '1990' + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2723,11 +2655,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the account metadata content in CBOR + description: Return the account registration content. content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_label_cbor' + $ref: '#/components/schemas/account_registration_content' '400': $ref: '#/components/responses/400' '403': @@ -2740,27 +2672,58 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /addresses/{address}: + /accounts/{stake_address}/withdrawals: get: tags: - - Cardano » Addresses - summary: Specific address - description: Obtain information about a specific address. + - Cardano » Accounts + summary: Account withdrawal history + description: | + Obtain information about the withdrawals of a specific account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the address content. + description: Return the account withdrawal content. content: application/json: schema: - $ref: '#/components/schemas/address_content' + $ref: '#/components/schemas/account_withdrawal_content' '400': $ref: '#/components/responses/400' '403': @@ -2773,87 +2736,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /addresses/{address}/extended: + /accounts/{stake_address}/mirs: get: tags: - - Cardano » Addresses - summary: Extended information of a specific address + - Cardano » Accounts + summary: Account MIR history description: | - Obtain extended information about a specific address. + Obtain information about the MIRs of a specific account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - responses: - '200': - description: Return the address content. - content: - application/json: - schema: - $ref: '#/components/schemas/address_content_extended' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /addresses/{address}/total: - get: - tags: - - Cardano » Addresses - summary: Address details - description: Obtain details about an address. - parameters: - - in: path - name: address - required: true - schema: - type: string - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - responses: - '200': - description: Return the Address details. - content: - application/json: - schema: - $ref: '#/components/schemas/address_content_total' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /addresses/{address}/utxos: - get: - tags: - - Cardano » Addresses - summary: Address UTXOs - description: UTXOs of the address. - parameters: - - in: path - name: address - required: true - schema: - type: string - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2886,11 +2783,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the address content + description: Return the account MIR content. content: application/json: schema: - $ref: '#/components/schemas/address_utxo_content' + $ref: '#/components/schemas/account_mir_content' '400': $ref: '#/components/responses/400' '403': @@ -2903,27 +2800,22 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /addresses/{address}/utxos/{asset}: + /accounts/{stake_address}/addresses: get: tags: - - Cardano » Addresses - summary: Address UTXOs of a given asset - description: UTXOs of the address. + - Cardano » Accounts + summary: Account associated addresses + description: | + Obtain information about the addresses of a specific account. + Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. parameters: - in: path - name: address - required: true - schema: - type: string - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - - in: path - name: asset + name: stake_address required: true schema: type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2956,11 +2848,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the address content + description: Return the account addresses content content: application/json: schema: - $ref: '#/components/schemas/address_utxo_content' + $ref: '#/components/schemas/account_addresses_content' '400': $ref: '#/components/responses/400' '403': @@ -2973,21 +2865,22 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /addresses/{address}/txs: + /accounts/{stake_address}/addresses/assets: get: - deprecated: true tags: - - Cardano » Addresses - summary: Address txs - description: Transactions on the address. + - Cardano » Accounts + summary: Assets associated with the account addresses + description: | + Obtain information about assets associated with addresses of a specific account. + Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - description: Bech32 address. - example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2996,7 +2889,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of transactions per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3020,11 +2913,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the address content + description: Return the account addresses content content: application/json: schema: - $ref: '#/components/schemas/address_txs_content' + $ref: '#/components/schemas/account_addresses_assets' '400': $ref: '#/components/responses/400' '403': @@ -3037,20 +2930,55 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /addresses/{address}/transactions: + /accounts/{stake_address}/addresses/total: get: tags: - - Cardano » Addresses - summary: Address transactions - description: Transactions on the address. + - Cardano » Accounts + summary: Detailed information about account associated addresses + description: | + Obtain summed details about all addresses associated with a given account. + Be careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string description: Bech32 address. example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + responses: + '200': + description: Return the Address details. + content: + application/json: + schema: + $ref: '#/components/schemas/account_addresses_total' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /mempool: + get: + tags: + - Cardano » Mempool + summary: Mempool + description: | + Return transactions that are currently stored in Blockfrost mempool, + waiting to be included in a newly minted block. + Shows only transactions submitted via Blockfrost.io. + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: - in: query name: count required: false @@ -3059,7 +2987,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of addresses per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3079,33 +3007,54 @@ paths: - desc default: asc description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. - - in: query - name: from - required: false - schema: - type: string - description: | - The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon. - Has to be lower than or equal to `to` parameter. - example: '8929261' - - in: query - name: to - required: false + Ordered by the time of transaction submission. + By default, we return oldest first, newest last. + responses: + '200': + description: Return the contents of the mempool + content: + application/json: + schema: + $ref: '#/components/schemas/mempool_content' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /mempool/{hash}: + get: + tags: + - Cardano » Mempool + summary: Specific transaction in the mempool + description: | + Return content of the requested transaction. + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + name: hash + required: true schema: type: string - description: | - The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon. - Has to be higher than or equal to `from` parameter. - example: '9999269:10' + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the address content + description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/address_transactions_content' + $ref: '#/components/schemas/mempool_tx_content' '400': $ref: '#/components/responses/400' '403': @@ -3118,13 +3067,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools: + /mempool/addresses/{address}: get: tags: - - Cardano » Pools - summary: List of stake pools - description: List of registered stake pools. + - Cardano » Mempool + summary: Mempool by address + description: | + List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address. + Shows only transactions submitted via Blockfrost.io. + +

+ Hosted Endpoint only available for hosted variant. +

parameters: + - in: path + name: address + required: true + schema: + type: string + format: 64-character case-sensitive hexadecimal string. + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - in: query name: count required: false @@ -3133,7 +3096,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of pools per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3153,15 +3116,15 @@ paths: - desc default: asc description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + Ordered by the time of transaction submission. + By default, we return oldest first, newest last. responses: '200': - description: Return the list of pools. + description: Return the contents of the mempool content: application/json: schema: - $ref: '#/components/schemas/pool_list' + $ref: '#/components/schemas/mempool_addresses_content' '400': $ref: '#/components/responses/400' '403': @@ -3174,12 +3137,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/extended: + /metadata/txs/labels: get: tags: - - Cardano » Pools - summary: List of stake pools with additional information - description: List of registered stake pools with additional information. + - Cardano » Metadata + summary: Transaction metadata labels + description: | + List of all used transaction metadata labels. parameters: - in: query name: count @@ -3189,7 +3153,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of pools per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3213,11 +3177,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the list of pools. + description: Return the account metadata content in CBOR content: application/json: schema: - $ref: '#/components/schemas/pool_list_extended' + $ref: '#/components/schemas/tx_metadata_labels' '400': $ref: '#/components/responses/400' '403': @@ -3230,13 +3194,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/retired: + /metadata/txs/labels/{label}: get: tags: - - Cardano » Pools - summary: List of retired stake pools - description: List of already retired pools. + - Cardano » Metadata + summary: Transaction metadata content in JSON + description: Transaction metadata per label. parameters: + - in: path + name: label + required: true + schema: + type: string + description: Metadata label + example: '1990' - in: query name: count required: false @@ -3245,7 +3216,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of pools per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3269,11 +3240,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the pool information content + description: Return the account metadata content content: application/json: schema: - $ref: '#/components/schemas/pool_list_retire' + $ref: '#/components/schemas/tx_metadata_label_json' '400': $ref: '#/components/responses/400' '403': @@ -3286,13 +3257,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/retiring: + /metadata/txs/labels/{label}/cbor: get: tags: - - Cardano » Pools - summary: List of retiring stake pools - description: List of stake pools retiring in the upcoming epochs + - Cardano » Metadata + summary: Transaction metadata content in CBOR + description: Transaction metadata per label. parameters: + - in: path + name: label + required: true + schema: + type: string + description: Metadata label + example: '1990' - in: query name: count required: false @@ -3325,11 +3303,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the pool information content + description: Return the account metadata content in CBOR content: application/json: schema: - $ref: '#/components/schemas/pool_list_retire' + $ref: '#/components/schemas/tx_metadata_label_cbor' '400': $ref: '#/components/responses/400' '403': @@ -3342,27 +3320,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/{pool_id}: + /addresses/{address}: get: tags: - - Cardano » Pools - summary: Specific stake pool - description: Pool information. + - Cardano » Addresses + summary: Specific address + description: Obtain information about a specific address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: '200': - description: Return the pool information content + description: Return the address content. content: application/json: schema: - $ref: '#/components/schemas/pool' + $ref: '#/components/schemas/address_content' '400': $ref: '#/components/responses/400' '403': @@ -3375,58 +3353,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/{pool_id}/history: + /addresses/{address}/extended: get: tags: - - Cardano » Pools - summary: Stake pool history + - Cardano » Addresses + summary: Extended information of a specific address description: | - History of stake pool parameters over epochs. + Obtain extended information about a specific address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: '200': - description: Return the pool information content. + description: Return the address content. content: application/json: schema: - $ref: '#/components/schemas/pool_history' + $ref: '#/components/schemas/address_content_extended' '400': $ref: '#/components/responses/400' '403': @@ -3439,30 +3387,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/{pool_id}/metadata: + /addresses/{address}/total: get: tags: - - Cardano » Pools - summary: Stake pool metadata - description: | - Stake pool registration metadata. + - Cardano » Addresses + summary: Address details + description: Obtain details about an address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: '200': - description: Return the pool metadata content. + description: Return the Address details. content: application/json: schema: - anyOf: - - $ref: '#/components/schemas/pool_metadata' - - $ref: '#/components/schemas/empty_object' + $ref: '#/components/schemas/address_content_total' '400': $ref: '#/components/responses/400' '403': @@ -3475,27 +3420,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/{pool_id}/relays: + /addresses/{address}/utxos: get: tags: - - Cardano » Pools - summary: Stake pool relays - description: Relays of a stake pool. + - Cardano » Addresses + summary: Address UTXOs + description: UTXOs of the address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the pool relays information content. + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/pool_relays' + $ref: '#/components/schemas/address_utxo_content' '400': $ref: '#/components/responses/400' '403': @@ -3508,20 +3483,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/{pool_id}/delegators: + /addresses/{address}/utxos/{asset}: get: tags: - - Cardano » Pools - summary: Stake pool delegators - description: List of current stake pools delegators. + - Cardano » Addresses + summary: Address UTXOs of a given asset + description: UTXOs of the address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + - in: path + name: asset + required: true + schema: + type: string + description: Concatenation of the policy_id and hex-encoded asset_name + example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -3554,11 +3536,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the pool delegations. + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/pool_delegators' + $ref: '#/components/schemas/address_utxo_content' '400': $ref: '#/components/responses/400' '403': @@ -3571,20 +3553,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/{pool_id}/blocks: + /addresses/{address}/txs: get: + deprecated: true tags: - - Cardano » Pools - summary: Stake pool blocks - description: List of stake pools blocks. + - Cardano » Addresses + summary: Address txs + description: Transactions on the address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - in: query name: count required: false @@ -3593,7 +3576,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of transactions per page. - in: query name: page required: false @@ -3617,11 +3600,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the pool block list + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/pool_blocks' + $ref: '#/components/schemas/address_txs_content' '400': $ref: '#/components/responses/400' '403': @@ -3634,20 +3617,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/{pool_id}/updates: + /addresses/{address}/transactions: get: tags: - - Cardano » Pools - summary: Stake pool updates - description: List of certificate updates to the stake pool. + - Cardano » Addresses + summary: Address transactions + description: Transactions on the address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - in: query name: count required: false @@ -3656,7 +3639,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of addresses per page. - in: query name: page required: false @@ -3678,13 +3661,31 @@ paths: description: | The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. + - in: query + name: from + required: false + schema: + type: string + description: | + The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon. + Has to be lower than or equal to `to` parameter. + example: '8929261' + - in: query + name: to + required: false + schema: + type: string + description: | + The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon. + Has to be higher than or equal to `from` parameter. + example: '9999269:10' responses: '200': - description: Return the pool updates history + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/pool_updates' + $ref: '#/components/schemas/address_transactions_content' '400': $ref: '#/components/responses/400' '403': @@ -3697,14 +3698,12 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /assets: + /pools: get: tags: - - Cardano » Assets - summary: Assets - description: | - List of assets. If an asset is completely burned, - it will stay on the list with quantity 0 (order of assets is immutable). + - Cardano » Pools + summary: List of stake pools + description: List of registered stake pools. parameters: - in: query name: count @@ -3714,7 +3713,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of pools per page. - in: query name: page required: false @@ -3736,47 +3735,13 @@ paths: description: | The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. - Ordering in this case is based on the time of the first mint transaction. - responses: - '200': - description: Return list of assets - content: - application/json: - schema: - $ref: '#/components/schemas/assets' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /assets/{asset}: - get: - tags: - - Cardano » Assets - summary: Specific asset - description: Information about a specific asset - parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e responses: '200': - description: Return the information about a specific asset + description: Return the list of pools. content: application/json: schema: - $ref: '#/components/schemas/asset' + $ref: '#/components/schemas/pool_list' '400': $ref: '#/components/responses/400' '403': @@ -3789,20 +3754,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /assets/{asset}/history: + /pools/extended: get: tags: - - Cardano » Assets - summary: Asset history - description: History of a specific asset + - Cardano » Pools + summary: List of stake pools with additional information + description: List of registered stake pools with additional information. parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -3811,7 +3769,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of pools per page. - in: query name: page required: false @@ -3835,11 +3793,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the information about the history of a specific asset + description: Return the list of pools. content: application/json: schema: - $ref: '#/components/schemas/asset_history' + $ref: '#/components/schemas/pool_list_extended' '400': $ref: '#/components/responses/400' '403': @@ -3852,21 +3810,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /assets/{asset}/txs: + /pools/retired: get: - deprecated: true tags: - - Cardano » Assets - summary: Asset txs - description: List of a specific asset transactions + - Cardano » Pools + summary: List of retired stake pools + description: List of already retired pools. parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -3875,7 +3825,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of pools per page. - in: query name: page required: false @@ -3899,11 +3849,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the information about the history of a specific asset + description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/asset_txs' + $ref: '#/components/schemas/pool_list_retire' '400': $ref: '#/components/responses/400' '403': @@ -3916,20 +3866,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /assets/{asset}/transactions: + /pools/retiring: get: tags: - - Cardano » Assets - summary: Asset transactions - description: List of a specific asset transactions + - Cardano » Pools + summary: List of retiring stake pools + description: List of stake pools retiring in the upcoming epochs parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -3962,11 +3905,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the information about the history of a specific asset + description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/asset_transactions' + $ref: '#/components/schemas/pool_list_retire' '400': $ref: '#/components/responses/400' '403': @@ -3979,57 +3922,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /assets/{asset}/addresses: + /pools/{pool_id}: get: tags: - - Cardano » Assets - summary: Asset addresses - description: List of a addresses containing a specific asset + - Cardano » Pools + summary: Specific stake pool + description: Pool information. parameters: - in: path - name: asset + name: pool_id required: true schema: type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: '200': - description: Return the information about the history of a specific asset + description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/asset_addresses' + $ref: '#/components/schemas/pool' '400': $ref: '#/components/responses/400' '403': @@ -4042,20 +3955,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /assets/policy/{policy_id}: + /pools/{pool_id}/history: get: tags: - - Cardano » Assets - summary: Assets of a specific policy - description: List of asset minted under a specific policy + - Cardano » Pools + summary: Stake pool history + description: | + History of stake pool parameters over epochs. parameters: - in: path - name: policy_id + name: pool_id required: true schema: type: string - description: Specific policy_id - example: 476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3 + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - in: query name: count required: false @@ -4073,7 +3987,7 @@ paths: minimum: 1 maximum: 21474836 default: 1 - description: The page number for listing the results. + description: The page number for listing the results - in: query name: order required: false @@ -4088,11 +4002,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the information about a specific asset + description: Return the pool information content. content: application/json: schema: - $ref: '#/components/schemas/asset_policy' + $ref: '#/components/schemas/pool_history' '400': $ref: '#/components/responses/400' '403': @@ -4105,50 +4019,30 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts: + /pools/{pool_id}/metadata: get: tags: - - Cardano » Scripts - summary: Scripts - description: List of scripts. + - Cardano » Pools + summary: Stake pool metadata + description: | + Stake pool registration metadata. parameters: - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false + - in: path + name: pool_id + required: true schema: type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: '200': - description: Return list of scripts + description: Return the pool metadata content. content: application/json: schema: - $ref: '#/components/schemas/scripts' + anyOf: + - $ref: '#/components/schemas/pool_metadata' + - $ref: '#/components/schemas/empty_object' '400': $ref: '#/components/responses/400' '403': @@ -4161,27 +4055,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts/{script_hash}: + /pools/{pool_id}/relays: get: tags: - - Cardano » Scripts - summary: Specific script - description: Information about a specific script + - Cardano » Pools + summary: Stake pool relays + description: Relays of a stake pool. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: '200': - description: Return the information about a specific script + description: Return the pool relays information content. content: application/json: schema: - $ref: '#/components/schemas/script' + $ref: '#/components/schemas/pool_relays' '400': $ref: '#/components/responses/400' '403': @@ -4194,27 +4088,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts/{script_hash}/json: + /pools/{pool_id}/delegators: get: tags: - - Cardano » Scripts - summary: Script JSON - description: JSON representation of a `timelock` script + - Cardano » Pools + summary: Stake pool delegators + description: List of current stake pools delegators. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the JSON representation of a `timelock` script + description: Return the pool delegations. content: application/json: schema: - $ref: '#/components/schemas/script_json' + $ref: '#/components/schemas/pool_delegators' '400': $ref: '#/components/responses/400' '403': @@ -4227,27 +4151,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts/{script_hash}/cbor: + /pools/{pool_id}/blocks: get: tags: - - Cardano » Scripts - summary: Script CBOR - description: CBOR representation of a `plutus` script + - Cardano » Pools + summary: Stake pool blocks + description: List of stake pools blocks. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the CBOR representation of a `plutus` script + description: Return the pool block list content: application/json: schema: - $ref: '#/components/schemas/script_cbor' + $ref: '#/components/schemas/pool_blocks' '400': $ref: '#/components/responses/400' '403': @@ -4260,20 +4214,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts/{script_hash}/redeemers: + /pools/{pool_id}/updates: get: tags: - - Cardano » Scripts - summary: Redeemers of a specific script - description: List of redeemers of a specific script + - Cardano » Pools + summary: Stake pool updates + description: List of certificate updates to the stake pool. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - in: query name: count required: false @@ -4306,11 +4260,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the information about redeemers of a specific script + description: Return the pool updates history content: application/json: schema: - $ref: '#/components/schemas/script_redeemers' + $ref: '#/components/schemas/pool_updates' '400': $ref: '#/components/responses/400' '403': @@ -4323,27 +4277,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts/datum/{datum_hash}: + /pools/{pool_id}/votes: get: tags: - - Cardano » Scripts - summary: Datum value - description: Query JSON value of a datum by its hash + - Cardano » Pools + summary: Stake pool votes + description: History of stake pools votes. parameters: - in: path - name: datum_hash + name: pool_id required: true schema: type: string - description: Hash of the datum - example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the datum value + description: Return the pool votes. content: application/json: schema: - $ref: '#/components/schemas/script_datum' + $ref: '#/components/schemas/pool_votes' '400': $ref: '#/components/responses/400' '403': @@ -4356,27 +4340,53 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts/datum/{datum_hash}/cbor: + /assets: get: tags: - - Cardano » Scripts - summary: Datum CBOR value - description: Query CBOR serialised datum by its hash + - Cardano » Assets + summary: Assets + description: | + List of assets. If an asset is completely burned, + it will stay on the list with quantity 0 (order of assets is immutable). parameters: - - in: path - name: datum_hash - required: true + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false schema: type: string - description: Hash of the datum - example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. responses: '200': - description: Return the CBOR serialised datum value + description: Return list of assets content: application/json: schema: - $ref: '#/components/schemas/script_datum_cbor' + $ref: '#/components/schemas/assets' '400': $ref: '#/components/responses/400' '403': @@ -4389,41 +4399,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /utils/addresses/xpub/{xpub}/{role}/{index}: + /assets/{asset}: get: tags: - - Cardano » Utilities - summary: Derive an address - description: Derive Shelley address from an xpub + - Cardano » Assets + summary: Specific asset + description: Information about a specific asset parameters: - in: path - name: xpub + name: asset required: true schema: type: string - description: Hex xpub - example: d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a - - in: path - name: role - required: true - schema: - type: integer - description: Account role - example: 0 - - in: path - name: index - required: true - schema: - type: integer - description: Address index - example: 2 + description: Concatenation of the policy_id and hex-encoded asset_name + example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e responses: '200': - description: Return derivated Shelley address + description: Return the information about a specific asset content: application/json: schema: - $ref: '#/components/schemas/utils_addresses_xpub' + $ref: '#/components/schemas/asset' '400': $ref: '#/components/responses/400' '403': @@ -4436,62 +4432,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /utils/txs/evaluate: - post: + /assets/{asset}/history: + get: tags: - - Cardano » Utilities - summary: Submit a transaction for execution units evaluation - description: | - Submit an already serialized transaction to evaluate how much execution units it requires. - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Asset history + description: History of a specific asset parameters: - - in: header - name: Content-Type + - in: path + name: asset required: true + schema: + type: string + description: Concatenation of the policy_id and hex-encoded asset_name + example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false schema: type: string enum: - - application/cbor - x-codeSamples: - - lang: Shell - label: cURL - source: | - # Assuming `tx.data` is a CBOR serialized transaction on the file-system. - # (encoded using base16 or base64) - curl "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate" \ - -X POST \ - -H "Content-Type: application/cbor" \ - -H "project_id: $PROJECT_ID" \ - --data @./tx.data - requestBody: - description: | - The transaction to submit, serialized in CBOR. - required: true - content: - application/cbor: - schema: - type: string - description: | - The transaction to submit, serialized in CBOR. - example: | - 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: | -

-

- Returns result of EvaluateTx function from Ogmios see EvaluateTx - and API reference (EvaluateTxResponse) for related errors. -
-

+ description: Return the information about the history of a specific asset content: application/json: schema: - type: object - additionalProperties: true + $ref: '#/components/schemas/asset_history' '400': $ref: '#/components/responses/400' '403': @@ -4500,117 +4491,62 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /utils/txs/evaluate/utxos: - post: + /assets/{asset}/txs: + get: + deprecated: true tags: - - Cardano » Utilities - summary: Submit a transaction for execution units evaluation (additional UTXO set) - description: | - Submit a JSON payload with transaction CBOR and additional UTXO set to evaluate how much execution units it requires. - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Asset txs + description: List of a specific asset transactions parameters: - - in: header - name: Content-Type + - in: path + name: asset required: true + schema: + type: string + description: Concatenation of the policy_id and hex-encoded asset_name + example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false schema: type: string enum: - - application/json - requestBody: - description: JSON payload - required: true - content: - application/json: - schema: - type: object - properties: - cbor: - type: string - description: Transaction CBOR (encoded using base64 or base16). - additionalUtxoSet: - type: array - description: Additional UTXO as an array of tuples [TxIn, TxOut]. See https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set. - items: - type: array - minItems: 2 - maxItems: 2 - items: - anyOf: - - type: object - description: TxIn - properties: - txId: - type: string - description: Transaction hash for the input - index: - type: number - description: Index of the output within the transaction - - type: object - description: TxOut - properties: - address: - type: string - description: Output address - value: - type: object - properties: - coins: - type: number - description: Lovelace amount - assets: - type: object - description: Assets amount - additionalProperties: - type: number - required: - - coins - datum_hash: - type: string - datum: - type: object - additionalProperties: true - script: - type: object - additionalProperties: true - required: - - address - - value - required: - - cbor - x-codeSamples: - - lang: Shell - label: cURL - source: | - # Assuming TxCbor is a CBOR serialized transaction encoded using base16 or base64 - # For a structure of additional UTXO set see https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set - curl "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos" \ - -X POST \ - -H "Content-Type: application/json" \ - -H "project_id: $PROJECT_ID" \ - -d '{"cbor":"","additionalUtxoSet":[[, ]]}' + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: | -

-

- Returns result of EvaluateTx function from Ogmios see EvaluateTx - and API reference (EvaluateTxResponse) for related errors. -
-

+ description: Return the information about the history of a specific asset content: application/json: schema: - type: object - additionalProperties: true + $ref: '#/components/schemas/asset_txs' '400': $ref: '#/components/responses/400' '403': @@ -4619,68 +4555,61 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/add: - servers: - - url: https://ipfs.blockfrost.io/api/v0 - post: + /assets/{asset}/transactions: + get: tags: - - IPFS » Add - summary: Add a file to IPFS - operationId: ipfs_add - description: | - You need to `/ipfs/pin/add` an object to avoid it being garbage collected. This usage - is being counted in your user account quota. - -

- Hosted Endpoint only available for hosted variant. -

- x-codeSamples: - - lang: Shell - label: cURL - source: | - curl "https://ipfs.blockfrost.io/api/v0/ipfs/add" \ - -X POST \ - -H "project_id: $PROJECT_ID" \ - -F "file=@./README.md" - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: string - format: binary - responses: - '200': - description: Returns information about added IPFS object - content: - application/json: + - Cardano » Assets + summary: Asset transactions + description: List of a specific asset transactions + parameters: + - in: path + name: asset + required: true + schema: + type: string + description: Concatenation of the policy_id and hex-encoded asset_name + example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + '200': + description: Return the information about the history of a specific asset + content: + application/json: schema: - type: object - properties: - name: - type: string - example: README.md - description: Name of the file - ipfs_hash: - type: string - example: QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr - description: IPFS hash of the file - size: - type: string - example: '125297' - description: IPFS node size in Bytes - required: - - name - - ipfs_hash - - size + $ref: '#/components/schemas/asset_transactions' '400': $ref: '#/components/responses/400' '403': @@ -4693,34 +4622,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/gateway/{IPFS_path}: - servers: - - url: https://ipfs.blockfrost.io/api/v0 + /assets/{asset}/addresses: get: tags: - - IPFS » Gateway - summary: Relay to an IPFS gateway - description: | - Retrieve an object from the IPFS gateway (useful if you do not want to rely on a public gateway, such as `ipfs.blockfrost.dev`). - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Asset addresses + description: List of a addresses containing a specific asset parameters: - in: path + name: asset required: true - name: IPFS_path schema: type: string - description: Path to the IPFS object + description: Concatenation of the policy_id and hex-encoded asset_name + example: b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Returns the object content + description: Return the information about the history of a specific asset content: - application/octet-stream: + application/json: schema: - type: string - format: binary + $ref: '#/components/schemas/asset_addresses' '400': $ref: '#/components/responses/400' '403': @@ -4733,42 +4685,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/pin/add/{IPFS_path}: - servers: - - url: https://ipfs.blockfrost.io/api/v0 - post: + /assets/policy/{policy_id}: + get: tags: - - IPFS » Pins - summary: Pin an object - description: Pinning is necessary to avoid regular garbage collection (deletion) of IPFS objects. Non-pinned objects are regularly being removed without prior notice. Pinned objects are counted in your user storage quota. + - Cardano » Assets + summary: Assets of a specific policy + description: List of asset minted under a specific policy parameters: - in: path + name: policy_id required: true - name: IPFS_path schema: type: string - description: Path to the IPFS object + description: Specific policy_id + example: 476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Returns pinned object + description: Return the information about a specific asset content: application/json: schema: - type: object - properties: - ipfs_hash: - type: string - example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 - description: IPFS hash of the pinned object - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - example: queued - description: State of the pin action - required: - - ipfs_hash - - state + $ref: '#/components/schemas/asset_policy' '400': $ref: '#/components/responses/400' '403': @@ -4777,25 +4744,16 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425-2' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/pin/list: - servers: - - url: https://ipfs.blockfrost.io/api/v0 + /scripts: get: tags: - - IPFS » Pins - summary: List pinned objects - description: | - List objects pinned to local storage - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Scripts + summary: Scripts + description: List of scripts. parameters: - in: query name: count @@ -4829,46 +4787,11 @@ paths: not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Returns pinned objects + description: Return list of scripts content: application/json: schema: - type: array - items: - type: object - properties: - time_created: - type: integer - description: Creation time of the IPFS object on our backends - example: 1615551024 - time_pinned: - type: integer - description: Pin time of the IPFS object on our backends - example: 1615551024 - ipfs_hash: - type: string - description: IPFS hash of the pinned object - example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx - size: - type: string - description: Size of the object in Bytes - example: '1615551024' - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - description: | - State of the pinned object, which is `queued` when we are retriving object. If this - is successful the state is changed to `pinned` or `failed` if not. The state `gc` means the - pinned item has been garbage collected due to account being over storage quota or after it has - been moved to `unpinned` state by removing the object pin. - example: pinned - required: - - time_created - - time_pinned - - ipfs_hash - - size - - state + $ref: '#/components/schemas/scripts' '400': $ref: '#/components/responses/400' '403': @@ -4881,67 +4804,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/pin/list/{IPFS_path}: - servers: - - url: https://ipfs.blockfrost.io/api/v0 + /scripts/{script_hash}: get: tags: - - IPFS » Pins - summary: Get details about pinned object - description: | - Get information about locally pinned IPFS object - -

- Hosted Endpoint only available for hosted variant. -

- parameters: + - Cardano » Scripts + summary: Specific script + description: Information about a specific script + parameters: - in: path + name: script_hash required: true - name: IPFS_path schema: type: string - description: The path to the IPFS object + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: '200': - description: Returns the pins pinned + description: Return the information about a specific script content: application/json: schema: - type: object - properties: - time_created: - type: integer - description: Time of the creation of the IPFS object on our backends - example: 1615551024 - time_pinned: - type: integer - description: Time of the pin of the IPFS object on our backends - example: 1615551024 - ipfs_hash: - type: string - description: IPFS hash of the pinned object - example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx - size: - type: string - description: Size of the object in Bytes - example: '1615551024' - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - description: | - State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`. - When the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`. - If the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise. - When object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection. - State `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota. - example: pinned - required: - - time_created - - time_pinned - - ipfs_hash - - size - - state + $ref: '#/components/schemas/script' '400': $ref: '#/components/responses/400' '403': @@ -4954,47 +4837,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/pin/remove/{IPFS_path}: - servers: - - url: https://ipfs.blockfrost.io/api/v0 - post: + /scripts/{script_hash}/json: + get: tags: - - IPFS » Pins - summary: Remove a IPFS pin - description: | - Remove pinned objects from local storage - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Scripts + summary: Script JSON + description: JSON representation of a `timelock` script parameters: - in: path + name: script_hash required: true - name: IPFS_path schema: type: string - description: The path to the IPFS object + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: '200': - description: Returns the pins removed + description: Return the JSON representation of a `timelock` script content: application/json: schema: - type: object - properties: - ipfs_hash: - type: string - example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 - description: IPFS hash of the pinned object - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - example: unpinned - description: State of the pin action - required: - - ipfs_hash - - state + $ref: '#/components/schemas/script_json' '400': $ref: '#/components/responses/400' '403': @@ -5007,19 +4870,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /metrics: + /scripts/{script_hash}/cbor: get: tags: - - Metrics - summary: Blockfrost usage metrics - description: History of your Blockfrost usage metrics in the past 30 days. + - Cardano » Scripts + summary: Script CBOR + description: CBOR representation of a `plutus` script + parameters: + - in: path + name: script_hash + required: true + schema: + type: string + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: '200': - description: Return the last 30 days of metrics + description: Return the CBOR representation of a `plutus` script content: application/json: schema: - $ref: '#/components/schemas/metrics' + $ref: '#/components/schemas/script_cbor' '400': $ref: '#/components/responses/400' '403': @@ -5032,20 +4903,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /metrics/endpoints: + /scripts/{script_hash}/redeemers: get: tags: - - Metrics - summary: Blockfrost endpoint usage metrics - description: | - History of your Blockfrost usage metrics per endpoint in the past 30 days. + - Cardano » Scripts + summary: Redeemers of a specific script + description: List of redeemers of a specific script + parameters: + - in: path + name: script_hash + required: true + schema: + type: string + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. responses: '200': - description: Return the last 30 days of metrics + description: Return the information about redeemers of a specific script content: application/json: schema: - $ref: '#/components/schemas/metrics_endpoints' + $ref: '#/components/schemas/script_redeemers' '400': $ref: '#/components/responses/400' '403': @@ -5058,19 +4966,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /network: + /scripts/datum/{datum_hash}: get: tags: - - Cardano » Network - summary: Network information - description: Return detailed network information. + - Cardano » Scripts + summary: Datum value + description: Query JSON value of a datum by its hash + parameters: + - in: path + name: datum_hash + required: true + schema: + type: string + description: Hash of the datum + example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d responses: '200': - description: Return detailed network information. + description: Return the datum value content: application/json: schema: - $ref: '#/components/schemas/network' + $ref: '#/components/schemas/script_datum' '400': $ref: '#/components/responses/400' '403': @@ -5083,21 +4999,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /network/eras: + /scripts/datum/{datum_hash}/cbor: get: tags: - - Cardano » Network - summary: Query summary of blockchain eras - description: | - Returns start and end of each era along with - parameters that can vary between hard forks. + - Cardano » Scripts + summary: Datum CBOR value + description: Query CBOR serialised datum by its hash + parameters: + - in: path + name: datum_hash + required: true + schema: + type: string + description: Hash of the datum + example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d responses: '200': - description: Returns era summaries content. + description: Return the CBOR serialised datum value content: application/json: schema: - $ref: '#/components/schemas/network-eras' + $ref: '#/components/schemas/script_datum_cbor' '400': $ref: '#/components/responses/400' '403': @@ -5106,32 +5028,45 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /nutlink/{address}: + /utils/addresses/xpub/{xpub}/{role}/{index}: get: tags: - - Nut.link - summary: Specific nut.link address - description: List metadata about specific address + - Cardano » Utilities + summary: Derive an address + description: Derive Shelley address from an xpub parameters: - in: path + name: xpub required: true - name: address schema: type: string - description: Address of a metadata oracle + description: Hex xpub + example: d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a + - in: path + name: role + required: true + schema: + type: integer + description: Account role + example: 0 + - in: path + name: index + required: true + schema: + type: integer + description: Address index + example: 2 responses: '200': - description: Return the metadata about metadata oracle + description: Return derivated Shelley address content: application/json: schema: - $ref: '#/components/schemas/nutlink_address' + $ref: '#/components/schemas/utils_addresses_xpub' '400': $ref: '#/components/responses/400' '403': @@ -5144,56 +5079,62 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /nutlink/{address}/tickers: - get: + /utils/txs/evaluate: + post: tags: - - Nut.link - summary: List of tickers of an oracle - description: List of records of a specific oracle + - Cardano » Utilities + summary: Submit a transaction for execution units evaluation + description: | + Submit an already serialized transaction to evaluate how much execution units it requires. + +

+ Hosted Endpoint only available for hosted variant. +

parameters: - - in: path + - in: header + name: Content-Type required: true - name: address - schema: - type: string - description: Address of a metadata oracle - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false schema: type: string enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + - application/cbor + x-codeSamples: + - lang: Shell + label: cURL + source: | + # Assuming `tx.data` is a CBOR serialized transaction on the file-system. + # (encoded using base16 or base64) + curl "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate" \ + -X POST \ + -H "Content-Type: application/cbor" \ + -H "project_id: $PROJECT_ID" \ + --data @./tx.data + requestBody: + description: | + The transaction to submit, serialized in CBOR. + required: true + content: + application/cbor: + schema: + type: string + description: | + The transaction to submit, serialized in CBOR. + example: | + 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 responses: '200': - description: Return the tickers provided by the metadata oracle + description: | +

+

+ Returns result of EvaluateTx function from Ogmios see EvaluateTx + and API reference (EvaluateTxResponse) for related errors. +
+

content: application/json: schema: - $ref: '#/components/schemas/nutlink_address_tickers' + type: object + additionalProperties: true '400': $ref: '#/components/responses/400' '403': @@ -5202,66 +5143,117 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /nutlink/{address}/tickers/{ticker}: - get: + /utils/txs/evaluate/utxos: + post: tags: - - Nut.link - summary: Specific ticker for an address - description: List of records of a specific ticker + - Cardano » Utilities + summary: Submit a transaction for execution units evaluation (additional UTXO set) + description: | + Submit a JSON payload with transaction CBOR and additional UTXO set to evaluate how much execution units it requires. + +

+ Hosted Endpoint only available for hosted variant. +

parameters: - - in: path - required: true - name: address - schema: - type: string - description: Address of a metadata oracle - - in: path + - in: header + name: Content-Type required: true - name: ticker - schema: - type: string - description: Ticker for the pool record - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false schema: type: string enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. + - application/json + requestBody: + description: JSON payload + required: true + content: + application/json: + schema: + type: object + properties: + cbor: + type: string + description: Transaction CBOR (encoded using base64 or base16). + additionalUtxoSet: + type: array + description: Additional UTXO as an array of tuples [TxIn, TxOut]. See https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set. + items: + type: array + minItems: 2 + maxItems: 2 + items: + anyOf: + - type: object + description: TxIn + properties: + txId: + type: string + description: Transaction hash for the input + index: + type: number + description: Index of the output within the transaction + - type: object + description: TxOut + properties: + address: + type: string + description: Output address + value: + type: object + properties: + coins: + type: number + description: Lovelace amount + assets: + type: object + description: Assets amount + additionalProperties: + type: number + required: + - coins + datum_hash: + type: string + datum: + type: object + additionalProperties: true + script: + type: object + additionalProperties: true + required: + - address + - value + required: + - cbor + x-codeSamples: + - lang: Shell + label: cURL + source: | + # Assuming TxCbor is a CBOR serialized transaction encoded using base16 or base64 + # For a structure of additional UTXO set see https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set + curl "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos" \ + -X POST \ + -H "Content-Type: application/json" \ + -H "project_id: $PROJECT_ID" \ + -d '{"cbor":"","additionalUtxoSet":[[, ]]}' responses: '200': - description: Return the tickers provided by the metadata oracle + description: | +

+

+ Returns result of EvaluateTx function from Ogmios see EvaluateTx + and API reference (EvaluateTxResponse) for related errors. +
+

content: application/json: schema: - $ref: '#/components/schemas/nutlink_address_ticker' + type: object + additionalProperties: true '400': $ref: '#/components/responses/400' '403': @@ -5270,59 +5262,710 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /nutlink/tickers/{ticker}: - get: + /ipfs/add: + servers: + - url: https://ipfs.blockfrost.io/api/v0 + post: tags: - - Nut.link - summary: Specific ticker - description: List of records of a specific ticker - parameters: - - in: path - required: true - name: ticker - schema: - type: string - description: Ticker for the pool record - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: | - The ordering of items from the point of view of the blockchain, - not the page listing itself. By default, we return oldest first, newest last. - responses: - '200': - description: Return the tickers provided by the metadata oracle - content: - application/json: - schema: + - IPFS » Add + summary: Add a file to IPFS + operationId: ipfs_add + description: | + You need to `/ipfs/pin/add` an object to avoid it being garbage collected. This usage + is being counted in your user account quota. + +

+ Hosted Endpoint only available for hosted variant. +

+ x-codeSamples: + - lang: Shell + label: cURL + source: | + curl "https://ipfs.blockfrost.io/api/v0/ipfs/add" \ + -X POST \ + -H "project_id: $PROJECT_ID" \ + -F "file=@./README.md" + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: string + format: binary + responses: + '200': + description: Returns information about added IPFS object + content: + application/json: + schema: + type: object + properties: + name: + type: string + example: README.md + description: Name of the file + ipfs_hash: + type: string + example: QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr + description: IPFS hash of the file + size: + type: string + example: '125297' + description: IPFS node size in Bytes + required: + - name + - ipfs_hash + - size + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /ipfs/gateway/{IPFS_path}: + servers: + - url: https://ipfs.blockfrost.io/api/v0 + get: + tags: + - IPFS » Gateway + summary: Relay to an IPFS gateway + description: | + Retrieve an object from the IPFS gateway (useful if you do not want to rely on a public gateway, such as `ipfs.blockfrost.dev`). + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: Path to the IPFS object + responses: + '200': + description: Returns the object content + content: + application/octet-stream: + schema: + type: string + format: binary + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /ipfs/pin/add/{IPFS_path}: + servers: + - url: https://ipfs.blockfrost.io/api/v0 + post: + tags: + - IPFS » Pins + summary: Pin an object + description: Pinning is necessary to avoid regular garbage collection (deletion) of IPFS objects. Non-pinned objects are regularly being removed without prior notice. Pinned objects are counted in your user storage quota. + parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: Path to the IPFS object + responses: + '200': + description: Returns pinned object + content: + application/json: + schema: + type: object + properties: + ipfs_hash: + type: string + example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 + description: IPFS hash of the pinned object + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + example: queued + description: State of the pin action + required: + - ipfs_hash + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425-2' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /ipfs/pin/list: + servers: + - url: https://ipfs.blockfrost.io/api/v0 + get: + tags: + - IPFS » Pins + summary: List pinned objects + description: | + List objects pinned to local storage + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + '200': + description: Returns pinned objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + time_created: + type: integer + description: Creation time of the IPFS object on our backends + example: 1615551024 + time_pinned: + type: integer + description: Pin time of the IPFS object on our backends + example: 1615551024 + ipfs_hash: + type: string + description: IPFS hash of the pinned object + example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx + size: + type: string + description: Size of the object in Bytes + example: '1615551024' + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + description: | + State of the pinned object, which is `queued` when we are retriving object. If this + is successful the state is changed to `pinned` or `failed` if not. The state `gc` means the + pinned item has been garbage collected due to account being over storage quota or after it has + been moved to `unpinned` state by removing the object pin. + example: pinned + required: + - time_created + - time_pinned + - ipfs_hash + - size + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /ipfs/pin/list/{IPFS_path}: + servers: + - url: https://ipfs.blockfrost.io/api/v0 + get: + tags: + - IPFS » Pins + summary: Get details about pinned object + description: | + Get information about locally pinned IPFS object + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: The path to the IPFS object + responses: + '200': + description: Returns the pins pinned + content: + application/json: + schema: + type: object + properties: + time_created: + type: integer + description: Time of the creation of the IPFS object on our backends + example: 1615551024 + time_pinned: + type: integer + description: Time of the pin of the IPFS object on our backends + example: 1615551024 + ipfs_hash: + type: string + description: IPFS hash of the pinned object + example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx + size: + type: string + description: Size of the object in Bytes + example: '1615551024' + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + description: | + State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`. + When the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`. + If the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise. + When object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection. + State `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota. + example: pinned + required: + - time_created + - time_pinned + - ipfs_hash + - size + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /ipfs/pin/remove/{IPFS_path}: + servers: + - url: https://ipfs.blockfrost.io/api/v0 + post: + tags: + - IPFS » Pins + summary: Remove a IPFS pin + description: | + Remove pinned objects from local storage + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: The path to the IPFS object + responses: + '200': + description: Returns the pins removed + content: + application/json: + schema: + type: object + properties: + ipfs_hash: + type: string + example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 + description: IPFS hash of the pinned object + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + example: unpinned + description: State of the pin action + required: + - ipfs_hash + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /metrics: + get: + tags: + - Metrics + summary: Blockfrost usage metrics + description: History of your Blockfrost usage metrics in the past 30 days. + responses: + '200': + description: Return the last 30 days of metrics + content: + application/json: + schema: + $ref: '#/components/schemas/metrics' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /metrics/endpoints: + get: + tags: + - Metrics + summary: Blockfrost endpoint usage metrics + description: | + History of your Blockfrost usage metrics per endpoint in the past 30 days. + responses: + '200': + description: Return the last 30 days of metrics + content: + application/json: + schema: + $ref: '#/components/schemas/metrics_endpoints' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /network: + get: + tags: + - Cardano » Network + summary: Network information + description: Return detailed network information. + responses: + '200': + description: Return detailed network information. + content: + application/json: + schema: + $ref: '#/components/schemas/network' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /network/eras: + get: + tags: + - Cardano » Network + summary: Query summary of blockchain eras + description: | + Returns start and end of each era along with + parameters that can vary between hard forks. + responses: + '200': + description: Returns era summaries content. + content: + application/json: + schema: + $ref: '#/components/schemas/network-eras' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /nutlink/{address}: + get: + tags: + - Nut.link + summary: Specific nut.link address + description: List metadata about specific address + parameters: + - in: path + required: true + name: address + schema: + type: string + description: Address of a metadata oracle + responses: + '200': + description: Return the metadata about metadata oracle + content: + application/json: + schema: + $ref: '#/components/schemas/nutlink_address' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /nutlink/{address}/tickers: + get: + tags: + - Nut.link + summary: List of tickers of an oracle + description: List of records of a specific oracle + parameters: + - in: path + required: true + name: address + schema: + type: string + description: Address of a metadata oracle + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + '200': + description: Return the tickers provided by the metadata oracle + content: + application/json: + schema: + $ref: '#/components/schemas/nutlink_address_tickers' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /nutlink/{address}/tickers/{ticker}: + get: + tags: + - Nut.link + summary: Specific ticker for an address + description: List of records of a specific ticker + parameters: + - in: path + required: true + name: address + schema: + type: string + description: Address of a metadata oracle + - in: path + required: true + name: ticker + schema: + type: string + description: Ticker for the pool record + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + '200': + description: Return the tickers provided by the metadata oracle + content: + application/json: + schema: + $ref: '#/components/schemas/nutlink_address_ticker' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /nutlink/tickers/{ticker}: + get: + tags: + - Nut.link + summary: Specific ticker + description: List of records of a specific ticker + parameters: + - in: path + required: true + name: ticker + schema: + type: string + description: Ticker for the pool record + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + '200': + description: Return the tickers provided by the metadata oracle + content: + application/json: + schema: $ref: '#/components/schemas/nutlink_tickers_ticker' '400': $ref: '#/components/responses/400' @@ -5360,190 +6003,988 @@ components: description: Block number hash: type: string - example: 4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a - description: Hash of the block - slot: + example: 4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a + description: Hash of the block + slot: + type: integer + nullable: true + example: 412162133 + description: Slot number + epoch: + type: integer + nullable: true + example: 425 + description: Epoch number + epoch_slot: + type: integer + nullable: true + example: 12 + description: Slot within the epoch + slot_leader: + type: string + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy + description: Bech32 ID of the slot leader or specific block description in case there is no slot leader + size: + type: integer + example: 3 + description: Block size in Bytes + tx_count: + type: integer + example: 1 + description: Number of transactions in the block + output: + type: string + nullable: true + example: '128314491794' + description: Total output within the block in Lovelaces + fees: + type: string + nullable: true + example: '592661' + description: Total fees within the block in Lovelaces + block_vrf: + type: string + nullable: true + example: vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty + description: VRF key of the block + minLength: 65 + maxLength: 65 + op_cert: + type: string + nullable: true + example: da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c + description: The hash of the operational certificate of the block producer + op_cert_counter: + type: string + nullable: true + example: '18' + description: The value of the counter used to produce the operational certificate + previous_block: + type: string + nullable: true + example: 43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05 + description: Hash of the previous block + next_block: + type: string + nullable: true + example: 8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa + description: Hash of the next block + confirmations: + type: integer + example: 4698 + description: Number of block confirmations + required: + - time + - height + - hash + - slot + - epoch + - epoch_slot + - slot_leader + - size + - tx_count + - output + - fees + - block_vrf + - op_cert + - op_cert_counter + - previous_block + - next_block + - confirmations + block_content_txs: + type: array + items: + type: string + description: Hash of the transaction + example: + - 8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b + - 4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036 + - 52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f + - e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b + block_content_array: + type: array + items: + $ref: '#/components/schemas/block_content' + block_content_addresses: + type: array + items: + type: object + properties: + address: + type: string + description: Address that was affected in the specified block + transactions: + type: array + description: List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending. + items: + type: object + properties: + tx_hash: + type: string + required: + - tx_hash + required: + - address + - transactions + example: + - address: addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv + transactions: + - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 + - address: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + transactions: + - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0 + genesis_content: + type: object + properties: + active_slots_coefficient: + type: number + example: 0.05 + description: The proportion of slots in which blocks should be issued + update_quorum: + type: integer + example: 5 + description: Determines the quorum needed for votes on the protocol parameter updates + max_lovelace_supply: + type: string + example: '45000000000000000' + description: The total number of lovelace in the system + network_magic: type: integer - nullable: true - example: 412162133 - description: Slot number - epoch: + example: 764824073 + description: Network identifier + epoch_length: type: integer - nullable: true - example: 425 - description: Epoch number - epoch_slot: + example: 432000 + description: Number of slots in an epoch + system_start: type: integer - nullable: true - example: 12 - description: Slot within the epoch - slot_leader: - type: string - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy - description: Bech32 ID of the slot leader or specific block description in case there is no slot leader - size: + example: 1506203091 + description: Time of slot 0 in UNIX time + slots_per_kes_period: type: integer - example: 3 - description: Block size in Bytes - tx_count: + example: 129600 + description: Number of slots in an KES period + slot_length: type: integer example: 1 - description: Number of transactions in the block - output: + description: Duration of one slot in seconds + max_kes_evolutions: + type: integer + example: 62 + description: The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate + security_param: + type: integer + example: 2160 + description: Security parameter k + required: + - active_slots_coefficient + - update_quorum + - max_lovelace_supply + - network_magic + - epoch_length + - system_start + - slots_per_kes_period + - slot_length + - max_kes_evolutions + - security_param + dreps: + type: array + items: + type: object + properties: + drep_id: + type: string + description: The Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + required: + - drep_id + - hex + example: + - drep_id: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + hex: db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23 + - drep_id: drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4 + hex: c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758 + drep: + type: object + properties: + drep_id: type: string - nullable: true - example: '128314491794' - description: Total output within the block in Lovelaces - fees: + description: Bech32 encoded DRep address + hex: type: string - nullable: true - example: '592661' - description: Total fees within the block in Lovelaces - block_vrf: + description: The raw bytes of the DRep + amount: type: string + description: The total amount of voting power this DRep is delegated. + active: + type: boolean + description: Registration state of the DRep + active_epoch: + type: integer nullable: true - example: vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty - description: VRF key of the block - minLength: 65 - maxLength: 65 - op_cert: + description: Epoch of the most recent action - registration or deregistration + has_script: + type: boolean + description: Flag which shows if this DRep credentials are a script hash + required: + - drep_id + - hex + - amount + - active + - active_epoch + - has_script + example: + drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + amount: '2000000' + active: true + active_epoch: 420 + has_script: true + drep_delegators: + type: array + items: + type: object + properties: + address: + type: string + description: Bech32 encoded stake addresses + amount: + type: string + description: Currently delegated amount + required: + - address + - amount + example: + - address: stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha + amount: '1137959159981411' + - address: stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u + amount: '16958865648' + - address: stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck + amount: '18605647' + drep_metadata: + type: object + properties: + drep_id: type: string - nullable: true - example: da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c - description: The hash of the operational certificate of the block producer - op_cert_counter: + description: Bech32 encoded addresses + hex: type: string - nullable: true - example: '18' - description: The value of the counter used to produce the operational certificate - previous_block: + description: The raw bytes of the DRep + url: + type: string + example: https://stakenuts.com/drep.json + description: URL to the drep metadata + hash: + type: string + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + json_metadata: + anyOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + - type: integer + - type: number + - type: boolean + - type: 'null' + description: Content of the JSON metadata (validated CIP-119) + bytes: + type: string + description: Content of the metadata (raw) + required: + - drep_id + - hex + - url + - hash + - json_metadata + - bytes + example: + drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + url: https://aaa.xyz/drep.json + hash: a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de + json_metadata: + '@context': + CIP100: https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md# + CIP119: https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md# + hashAlgorithm: CIP100:hashAlgorithm + body: + '@id': CIP119:body + '@context': + references: + '@id': CIP119:references + '@container': '@set' + '@context': + GovernanceMetadata: CIP100:GovernanceMetadataReference + Other: CIP100:OtherReference + label: CIP100:reference-label + uri: CIP100:reference-uri + paymentAddress: CIP119:paymentAddress + givenName: CIP119:givenName + image: + '@id': CIP119:image + '@context': + ImageObject: https://schema.org/ImageObject + objectives: CIP119:objectives + motivations: CIP119:motivations + qualifications: CIP119:qualifications + hahsAlgorithm: blake2b-256 + body: + paymentAddress: addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34 + givenName: Ryan Williams + image: + '@type': ImageObject + contentUrl: https://avatars.githubusercontent.com/u/44342099?v=4 + sha256: 2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e + objectives: Buy myself an island. + motivations: I really would like to own an island. + qualifications: I have my 100m swimming badge, so I would be qualified to be able to swim around island. + references: + - '@type': Other + label: A cool island for Ryan + uri: https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu + - '@type': Link + label: Ryan's Twitter + uri: https://twitter.com/Ryun1_ + bytes: \x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6 + drep_updates: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Transaction ID + cert_index: + type: integer + description: Certificate within the transaction + action: + type: string + enum: + - registered + - deregistered + description: Action in the certificate + required: + - tx_hash + - cert_index + - action + example: + - tx_hash: f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393 + cert_index: 0 + action: registered + - tx_hash: dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e + cert_index: 0 + action: deregistered + drep_votes: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: + - 'yes' + - 'no' + - abstain + description: The Vote. Can be one of yes, no, abstain. + required: + - tx_hash + - cert_index + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + vote: 'yes' + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 3 + vote: abstain + proposals: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + - hard_fork_initiation + - new_committee + - new_constitution + - info_action + - no_confidence + - parameter_change + - treasury_withdrawals + description: Type of proposal. + required: + - tx_hash + - cert_index + - governance_type + example: + - tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + cert_index: 1 + governance_type: treasury_withdrawals + - tx_hash: 71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60 + cert_index: 4 + governance_type: no_confidence + proposal: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: type: string + enum: + - hard_fork_initiation + - new_committee + - new_constitution + - info_action + - no_confidence + - parameter_change + - treasury_withdrawals + description: Type of proposal. + governance_description: + additionalProperties: true + type: object nullable: true - example: 43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05 - description: Hash of the previous block - next_block: + description: An object describing the content of this GovActionProposal in a readable way. + deposit: type: string + description: The deposit amount paid for this proposal. + return_address: + type: string + description: Bech32 stake address of the reward address to receive the deposit when it is repaid. + ratified_epoch: + type: integer nullable: true - example: 8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa - description: Hash of the next block - confirmations: + enacted_epoch: type: integer - example: 4698 - description: Number of block confirmations + nullable: true + dropped_epoch: + type: integer + nullable: true + expired_epoch: + type: integer + nullable: true + expiration: + type: integer + description: Shows the epoch at which this governance action will expire. + required: + - tx_hash + - cert_index + - governance_type + - deposit + - return_address + - governance_description + - ratified_epoch + - enacted_epoch + - dropped_epoch + - expired_epoch + - expiration + example: + tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + cert_index: 1 + governance_type: treasury_withdrawals + deposit: 12000 + return_address: stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz + governance_description: TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60")},Coin 20000000)]) + ratified_epoch: null + enacted_epoch: 123 + dropped_epoch: null + expired_epoch: null + expiration: 120 + proposal_parameters: + type: object + properties: + tx_hash: + type: string + description: Off-chain metadata of a proposal with a specific transaction hash + cert_index: + type: integer + description: Off-chain metadata of a proposal with a specific transaction cert_index + parameters: + type: object + properties: + epoch: + type: integer + example: 225 + description: Epoch number + min_fee_a: + type: integer + example: 44 + description: The linear factor for the minimum fee calculation for given epoch + min_fee_b: + type: integer + example: 155381 + description: The constant factor for the minimum fee calculation + max_block_size: + type: integer + example: 65536 + description: Maximum block body size in Bytes + max_tx_size: + type: integer + example: 16384 + description: Maximum transaction size + max_block_header_size: + type: integer + example: 1100 + description: Maximum block header size + key_deposit: + type: string + example: '2000000' + description: The amount of a key registration deposit in Lovelaces + pool_deposit: + type: string + example: '500000000' + description: The amount of a pool registration deposit in Lovelaces + e_max: + type: integer + example: 18 + description: Epoch bound on pool retirement + n_opt: + type: integer + example: 150 + description: Desired number of pools + a0: + type: number + example: 0.3 + description: Pool pledge influence + rho: + type: number + example: 0.003 + description: Monetary expansion + tau: + type: number + example: 0.2 + description: Treasury expansion + decentralisation_param: + type: number + example: 0.5 + description: Percentage of blocks produced by federated nodes + extra_entropy: + type: string + nullable: true + example: null + description: Seed for extra entropy + protocol_major_ver: + type: integer + example: 2 + description: Accepted protocol major version + protocol_minor_ver: + type: integer + example: 0 + description: Accepted protocol minor version + min_utxo: + type: string + example: '1000000' + description: Minimum UTXO value + min_pool_cost: + type: string + example: '340000000' + description: Minimum stake cost forced on the pool + nonce: + type: string + example: 1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81 + description: Epoch number only used once + cost_models: + additionalProperties: true + type: object + nullable: true + example: + PlutusV1: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + PlutusV2: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + description: Cost models parameters for Plutus Core scripts + price_mem: + type: number + nullable: true + example: 0.0577 + description: The per word cost of script memory usage + price_step: + type: number + nullable: true + example: 0.0000721 + description: The cost of script execution step usage + max_tx_ex_mem: + type: string + nullable: true + example: '10000000' + description: The maximum number of execution memory allowed to be used in a single transaction + max_tx_ex_steps: + type: string + nullable: true + example: '10000000000' + description: The maximum number of execution steps allowed to be used in a single transaction + max_block_ex_mem: + type: string + nullable: true + example: '50000000' + description: The maximum number of execution memory allowed to be used in a single block + max_block_ex_steps: + type: string + nullable: true + example: '40000000000' + description: The maximum number of execution steps allowed to be used in a single block + max_val_size: + type: string + nullable: true + example: '5000' + description: The maximum Val size + collateral_percent: + type: integer + nullable: true + example: 150 + description: The percentage of the transactions fee which must be provided as collateral when including non-native scripts + max_collateral_inputs: + type: integer + nullable: true + example: 3 + description: The maximum number of collateral inputs allowed in a transaction + coins_per_utxo_size: + type: string + nullable: true + example: '34482' + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + coins_per_utxo_word: + type: string + nullable: true + example: '34482' + deprecated: true + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + pvt_motion_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for motion of no-confidence. New in 13.2-Conway. + pvt_committee_normal: + type: number + nullable: true + description: Pool Voting threshold for new committee/threshold (normal state). New in 13.2-Conway. + pvt_committee_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. + pvt_hard_fork_initiation: + type: number + nullable: true + description: Pool Voting threshold for hard-fork initiation. New in 13.2-Conway. + dvt_motion_no_confidence: + type: number + nullable: true + description: DRep Vote threshold for motion of no-confidence. New in 13.2-Conway. + dvt_committee_normal: + type: number + nullable: true + description: DRep Vote threshold for new committee/threshold (normal state). New in 13.2-Conway. + dvt_committee_no_confidence: + type: number + nullable: true + description: DRep Vote threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. + dvt_update_to_constitution: + type: number + nullable: true + description: DRep Vote threshold for update to the Constitution. New in 13.2-Conway. + dvt_hard_fork_initiation: + type: number + nullable: true + description: DRep Vote threshold for hard-fork initiation. New in 13.2-Conway. + dvt_p_p_network_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, network group. New in 13.2-Conway. + dvt_p_p_economic_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, economic group. New in 13.2-Conway. + dvt_p_p_technical_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, technical group. New in 13.2-Conway. + dvt_p_p_gov_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, governance group. New in 13.2-Conway. + dvt_treasury_withdrawal: + type: number + nullable: true + description: DRep Vote threshold for treasury withdrawal. New in 13.2-Conway. + committee_min_size: + type: string + nullable: true + format: word64type + description: Minimal constitutional committee size. New in 13.2-Conway. + committee_max_term_length: + type: string + nullable: true + format: word64type + description: Constitutional committee term limits. New in 13.2-Conway. + gov_action_lifetime: + type: string + nullable: true + format: word64type + description: Governance action expiration. New in 13.2-Conway. + gov_action_deposit: + type: string + nullable: true + format: word64type + description: Governance action deposit. New in 13.2-Conway. + drep_deposit: + type: string + nullable: true + format: word64type + description: DRep deposit amount. New in 13.2-Conway. + drep_activity: + type: string + nullable: true + format: word64type + description: DRep activity period. New in 13.2-Conway. + pvtpp_security_group: + type: number + nullable: true + min_fee_ref_script_cost_per_byte: + type: number + nullable: true + required: + - min_fee_a + - min_fee_b + - max_block_size + - max_tx_size + - max_block_header_size + - key_deposit + - pool_deposit + - e_max + - n_opt + - a0 + - rho + - tau + - decentralisation_param + - extra_entropy + - protocol_major_ver + - protocol_minor_ver + - min_utxo + - min_pool_cost + - nonce + - cost_models + - price_mem + - price_step + - max_tx_ex_mem + - max_tx_ex_steps + - max_block_ex_mem + - max_block_ex_steps + - max_val_size + - collateral_percent + - max_collateral_inputs + - coins_per_utxo_size + - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - pvtpp_security_group + - min_fee_ref_script_cost_per_byte required: - - time - - height - - hash - - slot - - epoch - - epoch_slot - - slot_leader - - size - - tx_count - - output - - fees - - block_vrf - - op_cert - - op_cert_counter - - previous_block - - next_block - - confirmations - block_content_txs: + - tx_hash + - cert_index + - parameters + proposal_withdrawals: type: array items: - type: string - description: Hash of the transaction + type: object + properties: + stake_address: + type: string + example: stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 + description: Bech32 stake address + amount: + type: string + description: Withdrawal amount in Lovelaces + required: + - stake_address + - amount example: - - 8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b - - 4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036 - - 52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f - - e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b - block_content_array: - type: array - items: - $ref: '#/components/schemas/block_content' - block_content_addresses: + - stake_address: stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 + amount: '454541212442' + - stake_address: stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2 + amount: '97846969' + proposal_votes: type: array items: type: object properties: - address: + tx_hash: type: string - description: Address that was affected in the specified block - transactions: - type: array - description: List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending. - items: - type: object - properties: - tx_hash: - type: string - required: - - tx_hash + description: Hash of the voting transaction. + cert_index: + type: integer + description: Index of the certificate within the voting transaction. + voter_role: + type: string + enum: + - constitutional_committee + - drep + - spo + description: The role of the voter. Can be one of constitutional_committee, drep, spo. + voter: + type: string + description: The actual voter. + vote: + type: string + enum: + - 'yes' + - 'no' + - abstain + description: The Vote. Can be one of yes, no, abstain. required: - - address - - transactions + - tx_hash + - cert_index + - voter_role + - voter + - vote example: - - address: addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv - transactions: - - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 - - address: addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - transactions: - - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0 - genesis_content: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + voter_role: drep + voter: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + vote: 'yes' + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 3 + voter_role: constitutional_committee + voter: 53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4 + vote: abstain + proposal_metadata: type: object properties: - active_slots_coefficient: - type: number - example: 0.05 - description: The proportion of slots in which blocks should be issued - update_quorum: - type: integer - example: 5 - description: Determines the quorum needed for votes on the protocol parameter updates - max_lovelace_supply: + tx_hash: type: string - example: '45000000000000000' - description: The total number of lovelace in the system - network_magic: - type: integer - example: 764824073 - description: Network identifier - epoch_length: - type: integer - example: 432000 - description: Number of slots in an epoch - system_start: - type: integer - example: 1506203091 - description: Time of slot 0 in UNIX time - slots_per_kes_period: - type: integer - example: 129600 - description: Number of slots in an KES period - slot_length: - type: integer - example: 1 - description: Duration of one slot in seconds - max_kes_evolutions: - type: integer - example: 62 - description: The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate - security_param: + description: Off-chain metadata of a proposal with a specific transaction hash + cert_index: type: integer - example: 2160 - description: Security parameter k + description: Off-chain metadata of a proposal with a specific transaction cert_index + url: + type: string + example: https://abc.xyz/gov.json + description: URL to the proposal metadata + hash: + type: string + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + json_metadata: + anyOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + - type: integer + - type: number + - type: boolean + - type: 'null' + description: Content of the JSON metadata (validated CIP-108) + bytes: + type: string + description: Content of the metadata (raw) required: - - active_slots_coefficient - - update_quorum - - max_lovelace_supply - - network_magic - - epoch_length - - system_start - - slots_per_kes_period - - slot_length - - max_kes_evolutions - - security_param + - tx_hash + - cert_index + - url + - hash + - json_metadata + - bytes + example: + tx_hash: 257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8 + cert_index: 2 + url: https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json + hash: ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81 + json_metadata: + body: + title: Hardfork to Protocol version 10 + abstract: Let's have sanchoNet in full governance as soon as possible + rationale: Let's keep testing stuff + motivation: PV9 is not as fun as PV10 + references: + - uri: '' + '@type': Other + label: Hardfork to PV10 + authors: + - name: Carlos + witness: + publicKey: 7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a + signature: a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01 + witnessAlgorithm: ed25519 + '@context': + body: + '@id': CIP108:body + '@context': + title: CIP108:title + abstract: CIP108:abstract + rationale: CIP108:rationale + motivation: CIP108:motivation + references: + '@id': CIP108:references + '@context': + uri: CIP100:reference-uri + Other: CIP100:OtherReference + label: CIP100:reference-label + referenceHash: + '@id': CIP108:referenceHash + '@context': + hashDigest: CIP108:hashDigest + hashAlgorithm: CIP100:hashAlgorithm + GovernanceMetadata: CIP100:GovernanceMetadataReference + '@container': '@set' + CIP100: https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md# + CIP108: https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md# + authors: + '@id': CIP100:authors + '@context': + name: http://xmlns.com/foaf/0.1/name + witness: + '@id': CIP100:witness + '@context': + publicKey: CIP100:publicKey + signature: CIP100:signature + witnessAlgorithm: CIP100:witnessAlgorithm + '@container': '@set' + '@language': en-us + hashAlgorithm: CIP100:hashAlgorithm + hashAlgorithm: blake2b-256 + bytes: \x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d epoch_content: type: object properties: @@ -5750,8 +7191,94 @@ components: type: string nullable: true example: '34482' - description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. deprecated: true + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + pvt_motion_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for motion of no-confidence. + pvt_committee_normal: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (normal state). + pvt_committee_no_confidence: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (state of no-confidence). + pvt_hard_fork_initiation: + nullable: true + type: number + description: Pool Voting threshold for hard-fork initiation. + dvt_motion_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for motion of no-confidence. + dvt_committee_normal: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (normal state). + dvt_committee_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (state of no-confidence). + dvt_update_to_constitution: + nullable: true + type: number + description: DRep Vote threshold for update to the Constitution. + dvt_hard_fork_initiation: + nullable: true + type: number + description: DRep Vote threshold for hard-fork initiation. + dvt_p_p_network_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, network group. + dvt_p_p_economic_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, economic group. + dvt_p_p_technical_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, technical group. + dvt_p_p_gov_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, governance group. + dvt_treasury_withdrawal: + nullable: true + type: number + description: DRep Vote threshold for treasury withdrawal. + committee_min_size: + type: string + nullable: true + description: Minimal constitutional committee size. + committee_max_term_length: + type: string + nullable: true + description: Constitutional committee term limits. + gov_action_lifetime: + type: string + nullable: true + description: Governance action expiration. + gov_action_deposit: + type: string + nullable: true + description: Governance action deposit. + drep_deposit: + type: string + nullable: true + description: DRep deposit amount. + drep_activity: + type: string + nullable: true + description: DRep activity period. + pvtpp_security_group: + type: number + nullable: true + min_fee_ref_script_cost_per_byte: + type: number + nullable: true required: - epoch - min_fee_a @@ -5785,6 +7312,28 @@ components: - max_collateral_inputs - coins_per_utxo_size - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - pvtpp_security_group + - min_fee_ref_script_cost_per_byte epoch_content_array: type: array items: @@ -6529,7 +8078,12 @@ components: type: string nullable: true example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - description: Bech32 pool ID that owns the account + description: Bech32 pool ID to which this account is delegated + drep_id: + type: string + nullable: true + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + description: Bech32 drep ID to which this account is delegated required: - stake_address - active @@ -6541,6 +8095,7 @@ components: - treasury_sum - withdrawable_amount - pool_id + - drep_id account_reward_content: type: array items: @@ -7833,6 +9388,32 @@ components: - tx_hash: e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0 cert_index: 1 action: registered + pool_votes: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: + - 'yes' + - 'no' + - abstain + description: The Vote. Can be one of yes, no, abstain. + required: + - tx_hash + - cert_index + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + vote: 'yes' assets: type: array items: diff --git a/json-schema.json b/json-schema.json index 8a1039ce..7fd805c2 100644 --- a/json-schema.json +++ b/json-schema.json @@ -1 +1 @@ -{"/":{"response":{"200":{"type":"object","properties":{"url":{"type":"string","example":"https://blockfrost.io/"},"version":{"type":"string","example":"0.1.0"}},"required":["url","version"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/health":{"response":{"200":{"type":"object","properties":{"is_healthy":{"type":"boolean","example":true}},"required":["is_healthy"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/health/clock":{"response":{"200":{"type":"object","properties":{"server_time":{"type":"integer","format":"int64","example":1603400958947}},"required":["server_time"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/blocks/latest":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/blocks/latest/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/blocks/{hash_or_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/next":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/previous":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/slot/{slot_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"slot_number":{"type":"integer"}}}},"/blocks/epoch/{epoch_number}/slot/{slot_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"epoch_number":{"type":"integer"},"slot_number":{"type":"integer"}}}},"/blocks/{hash_or_number}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address that was affected in the specified block"},"transactions":{"type":"array","description":"List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.","items":{"type":"object","properties":{"tx_hash":{"type":"string"}},"required":["tx_hash"]}}},"required":["address","transactions"]},"example":[{"address":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","transactions":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","transactions":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0"}]}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/genesis":{"response":{"200":{"type":"object","properties":{"active_slots_coefficient":{"type":"number","example":0.05,"description":"The proportion of slots in which blocks should be issued"},"update_quorum":{"type":"integer","example":5,"description":"Determines the quorum needed for votes on the protocol parameter updates"},"max_lovelace_supply":{"type":"string","example":"45000000000000000","description":"The total number of lovelace in the system"},"network_magic":{"type":"integer","example":764824073,"description":"Network identifier"},"epoch_length":{"type":"integer","example":432000,"description":"Number of slots in an epoch"},"system_start":{"type":"integer","example":1506203091,"description":"Time of slot 0 in UNIX time"},"slots_per_kes_period":{"type":"integer","example":129600,"description":"Number of slots in an KES period"},"slot_length":{"type":"integer","example":1,"description":"Duration of one slot in seconds"},"max_kes_evolutions":{"type":"integer","example":62,"description":"The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate"},"security_param":{"type":"integer","example":2160,"description":"Security parameter k"}},"required":["active_slots_coefficient","update_quorum","max_lovelace_supply","network_magic","epoch_length","system_start","slots_per_kes_period","slot_length","max_kes_evolutions","security_param"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/latest":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/latest/parameters":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"min_fee_a":{"type":"integer","example":44,"description":"The linear factor for the minimum fee calculation for given epoch"},"min_fee_b":{"type":"integer","example":155381,"description":"The constant factor for the minimum fee calculation"},"max_block_size":{"type":"integer","example":65536,"description":"Maximum block body size in Bytes"},"max_tx_size":{"type":"integer","example":16384,"description":"Maximum transaction size"},"max_block_header_size":{"type":"integer","example":1100,"description":"Maximum block header size"},"key_deposit":{"type":"string","example":"2000000","description":"The amount of a key registration deposit in Lovelaces"},"pool_deposit":{"type":"string","example":"500000000","description":"The amount of a pool registration deposit in Lovelaces"},"e_max":{"type":"integer","example":18,"description":"Epoch bound on pool retirement"},"n_opt":{"type":"integer","example":150,"description":"Desired number of pools"},"a0":{"type":"number","example":0.3,"description":"Pool pledge influence"},"rho":{"type":"number","example":0.003,"description":"Monetary expansion"},"tau":{"type":"number","example":0.2,"description":"Treasury expansion"},"decentralisation_param":{"type":"number","example":0.5,"description":"Percentage of blocks produced by federated nodes"},"extra_entropy":{"type":"string","nullable":true,"example":null,"description":"Seed for extra entropy"},"protocol_major_ver":{"type":"integer","example":2,"description":"Accepted protocol major version"},"protocol_minor_ver":{"type":"integer","example":0,"description":"Accepted protocol minor version"},"min_utxo":{"type":"string","example":"1000000","description":"Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras","deprecated":true},"min_pool_cost":{"type":"string","example":"340000000","description":"Minimum stake cost forced on the pool"},"nonce":{"type":"string","example":"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81","description":"Epoch number only used once"},"cost_models":{"additionalProperties":true,"type":"object","nullable":true,"example":{"PlutusV1":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0},"PlutusV2":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0}},"description":"Cost models parameters for Plutus Core scripts"},"price_mem":{"type":"number","nullable":true,"example":0.0577,"description":"The per word cost of script memory usage"},"price_step":{"type":"number","nullable":true,"example":0.0000721,"description":"The cost of script execution step usage"},"max_tx_ex_mem":{"type":"string","nullable":true,"example":"10000000","description":"The maximum number of execution memory allowed to be used in a single transaction"},"max_tx_ex_steps":{"type":"string","nullable":true,"example":"10000000000","description":"The maximum number of execution steps allowed to be used in a single transaction"},"max_block_ex_mem":{"type":"string","nullable":true,"example":"50000000","description":"The maximum number of execution memory allowed to be used in a single block"},"max_block_ex_steps":{"type":"string","nullable":true,"example":"40000000000","description":"The maximum number of execution steps allowed to be used in a single block"},"max_val_size":{"type":"string","nullable":true,"example":"5000","description":"The maximum Val size"},"collateral_percent":{"type":"integer","nullable":true,"example":150,"description":"The percentage of the transactions fee which must be provided as collateral when including non-native scripts"},"max_collateral_inputs":{"type":"integer","nullable":true,"example":3,"description":"The maximum number of collateral inputs allowed in a transaction"},"coins_per_utxo_size":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"coins_per_utxo_word":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.","deprecated":true}},"required":["epoch","min_fee_a","min_fee_b","max_block_size","max_tx_size","max_block_header_size","key_deposit","pool_deposit","e_max","n_opt","a0","rho","tau","decentralisation_param","extra_entropy","protocol_major_ver","protocol_minor_ver","min_utxo","min_pool_cost","nonce","cost_models","price_mem","price_step","max_tx_ex_mem","max_tx_ex_steps","max_block_ex_mem","max_block_ex_steps","max_val_size","collateral_percent","max_collateral_inputs","coins_per_utxo_size","coins_per_utxo_word"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/{number}":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/next":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/previous":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/stakes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"stake_address":{"type":"string","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk","description":"Stake address"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 prefix of the pool delegated to"},"amount":{"type":"string","example":"4440295078","description":"Amount of active delegated stake in Lovelaces"}},"required":["stake_address","pool_id","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/stakes/{pool_id}":{"response":{"200":{"type":"array","items":{"properties":{"stake_address":{"type":"string","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk","description":"Stake address"},"amount":{"type":"string","example":"4440295078","description":"Amount of active delegated stake in Lovelaces"}},"required":["stake_address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"},"pool_id":{"type":"string"}}}},"/epochs/{number}/blocks":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the block"},"example":["d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e","38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878","f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/blocks/{pool_id}":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the block"},"example":["d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e","38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878","f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"number":{"type":"integer"},"pool_id":{"type":"string"}}}},"/epochs/{number}/parameters":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"min_fee_a":{"type":"integer","example":44,"description":"The linear factor for the minimum fee calculation for given epoch"},"min_fee_b":{"type":"integer","example":155381,"description":"The constant factor for the minimum fee calculation"},"max_block_size":{"type":"integer","example":65536,"description":"Maximum block body size in Bytes"},"max_tx_size":{"type":"integer","example":16384,"description":"Maximum transaction size"},"max_block_header_size":{"type":"integer","example":1100,"description":"Maximum block header size"},"key_deposit":{"type":"string","example":"2000000","description":"The amount of a key registration deposit in Lovelaces"},"pool_deposit":{"type":"string","example":"500000000","description":"The amount of a pool registration deposit in Lovelaces"},"e_max":{"type":"integer","example":18,"description":"Epoch bound on pool retirement"},"n_opt":{"type":"integer","example":150,"description":"Desired number of pools"},"a0":{"type":"number","example":0.3,"description":"Pool pledge influence"},"rho":{"type":"number","example":0.003,"description":"Monetary expansion"},"tau":{"type":"number","example":0.2,"description":"Treasury expansion"},"decentralisation_param":{"type":"number","example":0.5,"description":"Percentage of blocks produced by federated nodes"},"extra_entropy":{"type":"string","nullable":true,"example":null,"description":"Seed for extra entropy"},"protocol_major_ver":{"type":"integer","example":2,"description":"Accepted protocol major version"},"protocol_minor_ver":{"type":"integer","example":0,"description":"Accepted protocol minor version"},"min_utxo":{"type":"string","example":"1000000","description":"Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras","deprecated":true},"min_pool_cost":{"type":"string","example":"340000000","description":"Minimum stake cost forced on the pool"},"nonce":{"type":"string","example":"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81","description":"Epoch number only used once"},"cost_models":{"additionalProperties":true,"type":"object","nullable":true,"example":{"PlutusV1":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0},"PlutusV2":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0}},"description":"Cost models parameters for Plutus Core scripts"},"price_mem":{"type":"number","nullable":true,"example":0.0577,"description":"The per word cost of script memory usage"},"price_step":{"type":"number","nullable":true,"example":0.0000721,"description":"The cost of script execution step usage"},"max_tx_ex_mem":{"type":"string","nullable":true,"example":"10000000","description":"The maximum number of execution memory allowed to be used in a single transaction"},"max_tx_ex_steps":{"type":"string","nullable":true,"example":"10000000000","description":"The maximum number of execution steps allowed to be used in a single transaction"},"max_block_ex_mem":{"type":"string","nullable":true,"example":"50000000","description":"The maximum number of execution memory allowed to be used in a single block"},"max_block_ex_steps":{"type":"string","nullable":true,"example":"40000000000","description":"The maximum number of execution steps allowed to be used in a single block"},"max_val_size":{"type":"string","nullable":true,"example":"5000","description":"The maximum Val size"},"collateral_percent":{"type":"integer","nullable":true,"example":150,"description":"The percentage of the transactions fee which must be provided as collateral when including non-native scripts"},"max_collateral_inputs":{"type":"integer","nullable":true,"example":3,"description":"The maximum number of collateral inputs allowed in a transaction"},"coins_per_utxo_size":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"coins_per_utxo_word":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.","deprecated":true}},"required":["epoch","min_fee_a","min_fee_b","max_block_size","max_tx_size","max_block_header_size","key_deposit","pool_deposit","e_max","n_opt","a0","rho","tau","decentralisation_param","extra_entropy","protocol_major_ver","protocol_minor_ver","min_utxo","min_pool_cost","nonce","cost_models","price_mem","price_step","max_tx_ex_mem","max_tx_ex_steps","max_block_ex_mem","max_block_ex_steps","max_val_size","collateral_percent","max_collateral_inputs","coins_per_utxo_size","coins_per_utxo_word"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/txs/{hash}":{"response":{"200":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"block":{"type":"string","example":"356b7d7dbb696ccd12775c016941057a9dc70898d87a63fc752271bb46856940","description":"Block hash"},"block_height":{"type":"integer","example":123456,"description":"Block number"},"block_time":{"type":"integer","example":1635505891,"description":"Block creation time in UNIX time"},"slot":{"type":"integer","example":42000000,"description":"Slot number"},"index":{"type":"integer","example":1,"description":"Transaction index within the block"},"output_amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"fees":{"type":"string","example":"182485","description":"Fees of the transaction in Lovelaces"},"deposit":{"type":"string","example":"0","description":"Deposit within the transaction in Lovelaces"},"size":{"type":"integer","example":433,"description":"Size of the transaction in Bytes"},"invalid_before":{"type":"string","nullable":true,"example":null,"description":"Left (included) endpoint of the timelock validity intervals"},"invalid_hereafter":{"type":"string","nullable":true,"example":"13885913","description":"Right (excluded) endpoint of the timelock validity intervals"},"utxo_count":{"type":"integer","example":4,"description":"Count of UTXOs within the transaction"},"withdrawal_count":{"type":"integer","example":0,"description":"Count of the withdrawals within the transaction"},"mir_cert_count":{"type":"integer","example":0,"description":"Count of the MIR certificates within the transaction"},"delegation_count":{"type":"integer","example":0,"description":"Count of the delegations within the transaction"},"stake_cert_count":{"type":"integer","example":0,"description":"Count of the stake keys (de)registration within the transaction"},"pool_update_count":{"type":"integer","example":0,"description":"Count of the stake pool registration and update certificates within the transaction"},"pool_retire_count":{"type":"integer","example":0,"description":"Count of the stake pool retirement certificates within the transaction"},"asset_mint_or_burn_count":{"type":"integer","example":0,"description":"Count of asset mints and burns within the transaction"},"redeemer_count":{"type":"integer","example":0,"description":"Count of redeemers within the transaction"},"valid_contract":{"type":"boolean","example":true,"description":"True if contract script passed validation"}},"required":["hash","block","block_height","block_time","slot","index","output_amount","fees","deposit","size","invalid_before","invalid_hereafter","utxo_count","withdrawal_count","mir_cert_count","delegation_count","stake_cert_count","pool_update_count","pool_retire_count","asset_mint_or_burn_count","redeemer_count","valid_contract"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/utxos":{"response":{"200":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"inputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Input address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the UTXO transaction"},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the input","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"},"collateral":{"type":"boolean","example":false,"description":"Whether the input is a collateral consumed on script validation failure"},"reference":{"type":"boolean","example":false,"description":"Whether the input is a reference transaction input"}},"required":["address","amount","tx_hash","output_index","data_hash","inline_datum","reference_script_hash","collateral"]}},"outputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Output address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"collateral":{"type":"boolean","example":false,"description":"Whether the output is a collateral output"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","amount","output_index","data_hash","inline_datum","collateral","reference_script_hash"]}}},"required":["hash","inputs","outputs"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/stakes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9t3a0tcwune5xrnfjg4q7cpvjlgx9lcv0cuqf5mhfjwrvcwrulda","description":"Delegation stake address"},"registration":{"type":"boolean","example":true,"description":"Registration boolean, false if deregistration"}},"required":["cert_index","address","registration"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/delegations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction","deprecated":true},"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 delegation stake address"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 ID of delegated stake pool"},"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the delegation becomes active"}},"required":["index","cert_index","address","pool_id","active_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/withdrawals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 withdrawal address"},"amount":{"type":"string","example":"431833601","description":"Withdrawal amount in Lovelaces"}},"required":["address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/mirs":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pot":{"type":"string","enum":["reserve","treasury"],"example":"reserve","description":"Source of MIR funds"},"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 stake address"},"amount":{"type":"string","example":"431833601","description":"MIR amount in Lovelaces"}},"required":["pot","cert_index","address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/pool_updates":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 encoded pool ID"},"vrf_key":{"type":"string","example":"0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233","description":"VRF key hash"},"pledge":{"type":"string","example":"5000000000","description":"Stake pool certificate pledge in Lovelaces"},"margin_cost":{"type":"number","example":0.05,"description":"Margin tax cost of the stake pool"},"fixed_cost":{"type":"string","example":"340000000","description":"Fixed tax cost of the stake pool in Lovelaces"},"reward_account":{"type":"string","example":"stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f","description":"Bech32 reward account of the stake pool"},"owners":{"type":"array","items":{"type":"string","description":"Bech32 accounts of the pool owners"},"example":["stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v"]},"metadata":{"type":"object","nullable":true,"properties":{"url":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"URL to the stake pool metadata"},"hash":{"type":"string","nullable":true,"example":"47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c","description":"Hash of the metadata file"},"ticker":{"type":"string","nullable":true,"example":"NUTS","description":"Ticker of the stake pool"},"name":{"type":"string","nullable":true,"example":"Stake Nuts","description":"Name of the stake pool"},"description":{"type":"string","nullable":true,"example":"The best pool ever","description":"Description of the stake pool"},"homepage":{"type":"string","nullable":true,"example":"https://stakentus.com/","description":"Home page of the stake pool"}},"required":["url","hash","ticker","name","description","homepage"]},"relays":{"type":"array","items":{"type":"object","properties":{"ipv4":{"type":"string","nullable":true,"example":"4.4.4.4","description":"IPv4 address of the relay"},"ipv6":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"IPv6 address of the relay"},"dns":{"type":"string","nullable":true,"example":"relay1.stakenuts.com","description":"DNS name of the relay"},"dns_srv":{"type":"string","nullable":true,"example":"_relays._tcp.relays.stakenuts.com","description":"DNS SRV entry of the relay"},"port":{"type":"integer","example":3001,"description":"Network port of the relay"}},"required":["ipv4","ipv6","dns","dns_srv","port"]}},"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the update becomes active"}},"required":["cert_index","pool_id","vrf_key","pledge","margin_cost","fixed_cost","reward_account","owners","metadata","relays","active_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/pool_retires":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 stake pool ID"},"retiring_epoch":{"type":"integer","example":216,"description":"Epoch in which the pool becomes retired"}},"required":["cert_index","pool_id","retiring_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/metadata":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"json_metadata":{}},"required":["label","json_metadata"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/metadata/cbor":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"Metadata label"},"cbor_metadata":{"deprecated":true,"type":"string","nullable":true,"description":"Content of the CBOR metadata"},"metadata":{"type":"string","nullable":true,"description":"Content of the CBOR metadata in hex"}},"required":["label","cbor_metadata","metadata"]},"example":[{"label":"1968","cbor_metadata":"\\xa100a16b436f6d62696e6174696f6e8601010101010c","metadata":"a100a16b436f6d62696e6174696f6e8601010101010c"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/redeemers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_index":{"type":"integer","example":0,"description":"Index of the redeemer within the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"script_hash":{"type":"string","example":"ec26b89af41bef0f7585353831cb5da42b5b37185e0c8a526143b824","description":"Script hash"},"redeemer_data_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Redeemer data hash"},"datum_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","deprecated":true,"description":"Datum hash"},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"},"fee":{"type":"string","example":"172033","description":"The fee consumed to run the script"}},"required":["tx_index","purpose","unit_mem","unit_steps","script_hash","redeemer_data_hash","datum_hash","fee"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/required_signers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"witness_hash":{"type":"string","example":"d52e11f3e48436dd42dbec6d88c239732e503b8b7a32af58e5f87625","description":"Hash of the witness"}},"required":["witness_hash"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","description":"CBOR serialized transaction"}},"required":["cbor"],"example":{"cbor":"84a40081825820203e5b61e0949ffc8fe594727cf7ed73c7396cc2bd212af9a680c9423b5880eb00018282583900f0c60254ecb0addd4c7e40c28fd05b65014ab4c8ecece06c7dcee5a0724bf93336a8225e7ef152b41aea955173be91af19250edea1ddafab1a000f42408258390014beadb876d0a2a593fe2f1b539389e00731290910170e9a1be78e847d2ccdc7af469706878018739bcfde9ae23f009c4ae38aee0a4b4f3a1b0000000253fa0f93021a0002922d031a0303c827a100818258207d3ae39f9a1c916ac7c13f10c7d67c70b870c286a1af71485455c5022a3f391d5840e2f481acd1601a3f39fa976317bba685ddd774621a92611edaaa3df9f48a3b13d8b25ecb2f28b031c1602512418efed3033e463a0dcd22a856c808033cc9e00ff5f6"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/tx/submit":{"response":{"200":{"type":"string","format":"hex","minLength":64,"maxLength":64,"example":"d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908"},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/accounts/{stake_address}":{"response":{"200":{"type":"object","properties":{"stake_address":{"type":"string","example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Bech32 stake address"},"active":{"type":"boolean","example":true,"description":"Registration state of an account"},"active_epoch":{"type":"integer","nullable":true,"example":412,"description":"Epoch of the most recent action - registration or deregistration"},"controlled_amount":{"type":"string","example":"619154618165","description":"Balance of the account in Lovelaces"},"rewards_sum":{"type":"string","example":"319154618165","description":"Sum of all rewards for the account in the Lovelaces"},"withdrawals_sum":{"type":"string","example":"12125369253","description":"Sum of all the withdrawals for the account in Lovelaces"},"reserves_sum":{"type":"string","example":"319154618165","description":"Sum of all funds from reserves for the account in the Lovelaces"},"treasury_sum":{"type":"string","example":"12000000","description":"Sum of all funds from treasury for the account in the Lovelaces"},"withdrawable_amount":{"type":"string","example":"319154618165","description":"Sum of available rewards that haven't been withdrawn yet for the account in the Lovelaces"},"pool_id":{"type":"string","nullable":true,"example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID that owns the account"}},"required":["stake_address","active","active_epoch","controlled_amount","rewards_sum","withdrawals_sum","reserves_sum","treasury_sum","withdrawable_amount","pool_id"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/rewards":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","description":"Epoch of the associated reward"},"amount":{"type":"string","description":"Rewards for given epoch in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 pool ID being delegated to"},"type":{"type":"string","enum":["leader","member","pool_deposit_refund"],"description":"Type of the reward"}},"required":["epoch","amount","pool_id","type"]},"example":[{"epoch":215,"amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":216,"amount":"3586329","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":217,"amount":"1","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":217,"amount":"1337","pool_id":"pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs","type":"leader"},{"epoch":218,"amount":"1395265","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":218,"amount":"500000000","pool_id":"pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs","type":"pool_deposit_refund"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the stake was active"},"amount":{"type":"string","description":"Stake amount in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 ID of pool being delegated to"}},"required":["active_epoch","amount","pool_id"]},"example":[{"active_epoch":210,"amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"},{"active_epoch":211,"amount":"22695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/delegations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the delegation becomes active"},"tx_hash":{"type":"string","description":"Hash of the transaction containing the delegation"},"amount":{"type":"string","description":"Rewards for given epoch in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 ID of pool being delegated to"}},"required":["active_epoch","tx_hash","amount","pool_id"]},"example":[{"active_epoch":210,"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"},{"active_epoch":242,"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","amount":"12691385","pool_id":"pool1kchver88u3kygsak8wgll7htr8uxn5v35lfrsyy842nkscrzyvj"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/registrations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the (de)registration certificate"},"action":{"type":"string","enum":["registered","deregistered"],"description":"Action in the certificate"}},"required":["tx_hash","action"]},"example":[{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","action":"registered"},{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","action":"deregistered"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/withdrawals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the withdrawal"},"amount":{"type":"string","description":"Withdrawal amount in Lovelaces"}},"required":["tx_hash","amount"]},"example":[{"tx_hash":"48a9625c841eea0dd2bb6cf551eabe6523b7290c9ce34be74eedef2dd8f7ecc5","amount":"454541212442"},{"tx_hash":"4230b0cbccf6f449f0847d8ad1d634a7a49df60d8c142bb8cc2dbc8ca03d9e34","amount":"97846969"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/mirs":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the MIR"},"amount":{"type":"string","description":"MIR amount in Lovelaces"}},"required":["tx_hash","amount"]},"example":[{"tx_hash":"69705bba1d687a816ff5a04ec0c358a1f1ef075ab7f9c6cc2763e792581cec6d","amount":"2193707473"},{"tx_hash":"baaa77b63d4d7d2bb3ab02c9b85978c2092c336dede7f59e31ad65452d510c13","amount":"14520198574"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address associated with the stake key"}},"required":["address"]},"example":[{"address":"addr1qx2kd28nq8ac5prwg32hhvudlwggpgfp8utlyqxu6wqgz62f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sy0f4qd"},{"address":"addr1qys3czp8s9thc6u2fqed9yq3h24nyw28uk0m6mkgn9dkckjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9suth4w4"},{"address":"addr1q8j55h253zcvl326sk5qdt2n8z7eghzspe0ekxgncr796s2f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sjmd35m"},{"address":"addr1q8f7gxrprank3drhx8k5grlux7ene0nlwun8y9thu8mc3yjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sls6vnt"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses/assets":{"response":{"200":{"type":"array","items":{"type":"object","description":"The sum of all assets of all addresses associated with a given account","properties":{"unit":{"type":"string","format":"Concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc537061636542756433343132","quantity":"1"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"125"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses/total":{"response":{"200":{"type":"object","properties":{"stake_address":{"type":"string","description":"Bech32 encoded stake address","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk"},"received_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset for all addresses associated with the account","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"sent_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset for all addresses associated with the account","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_count":{"type":"integer","example":12,"description":"Count of all transactions for all addresses associated with the account"}},"required":["stake_address","received_sum","sent_sum","tx_count"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/mempool":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"}},"required":["tx_hash"]},"example":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/mempool/{hash}":{"response":{"200":{"type":"object","properties":{"tx":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"output_amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"fees":{"type":"string","example":"182485","description":"Fees of the transaction in Lovelaces"},"deposit":{"type":"string","example":"0","description":"Deposit within the transaction in Lovelaces"},"size":{"type":"integer","example":433,"description":"Size of the transaction in Bytes"},"invalid_before":{"type":"string","nullable":true,"example":null,"description":"Left (included) endpoint of the timelock validity intervals"},"invalid_hereafter":{"type":"string","nullable":true,"example":"13885913","description":"Right (excluded) endpoint of the timelock validity intervals"},"utxo_count":{"type":"integer","example":4,"description":"Count of UTXOs within the transaction"},"withdrawal_count":{"type":"integer","example":0,"description":"Count of the withdrawals within the transaction"},"mir_cert_count":{"type":"integer","example":0,"description":"Count of the MIR certificates within the transaction"},"delegation_count":{"type":"integer","example":0,"description":"Count of the delegations within the transaction"},"stake_cert_count":{"type":"integer","example":0,"description":"Count of the stake keys (de)registration within the transaction"},"pool_update_count":{"type":"integer","example":0,"description":"Count of the stake pool registration and update certificates within the transaction"},"pool_retire_count":{"type":"integer","example":0,"description":"Count of the stake pool retirement certificates within the transaction"},"asset_mint_or_burn_count":{"type":"integer","example":0,"description":"Count of asset mints and burns within the transaction"},"redeemer_count":{"type":"integer","example":0,"description":"Count of redeemers within the transaction"},"valid_contract":{"type":"boolean","example":true,"description":"True if contract script passed validation"}},"required":["hash","output_amount","fees","deposit","size","invalid_before","invalid_hereafter","utxo_count","withdrawal_count","mir_cert_count","delegation_count","stake_cert_count","pool_update_count","pool_retire_count","asset_mint_or_burn_count","redeemer_count","valid_contract"]},"inputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Input address"},"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the UTXO transaction"},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"collateral":{"type":"boolean","example":false,"description":"Whether the input is a collateral consumed on script validation failure"},"reference":{"type":"boolean","example":false,"description":"Whether the input is a reference transaction input"}},"required":["tx_hash","output_index","collateral"]}},"outputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Output address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"collateral":{"type":"boolean","example":false,"description":"Whether the output is a collateral output"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","amount","output_index","data_hash","inline_datum","collateral","reference_script_hash"]}},"redeemers":{"type":"array","items":{"type":"object","properties":{"tx_index":{"type":"integer","example":0,"description":"Index of the redeemer within the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"}},"required":["tx_index","purpose","unit_mem","unit_steps"]}}},"required":["tx","inputs","outputs"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/mempool/addresses/{address}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"}},"required":["tx_hash"]},"example":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/metadata/txs/labels":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"Metadata label"},"cip10":{"type":"string","nullable":true,"description":"CIP10 defined description"},"count":{"type":"string","description":"The count of metadata entries with a specific label"}},"required":["label","cip10","count"]},"example":[{"label":"1990","cip10":null,"count":"1"},{"label":"1967","cip10":"nut.link metadata oracles registry","count":"3"},{"label":"1968","cip10":"nut.link metadata oracles data points","count":"16321"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/metadata/txs/labels/{label}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction hash that contains the specific metadata"},"json_metadata":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true},{"type":"array","items":{}},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"Content of the JSON metadata"}},"required":["tx_hash","json_metadata"]},"example":[{"tx_hash":"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8","json_metadata":{"ADAUSD":[{"value":"0.10409800535729975","source":"ergoOracles"}]}},{"tx_hash":"e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c","json_metadata":{"ADAUSD":[{"value":"0.15409850555139935","source":"ergoOracles"}]}},{"tx_hash":"4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be","json_metadata":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"label":{"type":"string"}}}},"/metadata/txs/labels/{label}/cbor":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction hash that contains the specific metadata"},"cbor_metadata":{"deprecated":true,"type":"string","nullable":true,"description":"Content of the CBOR metadata"},"metadata":{"type":"string","nullable":true,"description":"Content of the CBOR metadata in hex"}},"required":["tx_hash","cbor_metadata","metadata"]},"example":[{"tx_hash":"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8","cbor_metadata":null,"metadata":null},{"tx_hash":"e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c","cbor_metadata":null,"metadata":null},{"tx_hash":"4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be","cbor_metadata":"\\xa100a16b436f6d62696e6174696f6e8601010101010c","metadata":"a100a16b436f6d62696e6174696f6e8601010101010c"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"label":{"type":"string"}}}},"/addresses/{address}":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"stake_address":{"type":"string","nullable":true,"example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Stake address that controls the key"},"type":{"type":"string","enum":["byron","shelley"],"example":"shelley","description":"Address era"},"script":{"type":"boolean","example":false,"description":"True if this is a script address"}},"required":["address","amount","stake_address","type","script"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/extended":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"},"decimals":{"type":"integer","nullable":true,"description":"Number of decimal places of the asset unit. Primary data source is CIP68 reference NFT with a fallback to off-chain metadata."},"has_nft_onchain_metadata":{"type":"boolean","description":"True if the latest minting transaction includes metadata (best-effort)"}},"required":["unit","quantity","decimals","has_nft_onchain_metadata"]},"example":[{"unit":"lovelace","quantity":"42000000","decimals":6,"has_nft_onchain_metadata":false},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12","decimals":null,"has_nft_onchain_metadata":true}]},"stake_address":{"type":"string","nullable":true,"example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Stake address that controls the key"},"type":{"type":"string","enum":["byron","shelley"],"example":"shelley","description":"Address era"},"script":{"type":"boolean","example":false,"description":"True if this is a script address"}},"required":["address","amount","stake_address","type","script"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/total":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded address","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"received_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"sent_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_count":{"type":"integer","example":12,"description":"Count of all transactions on the address"}},"required":["address","received_sum","sent_sum","tx_count"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/utxos":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses - useful when querying by payment_cred","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"tx_hash":{"type":"string","description":"Transaction hash of the UTXO"},"tx_index":{"type":"integer","deprecated":true,"description":"UTXO index in the transaction"},"output_index":{"type":"integer","description":"UTXO index in the transaction"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]}},"block":{"type":"string","description":"Block hash of the UTXO"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","tx_hash","tx_index","output_index","amount","block","data_hash","inline_datum","reference_script_hash"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58","output_index":0,"amount":[{"unit":"lovelace","quantity":"42000000"}],"block":"7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6","data_hash":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710","inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49","output_index":0,"amount":[{"unit":"lovelace","quantity":"729235000"}],"block":"953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7","data_hash":null,"inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2","output_index":1,"amount":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}],"block":"5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7","data_hash":null,"inline_datum":null,"reference_script_hash":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/utxos/{asset}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses - useful when querying by payment_cred","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"tx_hash":{"type":"string","description":"Transaction hash of the UTXO"},"tx_index":{"type":"integer","deprecated":true,"description":"UTXO index in the transaction"},"output_index":{"type":"integer","description":"UTXO index in the transaction"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]}},"block":{"type":"string","description":"Block hash of the UTXO"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","tx_hash","tx_index","output_index","amount","block","data_hash","inline_datum","reference_script_hash"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58","output_index":0,"amount":[{"unit":"lovelace","quantity":"42000000"}],"block":"7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6","data_hash":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710","inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49","output_index":0,"amount":[{"unit":"lovelace","quantity":"729235000"}],"block":"953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7","data_hash":null,"inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2","output_index":1,"amount":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}],"block":"5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7","data_hash":null,"inline_datum":null,"reference_script_hash":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"},"asset":{"type":"string"}}}},"/addresses/{address}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/transactions":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"block_height":{"type":"integer","description":"Block height"},"block_time":{"type":"integer","description":"Block creation time in UNIX time"}},"required":["tx_hash","tx_index","block_height","block_time"]},"example":[{"tx_hash":"8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","tx_index":6,"block_height":69,"block_time":1635505891},{"tx_hash":"52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","tx_index":9,"block_height":4547,"block_time":1635505987},{"tx_hash":"e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b","tx_index":0,"block_height":564654,"block_time":1834505492}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"},"from":{"type":"string"},"to":{"type":"string"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/pools":{"response":{"200":{"type":"array","items":{"type":"string","description":"Bech32 encoded pool ID"},"example":["pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","pool1hn7hlwrschqykupwwrtdfkvt2u4uaxvsgxyh6z63703p2knj288","pool1ztjyjfsh432eqetadf82uwuxklh28xc85zcphpwq6mmezavzad2"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/extended":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID."},"active_stake":{"type":"string","example":"4200000000","description":"Active delegated amount"},"live_stake":{"type":"string","example":"6900000000","description":"Currently delegated amount"}},"required":["pool_id","hex","active_stake","live_stake"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","hex":"2f355f79ee007502d116ecb07e36f985b34cebf2d84118f5c6b455a1","active_stake":"1541200000","live_stake":"1541400000"},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","hex":"6b3fda88053dc2cee18a7c2736f032182fcc78a2fe912e869aa4edcd","active_stake":"22200000","live_stake":"48955550"},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","hex":"73318ec975cf1125a6367cbb1c9a406cbcb3e510e49d7c3aab14aa31","active_stake":"9989541215","live_stake":"168445464878"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/retired":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"epoch":{"type":"integer","example":242,"description":"Retirement epoch number"}},"required":["pool_id","epoch"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","epoch":225},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","epoch":215},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","epoch":231}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/retiring":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"epoch":{"type":"integer","example":242,"description":"Retirement epoch number"}},"required":["pool_id","epoch"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","epoch":225},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","epoch":215},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","epoch":231}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/{pool_id}":{"response":{"200":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID."},"vrf_key":{"type":"string","example":"0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233","description":"VRF key hash"},"blocks_minted":{"type":"integer","example":69,"description":"Total minted blocks"},"blocks_epoch":{"type":"integer","example":4,"description":"Number of blocks minted in the current epoch"},"live_stake":{"type":"string","example":"6900000000"},"live_size":{"type":"number","example":0.42},"live_saturation":{"type":"number","example":0.93},"live_delegators":{"type":"number","example":127},"active_stake":{"type":"string","example":"4200000000"},"active_size":{"type":"number","example":0.43},"declared_pledge":{"type":"string","example":"5000000000","description":"Stake pool certificate pledge"},"live_pledge":{"type":"string","example":"5000000001","description":"Stake pool current pledge"},"margin_cost":{"type":"number","example":0.05,"description":"Margin tax cost of the stake pool"},"fixed_cost":{"type":"string","example":"340000000","description":"Fixed tax cost of the stake pool"},"reward_account":{"type":"string","example":"stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f","description":"Bech32 reward account of the stake pool"},"owners":{"type":"array","items":{"type":"string","description":"Bech32 accounts of the pool owners"},"example":["stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v"]},"registration":{"type":"array","items":{"type":"string","description":"Hash of the transaction including registration"},"example":["9f83e5484f543e05b52e99988272a31da373f3aab4c064c76db96643a355d9dc","7ce3b8c433bf401a190d58c8c483d8e3564dfd29ae8633c8b1b3e6c814403e95","3e6e1200ce92977c3fe5996bd4d7d7e192bcb7e231bc762f9f240c76766535b9"]},"retirement":{"type":"array","items":{"type":"string","description":"Hash of the transaction including retirement","example":"252f622976d39e646815db75a77289cf16df4ad2b287dd8e3a889ce14c13d1a8"}}},"required":["pool_id","hex","vrf_key","blocks_minted","blocks_epoch","live_stake","live_size","live_saturation","live_delegators","active_stake","active_size","declared_pledge","live_pledge","margin_cost","fixed_cost","reward_account","owners","registration","retirement"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":233,"description":"Epoch number"},"blocks":{"type":"integer","example":22,"description":"Number of blocks created by pool"},"active_stake":{"type":"string","example":"20485965693569","description":"Active (Snapshot of live stake 2 epochs ago) stake in Lovelaces"},"active_size":{"type":"number","example":1.2345,"description":"Pool size (percentage) of overall active stake at that epoch"},"delegators_count":{"type":"integer","example":115,"description":"Number of delegators for epoch"},"rewards":{"type":"string","example":"206936253674159","description":"Total rewards received before distribution to delegators"},"fees":{"type":"string","example":"1290968354","description":"Pool operator rewards"}},"required":["epoch","blocks","active_stake","active_size","delegators_count","rewards","fees"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/metadata":{"response":{"200":{"anyOf":[{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID"},"url":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"URL to the stake pool metadata"},"hash":{"type":"string","nullable":true,"example":"47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c","description":"Hash of the metadata file"},"ticker":{"type":"string","nullable":true,"example":"NUTS","description":"Ticker of the stake pool"},"name":{"type":"string","nullable":true,"example":"Stake Nuts","description":"Name of the stake pool"},"description":{"type":"string","nullable":true,"example":"The best pool ever","description":"Description of the stake pool"},"homepage":{"type":"string","nullable":true,"example":"https://stakentus.com/","description":"Home page of the stake pool"}},"required":["pool_id","hex","url","hash","ticker","name","description","homepage"]},{"type":"object"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/relays":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"ipv4":{"type":"string","nullable":true,"example":"4.4.4.4","description":"IPv4 address of the relay"},"ipv6":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"IPv6 address of the relay"},"dns":{"type":"string","nullable":true,"example":"relay1.stakenuts.com","description":"DNS name of the relay"},"dns_srv":{"type":"string","nullable":true,"example":"_relays._tcp.relays.stakenuts.com","description":"DNS SRV entry of the relay"},"port":{"type":"integer","example":3001,"description":"Network port of the relay"}},"required":["ipv4","ipv6","dns","dns_srv","port"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/delegators":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded stake addresses"},"live_stake":{"type":"string","description":"Currently delegated amount"}},"required":["address","live_stake"]},"example":[{"address":"stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha","live_stake":"1137959159981411"},{"address":"stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u","live_stake":"16958865648"},{"address":"stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck","live_stake":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/blocks":{"response":{"200":{"type":"array","items":{"type":"string","description":"Block hashes"},"example":["d8982ca42cfe76b747cc681d35d671050a9e41e9cfe26573eb214e94fe6ff21d","026436c539e2ce84c7f77ffe669f4e4bbbb3b9c53512e5857dcba8bb0b4e9a8c","bcc8487f419b8c668a18ea2120822a05df6dfe1de1f0fac3feba88cf760f303c","86bf7b4a274e0f8ec9816171667c1b4a0cfc661dc21563f271acea9482b62df7"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/updates":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction ID"},"cert_index":{"type":"integer","description":"Certificate within the transaction"},"action":{"type":"string","enum":["registered","deregistered"],"description":"Action in the certificate"}},"required":["tx_hash","cert_index","action"]},"example":[{"tx_hash":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","cert_index":0,"action":"registered"},{"tx_hash":"9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005","cert_index":0,"action":"deregistered"},{"tx_hash":"e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0","cert_index":1,"action":"registered"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/assets":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","format":"Concatenation of the policy_id and hex-encoded asset_name","description":"Asset identifier"},"quantity":{"type":"string","description":"Current asset quantity"}},"required":["asset","quantity"]},"example":[{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"1"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e75d","quantity":"100000"},{"asset":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/assets/{asset}":{"response":{"200":{"type":"object","properties":{"asset":{"type":"string","example":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","description":"Hex-encoded asset full name"},"policy_id":{"type":"string","example":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a7","description":"Policy ID of the asset"},"asset_name":{"type":"string","nullable":true,"example":"6e7574636f696e","description":"Hex-encoded asset name of the asset"},"fingerprint":{"type":"string","example":"asset1pkpwyknlvul7az0xx8czhl60pyel45rpje4z8w","description":"CIP14 based user-facing fingerprint"},"quantity":{"type":"string","example":"12000","description":"Current asset quantity"},"initial_mint_tx_hash":{"type":"string","example":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","description":"ID of the initial minting transaction"},"mint_or_burn_count":{"type":"integer","example":1,"description":"Count of mint and burn transactions"},"onchain_metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"On-chain metadata which SHOULD adhere to the valid standards,\nbased on which we perform the look up and display the asset\n(best effort)\n"},"onchain_metadata_standard":{"type":"string","nullable":true,"enum":["CIP25v1","CIP25v2","CIP68v1","CIP68v2"],"description":"If on-chain metadata passes validation, we display the standard\nunder which it is valid\n"},"onchain_metadata_extra":{"type":"string","nullable":true,"description":"Arbitrary plutus data (CIP68).\n"},"metadata":{"type":"object","nullable":true,"description":"Off-chain metadata fetched from GitHub based on network.\nMainnet: https://github.com/cardano-foundation/cardano-token-registry/\nTestnet: https://github.com/input-output-hk/metadata-registry-testnet/\n","properties":{"name":{"type":"string","example":"nutcoin","description":"Asset name"},"description":{"type":"string","example":"The Nut Coin","description":"Asset description"},"ticker":{"type":"string","nullable":true,"example":"nutc"},"url":{"type":"string","nullable":true,"example":"https://www.stakenuts.com/","description":"Asset website"},"logo":{"type":"string","nullable":true,"example":"iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH5QITCDUPjqwFHwAAB9xJREFUWMPVWXtsU9cZ/8499/r6dZ3E9rUdO7ZDEgglFWO8KaOsJW0pCLRKrN1AqqYVkqoqrYo0ja7bpElru1WairStFKY9WzaE1E1tx+jokKqwtqFNyhKahEJJyJNgJ37E9r1+3HvO/sFR4vhx7SBtfH/F3/l93/f7ne/4PBxEKYU72dj/ZfH772v1TU+HtqbTaX8wOO01GPQpRVH7JEm+vGHDuq6z7/8jUSoHKtaBKkEUFUXdajDy1hUrmrs6zn/wWS7m7pZVjMUirKGUTnzc+e9xLcTrPPVfZzDz06Sc2lyQGEIyAPzT7Xa+dvE/3e+XLaCxoflHsVj8MAAYs74aa/WHoenwvpkZKeFy2Z5NJlOPUkqXZccFwSSrKjlyffjLH+TL6XTUGTGL/6hklD3ldIrj2M5MRmkLBMcvaRLQ1Nj88sxM/HCBfMP+eu/OYGDqe6l0WmpoqJ/88upgrU7HrQNA/cFg6MlkKiLlBtVUO40cx54BgHvLIT/HJLvdeqh/4NKxogKWN7fsCoUi7xTLxLJ4vLq6ak//wKVOrdXtttrTDMPsqJA8AAAwDErdu3VL3alTf5ma9eWCpoKhn5dKpCiqJxicPucQPVu0FHaInn35yHMcKwPAa4SQ3QCwFgDWUko3qSr5vqqSgTypuEg4Mo/zvA74/Y0rZSnZU8akSHV17k2fXfy0txjI5224kEym1s/1EUI7LBbztweHrkzkizn49LP6U6feepFSeggAQK/n04SQZ8bGrxdeQjZrbRvGzLH5hcibRqOhPplMfS1fIY5jz4xPDBdcGggho2h3z9sOLRazdG3wqp9SMgUlzGZ17SSEPsRx7J8CwfGu3PF57WhqqjfN/VxVJUxKUrIdITAXKpDJKFscosdfaFy0u+/K9aXTmXe0kAcAmA5Nng5Hbj6Tj/wCAYFAcN7uEY3GXGazMSHLqVVFapgBoMPna9yqhRAAgCTJMa3YUjZPgNFkSlWYx5eUkx+0tKx83V3rF+cVYJjruWCe133DIXqMmrNrFSDabRcWkywYmG5XFOW6aHcfb9324CoAgMmbo9MIoXkneCajiAihV/c/8eSiBSw4BxyiZxQA6m7H7FBKT2CMn2MY5jFFUX6ZO+5w2j8aHZ7YH40FByrJD5DnHGAY5uTtIA8AgBDaR4F2Yxb3WizCgmtA4ObUPSazodduqz3Suu0hf0U1cjvgdNSJ1dWWveFwdDUAtAiC2Uopdcdi8c9Zlh3GmDGl05mtAKAvo47EcdwThJCjqqpWFxALlNITomg73tff21GRAJez7iVK4WGGYfoJIQduBsbm7UrLm1ueCoUiv65kpiilw1ZbzcFoZOYoIcRTAn6eYZgXJm+Oni+Vd3YJbdyweSch9HlK6SpVVfcyDDq7Yf3m2XPBIXraKyV/a4b9UkLawbLsZgB4rwR8CyGkw13r+5fX27BckwBAEJ47oKpk8+DgUIdod7fV1vqOAMDrlZLPmqKoB+rrvXIgOP6w0WjYy3Ls5RL4bUk52bVm9fqnCk7M3CXU2ND8+MxM7BcIIftiyRYyntcdHh0bmr0wfmXl6p2SJB2KRmP3l4j7zejYUFtRAQAAgslm1Bv4nyGEDpYiIwjmjw0G/RjP866JiclNqqqWfKLq9fyZkdHBBXcnl9O71GDgD8bj0ncRQqZ8sRgzL9yYHH2pqICsOUTPLgA4CXNeZFmzWIS/YhYfjUZmvqPjuceSckrz25pS2h2cmlhbaBwhzr6kfsnL8Xhif55YYFl23Y3Jkdl7EVMoUSA4/q6qqNsBIPd11e52u45FwtG3CSH7yiEPAGC1Vt9dXGBmanDoygFLlbAjtzZCCMyC6VeaOpA1l9N7l1kwtauKaozHE28YTQaQpeR7+TqjxXheR0fHhhgt2CX1S3clEtKC16HL5djYe+niBU0CcmYA2W21/Qih5ZqDcoxlMZ24MaJJAABA87IVJ8Lh6N65Pr1B/+LIyLUfAhRZQvnM6ah7ZDHkAQB0vK6/HHxNTc2ruT5Zkldn/y5LACFk+2LIAwAwCGl6yGSt88KHXbmrBCHkqEgAz+vWLFZALJb4qNwYhFDhCSknkSwnQ4sVgDFeWg7+gQe2r1tAmkGTFQlACHWVg89nhJA9ot3dphV/eeCLp/Pw6K5IQP0S39uLFXCLwDG7zf1cKZxD9LSlUunHc/12u/2t2Vzl/rzu8zb8PZlM7bwdQgDgPK/nX2nddt+53//ht3LW2dS0fF0iLj2vquojuQFmwXRucPBKa8UCmpe1iOFwpAsAfLdJBFBKwVIlXJ2JxqKCxbwyHkvoCkAlv9/71U+7Oq+UJWDZ0hViJBL1cRynbNq0sSeeiPl6ei4NqIqq6TSmlB7X6bjuTEY5pgWfzwxGPZhMpt39/b3vzvWXFGCzulZjjM/DrauDwcAr8bjcgzGjZUuVBMH8k2uDX7wCAFDr8n2LEPI7SqmhTP6SzVbz6MDlz0/nDpT8EmOM22HOvUeWU2wp8iyLgRL6hk7Hrc2SBwC4MTlykmXZRozxn00mbVcphNA5jJmV+chr6oDd5l6jN/A/TqfSuwEAGITGMIsvGo3GTwTB3Dc2NjGSxdZYq4VIOOoNBANnKE0XPXE3brjHOTQ08k2MmVZOxzVJCbkFIQSCYEphzPaFQuGzTpfjb319PZ8UFXin/5OvrHPg/9HueAH/BSUqOuNZm4fyAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE5VDA4OjUyOjI1KzAwOjAwCmFGlgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xOVQwODo1MjoyMyswMDowMBjsyxAAAAAASUVORK5CYII=","description":"Base64 encoded logo of the asset"},"decimals":{"type":"integer","nullable":true,"maximum":255,"example":6,"description":"Number of decimal places of the asset unit"}},"required":["name","description","ticker","url","logo","decimals"]}},"required":["asset","policy_id","asset_name","fingerprint","quantity","initial_mint_tx_hash","mint_or_burn_count","metadata","onchain_metadata"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the asset action"},"action":{"type":"string","enum":["minted","burned"],"description":"Action executed upon the asset policy"},"amount":{"type":"string","description":"Asset amount of the specific action"}},"required":["tx_hash","action","amount"]},"example":[{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","amount":"10","action":"minted"},{"tx_hash":"9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005","amount":"5","action":"burned"},{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","amount":"5","action":"burned"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/transactions":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"block_height":{"type":"integer","description":"Block height"},"block_time":{"type":"integer","example":1635505891,"description":"Block creation time in UNIX time"}},"required":["tx_hash","tx_index","block_height","block_time"]},"example":[{"tx_hash":"8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","tx_index":6,"block_height":69,"block_time":1635505891},{"tx_hash":"52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","tx_index":9,"block_height":4547,"block_time":1635505987},{"tx_hash":"e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b","tx_index":0,"block_height":564654,"block_time":1834505492}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address containing the specific asset"},"quantity":{"type":"string","description":"Asset quantity on the specific address"}},"required":["address","quantity"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","quantity":"1"},{"address":"addr1qyhr4exrgavdcn3qhfcc9f939fzsch2re5ry9cwvcdyh4x4re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qdpvhza","quantity":"100000"},{"address":"addr1q8zup8m9ue3p98kxlxl9q8rnyan8hw3ul282tsl9s326dfj088lvedv4zckcj24arcpasr0gua4c5gq4zw2rpcpjk2lq8cmd9l","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/policy/{policy_id}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","description":"Concatenation of the policy_id and hex-encoded asset_name"},"quantity":{"type":"string","description":"Current asset quantity"}},"required":["asset","quantity"]},"example":[{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"1"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a766e","quantity":"100000"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb574636f696e","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"policy_id":{"type":"string"}}}},"/scripts":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"script_hash":{"type":"string","description":"Script hash"}},"required":["script_hash"]},"example":[{"script_hash":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"},{"script_hash":"e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e"},{"script_hash":"a6e63c0ff05c96943d1cc30bf53112ffff0f34b45986021ca058ec54"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/scripts/{script_hash}":{"response":{"200":{"type":"object","properties":{"script_hash":{"type":"string","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1","description":"Script hash"},"type":{"type":"string","enum":["timelock","plutusV1","plutusV2"],"example":"plutusV1","description":"Type of the script language"},"serialised_size":{"type":"integer","nullable":true,"description":"The size of the CBOR serialised script, if a Plutus script","example":3119}},"required":["script_hash","type","serialised_size"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/json":{"response":{"200":{"type":"object","properties":{"json":{"nullable":true}},"required":["json"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","nullable":true,"description":"CBOR contents of the `plutus` script, null for `timelocks`"}},"required":["cbor"],"example":{"cbor":"4e4d01000033222220051200120011"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/redeemers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the transaction"},"tx_index":{"type":"integer","example":0,"description":"The index of the redeemer pointer in the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"redeemer_data_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Datum hash of the redeemer"},"datum_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Datum hash","deprecated":true},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"},"fee":{"type":"string","example":"172033","description":"The fee consumed to run the script"}},"required":["tx_hash","tx_index","purpose","redeemer_data_hash","datum_hash","unit_mem","unit_steps","fee"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/datum/{datum_hash}":{"response":{"200":{"type":"object","properties":{"json_value":{"type":"object","additionalProperties":true,"description":"JSON content of the datum"}},"required":["json_value"],"example":{"json_value":{"int":42}}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"datum_hash":{"type":"string"}}}},"/scripts/datum/{datum_hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","description":"CBOR serialized datum"}},"required":["cbor"],"example":{"cbor":"19a6aa"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"datum_hash":{"type":"string"}}}},"/utils/addresses/xpub/{xpub}/{role}/{index}":{"response":{"200":{"type":"object","properties":{"xpub":{"type":"string","description":"Script hash"},"role":{"type":"integer","description":"Account role"},"index":{"type":"integer","description":"Address index"},"address":{"type":"string","description":"Derived address"}},"required":["xpub","role","index","address"],"example":[{"xpub":"d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a","role":0,"index":0,"address":"addr1q90sqnljxky88s0jsnps48jd872p7znzwym0jpzqnax6qs5nfrlkaatu28n0qzmqh7f2cpksxhpc9jefx3wrl0a2wu8q5amen7"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"xpub":{"type":"string"},"role":{"type":"integer"},"index":{"type":"integer"}}}},"/utils/txs/evaluate":{"response":{"200":{"type":"object","additionalProperties":true},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/utils/txs/evaluate/utxos":{"response":{"200":{"type":"object","additionalProperties":true},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/ipfs/add":{"response":{"200":{"type":"object","properties":{"name":{"type":"string","example":"README.md","description":"Name of the file"},"ipfs_hash":{"type":"string","example":"QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr","description":"IPFS hash of the file"},"size":{"type":"string","example":"125297","description":"IPFS node size in Bytes"}},"required":["name","ipfs_hash","size"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/ipfs/gateway/{IPFS_path}":{"response":{"200":{"type":"string","format":"binary"},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"Path to the IPFS object"}}}},"/ipfs/pin/add/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"ipfs_hash":{"type":"string","example":"QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8","description":"IPFS hash of the pinned object"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"example":"queued","description":"State of the pin action"}},"required":["ipfs_hash","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"Path to the IPFS object"}}}},"/ipfs/pin/list":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time_created":{"type":"integer","description":"Creation time of the IPFS object on our backends","example":1615551024},"time_pinned":{"type":"integer","description":"Pin time of the IPFS object on our backends","example":1615551024},"ipfs_hash":{"type":"string","description":"IPFS hash of the pinned object","example":"QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx"},"size":{"type":"string","description":"Size of the object in Bytes","example":"1615551024"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"description":"State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n","example":"pinned"}},"required":["time_created","time_pinned","ipfs_hash","size","state"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/ipfs/pin/list/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"time_created":{"type":"integer","description":"Time of the creation of the IPFS object on our backends","example":1615551024},"time_pinned":{"type":"integer","description":"Time of the pin of the IPFS object on our backends","example":1615551024},"ipfs_hash":{"type":"string","description":"IPFS hash of the pinned object","example":"QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx"},"size":{"type":"string","description":"Size of the object in Bytes","example":"1615551024"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"description":"State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n","example":"pinned"}},"required":["time_created","time_pinned","ipfs_hash","size","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"The path to the IPFS object"}}}},"/ipfs/pin/remove/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"ipfs_hash":{"type":"string","example":"QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8","description":"IPFS hash of the pinned object"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"example":"unpinned","description":"State of the pin action"}},"required":["ipfs_hash","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"The path to the IPFS object"}}}},"/metrics":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","description":"Starting time of the call count interval (ends midnight UTC) in UNIX time"},"calls":{"type":"integer","description":"Sum of all calls for a particular day"}},"required":["time","calls"]},"example":[{"time":1612543884,"calls":42},{"time":1614523884,"calls":6942}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/metrics/endpoints":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","description":"Starting time of the call count interval (ends midnight UTC) in UNIX time"},"calls":{"type":"integer","description":"Sum of all calls for a particular day and endpoint"},"endpoint":{"type":"string","description":"Endpoint parent name"}},"required":["time","calls","endpoint"]},"example":[{"time":1612543814,"calls":182,"endpoint":"block"},{"time":1612543814,"calls":42,"endpoint":"epoch"},{"time":1612543812,"calls":775,"endpoint":"block"},{"time":1612523884,"calls":4,"endpoint":"epoch"},{"time":1612553884,"calls":89794,"endpoint":"block"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/network":{"response":{"200":{"type":"object","properties":{"supply":{"type":"object","properties":{"max":{"type":"string","description":"Maximum supply in Lovelaces","example":"45000000000000000"},"total":{"type":"string","description":"Current total (max supply - reserves) supply in Lovelaces","example":"32890715183299160"},"circulating":{"type":"string","description":"Current circulating (UTXOs + withdrawables) supply in Lovelaces","example":"32412601976210393"},"locked":{"type":"string","description":"Current supply locked by scripts in Lovelaces","example":"125006953355"},"treasury":{"type":"string","description":"Current supply locked in treasury","example":"98635632000000"},"reserves":{"type":"string","description":"Current supply locked in reserves","example":"46635632000000"}},"required":["max","total","circulating","locked","treasury","reserves"]},"stake":{"type":"object","properties":{"live":{"type":"string","example":"23204950463991654","description":"Current live stake in Lovelaces"},"active":{"type":"string","description":"Current active stake in Lovelaces","example":"22210233523456321"}},"required":["live","active"]}},"required":["supply","stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/network/eras":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"start":{"type":"object","description":"Start of the blockchain era,\nrelative to the start of the network\n","properties":{"time":{"type":"number","description":"Time in seconds relative to the start time of the network"},"slot":{"type":"integer","description":"Absolute slot number"},"epoch":{"type":"integer","description":"Epoch number"}},"required":["time","slot","epoch"]},"end":{"type":"object","description":"End of the blockchain era,\nrelative to the start of the network\n","properties":{"time":{"type":"number","description":"Time in seconds relative to the start time of the network"},"slot":{"type":"integer","description":"Absolute slot number"},"epoch":{"type":"integer","description":"Epoch number"}},"required":["time","slot","epoch"]},"parameters":{"type":"object","description":"Era parameters","properties":{"epoch_length":{"type":"integer","description":"Epoch length in number of slots"},"slot_length":{"type":"number","description":"Slot length in seconds"},"safe_zone":{"type":"integer","description":"Zone in which it is guaranteed that no hard fork can take place"}},"required":["epoch_length","slot_length","safe_zone"]}},"required":["start","end","parameters"]},"example":[{"start":{"time":0,"slot":0,"epoch":0},"end":{"time":89856000,"slot":4492800,"epoch":208},"parameters":{"epoch_length":21600,"slot_length":20,"safe_zone":4320}},{"start":{"time":89856000,"slot":4492800,"epoch":208},"end":{"time":101952000,"slot":16588800,"epoch":236},"parameters":{"epoch_length":432000,"slot_length":1,"safe_zone":129600}}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/nutlink/{address}":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded address","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"metadata_url":{"type":"string","description":"URL of the specific metadata file","example":"https://nut.link/metadata.json"},"metadata_hash":{"type":"string","description":"Hash of the metadata file","example":"6bf124f217d0e5a0a8adb1dbd8540e1334280d49ab861127868339f43b3948af"},"metadata":{"type":"object","nullable":true,"description":"The cached metadata of the `metadata_url` file.","additionalProperties":true}},"required":["address","metadata_url","metadata_hash","metadata"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"}}}},"/nutlink/{address}/tickers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the ticker"},"count":{"type":"integer","description":"Number of ticker records"},"latest_block":{"type":"integer","description":"Block height of the latest record"}},"required":["name","count","latest_block"]},"example":[{"name":"ADAUSD","count":1980038,"latest_block":2657092},{"name":"ADAEUR","count":1980038,"latest_block":2657092},{"name":"ADABTC","count":1980038,"latest_block":2657092}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"}}}},"/nutlink/{address}/tickers/{ticker}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string"},"block_height":{"type":"integer"},"tx_index":{"type":"integer"},"payload":{}},"required":["tx_hash","tx_index","block_height","payload"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"},"ticker":{"type":"string","description":"Ticker for the pool record"}}}},"/nutlink/tickers/{ticker}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"},"tx_hash":{"type":"string","description":"Hash of the transaction"},"block_height":{"type":"integer","description":"Block height of the record"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"payload":{}},"required":["address","tx_hash","block_height","tx_index","payload"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"ticker":{"type":"string","description":"Ticker for the pool record"}}}},"/mithril/":{"response":{"200":{"description":"Represents general information about Aggregator public information and signing capabilities","type":"object","additionalProperties":false,"required":["open_api_version","documentation_url","capabilities"],"properties":{"open_api_version":{"description":"Open API version","type":"string","format":"byte"},"documentation_url":{"description":"Mithril documentation","type":"string","format":"byte"},"capabilities":{"description":"Capabilities of the aggregator","type":"object","additionalProperties":false,"required":["signed_entity_types"],"properties":{"signed_entity_types":{"description":"Signed entity types that are signed by the aggregator","type":"array","minItems":1,"items":{"description":"Signed entity types that can be signed","type":"string","enum":["MithrilStakeDistribution","CardanoStakeDistribution","CardanoImmutableFilesFull","CardanoTransactions"]}},"cardano_transactions_prover":{"description":"Cardano transactions prover capabilities","type":"object","additionalProperties":false,"required":["max_hashes_allowed_by_request"],"properties":{"max_hashes_allowed_by_request":{"description":"Maximum number of hashes allowed for a single request","type":"integer","format":"int64"}}}}}},"example":{"open_api_version":"0.1.17","documentation_url":"https://mithril.network","capabilities":{"signed_entity_types":["MithrilStakeDistribution","CardanoImmutableFilesFull","CardanoTransactions"],"cardano_transactions_prover":{"max_hashes_allowed_by_request":100}}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/epoch-settings":{"response":{"200":{"description":"Epoch settings","type":"object","additionalProperties":false,"required":["epoch","protocol","next_protocol"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"protocol":{"$ref":"#/components/schemas/ProtocolParameters"},"next_protocol":{"$ref":"#/components/schemas/ProtocolParameters"}},"example":{"epoch":329,"protocol":{"k":857,"m":6172,"phi_f":0.2},"next_protocol":{"k":2422,"m":20973,"phi_f":0.2}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/certificate-pending":{"response":{"200":{"description":"CertificatePendingMessage represents all the information related to the certificate currently expecting to receive quorum of single signatures","type":"object","additionalProperties":false,"required":["epoch","entity_type","protocol","next_protocol","signers","next_signers"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"beacon":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CardanoDbBeacon"}]},"entity_type":{"$ref":"#/components/schemas/SignedEntityType"},"protocol":{"$ref":"#/components/schemas/ProtocolParameters"},"next_protocol":{"$ref":"#/components/schemas/ProtocolParameters"},"signers":{"type":"array","items":{"$ref":"#/components/schemas/Signer"}},"next_signers":{"type":"array","items":{"$ref":"#/components/schemas/Signer"}}},"example":{"epoch":329,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"entity_type":{"MithrilStakeDistribution":246},"protocol":{"k":857,"m":6172,"phi_f":0.2},"next_protocol":{"k":2422,"m":20973,"phi_f":0.2},"signers":[{"party_id":"1234567890","verification_key":"7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353","verification_key_signature":"7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a","operational_certificate":"5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537","kes_period":123},{"party_id":"2345678900","verification_key":"7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32","verification_key_signature":"2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39","operational_certificate":"3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3","kes_period":456}],"next_signers":[{"party_id":"3456789000","verification_key":"7b22766b223a5b3133382c32392c3137332c3134342c36332c3233352c39372c3138302c3","verification_key_signature":"7b227369676d61223a7b227369676d61223a7b227369676d61223a7b227369676d612239","operational_certificate":"5b5b5b3232352c3230332c3235352c3130302c3136372c38302c37342c3136362c3135362c38322c39382c3232312c36332c3137372c3232332c3232332c31392c35372c39332c312c35302c3133392c3233342c3137332c32352","kes_period":789},{"party_id":"4567890000","verification_key":"34302c3132332c3139302c3134352c3132342c35342c3133302c37302c3136332c3139332","verification_key_signature":"302c3230312c38362c3139312c36302c3234352c3138332c3134342c3139392c3130335f","operational_certificate":"2c38382c3138372c3233332c34302c37322c31362c36365d2c312c3132332c5b31362c3136392c3134312c3138332c32322c3137342c3131312c33322c36342c35322c2c3232382c37392c3137352c32395312c3838282c323030","kes_period":876}]}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/certificates":{"response":{"200":{"description":"CertificateListMessage represents a list of Mithril certificates","type":"array","items":{"description":"CertificateListItemMessage represents an item of a list of Mithril certificates","type":"object","additionalProperties":false,"required":["hash","previous_hash","epoch","signed_entity_type","metadata","protocol_message","signed_message","aggregate_verification_key"],"properties":{"hash":{"description":"Hash of the current certificate","type":"string","format":"bytes"},"previous_hash":{"description":"Hash of the previous certificate","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"beacon":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CardanoDbBeacon"}]},"signed_entity_type":{"$ref":"#/components/schemas/SignedEntityType"},"metadata":{"$ref":"#/components/schemas/CertificateListItemMessageMetadata"},"protocol_message":{"$ref":"#/components/schemas/ProtocolMessage"},"signed_message":{"description":"Hash of the protocol message that is signed by the signer participants","type":"string","format":"bytes"},"aggregate_verification_key":{"description":"Aggregate verification key used to verify the multi signature","type":"string","format":"bytes"}},"example":{"hash":"9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7","previous_hash":"aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403","epoch":32,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"signed_entity_type":{"MithrilStakeDistribution":246},"metadata":{"network":"mainnet","version":"0.1.0","parameters":{"k":5,"m":100,"phi_f":0.65},"initiated_at":"2022-07-17T18:51:23.192811338Z","sealed_at":"2022-07-17T18:51:35.830832580Z","total_signers":3},"protocol_message":{"message_parts":{"snapshot_digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","next_aggregate_verification_key":"b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"}},"signed_message":"07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc","aggregate_verification_key":"7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7"}},"example":[{"hash":"9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7","previous_hash":"aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403","epoch":329,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"signed_entity_type":{"MithrilStakeDistribution":246},"metadata":{"network":"mainnet","version":"0.1.0","parameters":{"k":5,"m":100,"phi_f":0.65},"initiated_at":"2022-07-17T18:51:23.192811338Z","sealed_at":"2022-07-17T18:51:35.830832580Z","total_signers":3},"protocol_message":{"message_parts":{"snapshot_digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","next_aggregate_verification_key":"b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"}},"signed_message":"07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc","aggregate_verification_key":"7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7"}]},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/certificate/{certificate_hash}":{"response":{"200":{"description":"Certificate represents a Mithril certificate embedding a Mithril STM multi signature","type":"object","additionalProperties":false,"required":["hash","previous_hash","epoch","signed_entity_type","metadata","protocol_message","signed_message","aggregate_verification_key","multi_signature","genesis_signature"],"properties":{"hash":{"description":"Hash of the current certificate","type":"string","format":"bytes"},"previous_hash":{"description":"Hash of the previous certificate","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"beacon":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CardanoDbBeacon"}]},"signed_entity_type":{"$ref":"#/components/schemas/SignedEntityType"},"metadata":{"$ref":"#/components/schemas/CertificateMetadata"},"protocol_message":{"$ref":"#/components/schemas/ProtocolMessage"},"signed_message":{"description":"Hash of the protocol message that is signed by the signer participants","type":"string","format":"bytes"},"aggregate_verification_key":{"description":"Aggregate verification key used to verify the multi signature","type":"string","format":"bytes"},"multi_signature":{"description":"STM multi signature created from a quorum of single signatures from the signers","type":"string","format":"bytes"},"genesis_signature":{"description":"Genesis signature created to bootstrap the certificate chain with the Cardano Genesis Keys","type":"string","format":"bytes"}},"example":{"hash":"9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7","previous_hash":"aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403","epoch":329,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"signed_entity_type":{"MithrilStakeDistribution":246},"metadata":{"network":"mainnet","version":"0.1.0","parameters":{"k":5,"m":100,"phi_f":0.65},"initiated_at":"2022-07-17T18:51:23.192811338Z","sealed_at":"2022-07-17T18:51:35.830832580Z","signers":[{"party_id":"1234567890","verification_key":"7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353","verification_key_signature":"7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a","operational_certificate":"5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537","kes_period":123,"stake":1234},{"party_id":"2345678900","verification_key":"7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32","verification_key_signature":"2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39","operational_certificate":"3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3","kes_period":456,"stake":2345}]},"protocol_message":{"message_parts":{"snapshot_digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","next_aggregate_verification_key":"b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"}},"signed_message":"07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc","aggregate_verification_key":"7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7","multi_signature":"7bc3139392c3135392c3235342c3231392c3133362c3132392c38342c353227369676e617475726573223a5b5b7b227369676d61223a5b3135312c362c3131222c33382c3135382c3137312c3137312c3234392c32342c3232382c3133302c38352c32362c38382c3135382c32303c323337322c323339362c32342c313530342c313532302c3135323737302c323830372c323831392c323834302c323834342c323836302c323837322c323838362c323839312c323839382c3239333533332c343538352c343632342c343634322c343634372c343636362c334312c31343636382c31343637352c31343639352c31343639392c31343730312c31343730352c31343733302c31343733382c31343733392c31343734362c31343735342c31343736312c31343738362c31343739352c31343739362c31343832362c31343835392c31343836302c31343836322c31343837312c31343837322c31343837392c31343838392c31343839332c31343839372c31343839392c31343932362c31343937372c31343939312c31353032332c31353033382c31353034342c31353036332c31353039312c31353039322c31353039382c31353131392c31353132312c31353136362c31353139362c31353230322c31353231302c31353231392c31353233392c31353234362c31353235322c31353237352c31353238312c31353334372c31353335372c31353338372c31353431372c31353434352c31353434382c31353435332c31353435342c31353530382c31353534352c31353536302c31353537302c31353538392c31353631302c31353631312c31353631322c31353632382c31353633302c31353633392c31353636302c31353636312c31353637392c31353731372c31353731392c31353732362c31353733382c31353734382c31353735392c31353736312c31353739312c31353830312c31353830332c31353831342c31353831392c31353832372c31353832392c31353834392c31353835332c31353835372c31353835392c31353836372c31353839362c31353930312c31353930372c31353931302c31353931332c31353931352c31353935352c31353937362c31353938372c31363031372c31363036332c31363131382c31363132382c31363135352c31363136372c31363230312c31363230362c31363231392c31363232312c31363232392c31363233342c31363234362c31363333302c31363335302c31363336362c31353739312c31353830312c31353830332c31353831342c31353831392c31353832372c31353832392c31353834392c31353835332c31353835372c31353835392c31353836372c31353839362c31353930312c31353930372c31353931302c31353931332c31353931352c31353935352c31353937362c31353938372c31363031372c31363036332c31363131382c31363132382c31363135352c31363136372c31363230312c31363230362c31363231392c31363232312c31363232392c31363233342c31363234362c31363333302c31363335302c31363336362c31363339302c31363430342c31363435342c31363437392c31363533302c31363533382c31363534372c31363535322c31363630382c31363631312c31363631382c31363633312c31363635382c31363637312c31363639352c31363730302c31363731332c31363732372c31363733312c31363733322c31363734322c31363736302c31363737342c31363739322c31363739362c31363739382c31363830342c31363831302c31363834302c31363834382c31363835392c31363836332c31363838362c31363838382c31363930302c31363932372c31363932382c31363932392c31363933372c31363934302c31363934362c31363935302c31363936312c31363938312c31373033302c31373035332c31373036322c31373038322c31373130312c31373130332c31373130352c31373130362c31373132302c31373132312c31373133322c31373133332c31373135312c31373135392c31373138332c31373232302c31373239322c31373331312c31373331332c31373332362c31373333362c31373334352c31373334392c31373335372c31373337352c31373338332c31373338352c31373430302c31373430362c31373431342c31373432322c31373434362c31373435312c31373436362c31373530322c31373531392c31373535382c31373536352c31373537332c31373538302c31373630362c31373632332c31373636382c31373639352c31373732392c31373733312c31373733352c31373733372c31373734342c31373734352c31373734372c31373736382c31373737302c31373737332c31373737352c31373739362c31373830342c31373831302c31373831332c31373832332c31373834352c31373834362c31373838382c31373839342c31373930352c31373931302c31373935372c31373936372c31373938372c31373939342c31383030322c31383030332c31383031312c31383032302c31383032392c31383034362c31383036382c31383037322c31383131372c31383133372c31383134302c31383134332c31383136322c31383137302c31383137342c31383138342c31383138392c31383139392c31383230382c31383232302c31383235312c31383235332c31383237392c31383238312c31383239312c31383239382c31383330312c31383331362c31383332382c31383334312c31383336332c31383337342c31383338352c31383338372c31383434392c31383437362c31383438322c31383439382c31383530352c31383530362c31383531342c31383532362c31383532382c31383533382c31383535322c31383535382c31383537342c31383538342c31383539322c31383631392c32c3832392c3834382c3835312c3835342c3836352c3838332c3838342c3839332c3839372c3930392c3937312c3938362c3939352c313032312c313032362c313035312c313036322c313036382c313038322c313038332c313038352c313133312c313134392c313135392c313136342c313137322c313137332c313231372c313231382c313234372c313239332c313330382c313331352c313333302c313335302c313336342c313337392c313430302c313430362c313432372c313434392c313436342c313436362c313436372c313437362c313530312c313530342c313532302c313532352c313533322c313534322c313536372c313537362c313538322c313538332c313632362c313633322c313633332c313634312c313635322c313730302c313732392c313831322c313832302c313834322c313835392c313837312c313930352c313930372c313931322c313931332c313935362c313936302c313937342c323030302c323031302c323033322c323033372c323037372c323038372c323039382c323130372c323131382c323133322c323133382c323135312c323230332c323230392c323231312c323233372c323234382c323235332c323237372c323238302c323330382c323331342c323333322c323334332c323334382c373535362c373535382c373537372c373630392c373631382c373633392c373635342c373635352c373731392c373732322c373732332c373830342c373832372c373833362c373833372c373835302c373835332c373835362c373837382c373839362c373931392c373933312c373933332c373934332c373934362c373935342c383030302c383031302c383031342c383033302c383034332c383035352c383036342c383036382c383037362c383132322c383134332c383134382c383136362c383139302c383234372c383235312c383236302c383237352c383238312c383238352c383330362c383332352c383337332c383337372c383338372c383339372c383339382c383431362c383433312c383436362c383436372c383437372c383438332c383438392c383439322c383439382c383531372c383533302c383533352c383534302c383536392c383539392c383631322c383634322c383635322c383637302c383730312c383733342c383738382c383739312c383832372c383834352c383835312c383836312c383837362c383932392c383933372c383935322c383937362c393031362c393032302c393032372c393032392c393034382c393036302c393038392c393130332c393130362c393131312c393131322c393131382c393133342c393134392c393137372c393137382c393231312c393231322c393232392c393234332c393236312c393236322c393238362c393239372c393331382c393333392c393338312c393339352c393339362c393431372c393433302c393436332c393439322c393532342c393633332c393633352c393634322c393639322c393731382c393732342c393732362c393733352c393735362c393738302c393738322c393739332c393831332c393837312c393839382c393931382c393932332c393932362c393934312c393934392c393935322c393935382c393936312c393936342c393937352c31303030362c31303032362c31303032392c31303035382c31303037342c31303037392c31303131302c31303132332c31303133392c31303134382c31303135362c31303136392c31303230362c31303235352c31303235372c31303235382c31303237332c31303237342c31303239312c31303239332c31303239342c31303330352c31303334312c31303334332c31303338322c31303338332c31303430342c31303431312c31303431332c31303432302c31303434322c31303434342c31303435372c31303436302c31303437322c31303438372c31303532322c31303535312c31303536342c31303636352c31303638352c31303730302c31303730362c31303733322c31303734332c31303737322c31303831352c31303833332c31303834332c31303836362c31303839322c31303930382c31303938382c31313033362c31313034312c31313037312c31313038322c31313039322c31313039392c31313130392c31313131352c31313134362c31313139332c31313230302c31313232382c31313232392c31313235342c31313236372c31313238302c31313239332c31313239352c31313331312c31313331382c31313332322c31313334302c31313334342c31313335322c31313335342c31313335352c31313335362c31313338352c31313430322c31313431332c31313433342c31313434322c31313436382c31313437322c31313437372c31313439362c31313439392c31313530362c31313531302c31313532342c31313532372c31313534342c31313538312c31313539322c31313630342c31313633352c31313635382c31313733332c31313733362c31313735342c31313739342c31313831332c31313831392c31313832342c31313832372c31313836392c31313837312c31313931342c31313937302c31313937342c31323031362c31323031392c31323034302c31323034342c31323035342c31323036382c31323037302c31323037372c31323039392c31323130342c31323133302c31323133392c31323135302c31323135392c31323136302c31323137352c31323230302c31323230322c31323232382c31323233392c31323330352c31323336382c31323337352c31323337392c31323338392c31323430372c31323431302c31323433322c31323434302c31323434312c31323437352c31323530362c31323531322c31323531332c31323531372c31323532312c31323533302c31323538302c31323633362c31323636392c31323637322c31323637362c31323637372c31323638332c31323638372c31323730352c31323732342c31323734362c31323734382c31323737362c31323739392c31323838352c31323839392c31323930372c31323933302c31323933322c31323935382c31323939332c31333030332c31333033302c31333036312c31333038302c31333038332c31333130352c31333132372c31333133312c31333136392c31333138312c31333138322c31333138352c3133323231231333236352c31333238362c31333234322cc31333239342c3131333438362c1e233332362c31333333392c31333336352c31333337332c31333338352c31333339392c31333433332c31333435312c31333437382c3","genesis_signature":""}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"certificate_hash":{"type":"string"}}}},"/mithril/artifact/snapshots":{"response":{"200":{"description":"SnapshotListMessage represents a list of snapshots","type":"array","items":{"description":"Snapshot represents a snapshot file and its metadata","type":"object","additionalProperties":false,"required":["digest","beacon","certificate_hash","size","created_at","locations"],"properties":{"digest":{"description":"Digest that is signed by the signer participants","type":"string","format":"bytes"},"beacon":{"$ref":"#/components/schemas/CardanoDbBeacon"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"size":{"description":"Size of the snapshot file in Bytes","type":"integer","format":"int64"},"created_at":{"description":"Date and time at which the snapshot was created","type":"string","format":"date-time"},"locations":{"description":"Locations where the binary content of the snapshot can be retrieved","type":"array","items":{"type":"string"}},"compression_algorithm":{"description":"Compression algorithm for the snapshot archive","type":"string"},"cardano_node_version":{"description":"Version of the Cardano node which is used to create snapshot archives.","type":"string"}},"example":{"digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","size":26058531636,"created_at":"2022-07-21T17:32:28Z","locations":["https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C","ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"],"compression_algorithm":"zstandard","cardano_node_version":"1.0.0"}},"example":[{"digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","size":26058531636,"created_at":"2022-07-21T17:32:28Z","locations":["https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C","ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"]}]},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/artifact/snapshot/{digest}":{"response":{"200":{"description":"This message represents a snapshot file and its metadata.","allOf":[{"$ref":"#/components/schemas/Snapshot"}],"example":{"digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","size":26058531636,"created_at":"2022-07-21T17:32:28Z","locations":["https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C","ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"],"compression_algorithm":"zstandard","cardano_node_version":"1.0.0"}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"digest":{"type":"string"}}}},"/mithril/artifact/snapshot/{digest}/download":{"response":{"200":{"type":"string","format":"binary"},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"digest":{"type":"string"}}}},"/mithril/artifact/mithril-stake-distributions":{"response":{"200":{"description":"MithrilStakeDistributionListMessage represents a list of Mithril stake distribution","type":"array","items":{"type":"object","additionalProperties":false,"required":["epoch","hash","created_at"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"hash":{"description":"Hash of the Mithril stake distribution","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"created_at":{"description":"Date and time at which the Mithril stake distribution was created","type":"string","format":"date-time,"}},"example":{"epoch":123,"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","created_at":"2022-06-14T10:52:31Z"}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/artifact/mithril-stake-distribution/{hash}":{"response":{"200":{"description":"This message represents a Mithril stake distribution.","type":"object","additionalProperties":false,"required":["epoch","hash","signers","created_at","protocol_parameters"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"hash":{"description":"Hash of the Mithril stake distribution","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"signers":{"description":"The list of the signers with their stakes and verification keys","type":"array","items":{"$ref":"#/components/schemas/SignerWithStake"}},"created_at":{"description":"Date and time of the entity creation","type":"string","format":"date-time,"},"protocol_parameters":{"$ref":"#/components/schemas/ProtocolParameters"}},"example":{"epoch":123,"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","signers":[{"party_id":"1234567890","verification_key":"7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353","verification_key_signature":"7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a","operational_certificate":"5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537","kes_period":123,"stake":1234},{"party_id":"2345678900","verification_key":"7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32","verification_key_signature":"2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39","operational_certificate":"3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3","kes_period":456,"stake":2345}],"created_at":"2022-06-14T10:52:31Z","protocol_parameters":{"k":5,"m":100,"phi_f":0.65}}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/mithril/artifact/cardano-transactions":{"response":{"200":{"description":"CardanoTransactionSnapshotListMessage represents a list of Cardano transactions set snapshots","type":"array","items":{"type":"object","additionalProperties":false,"required":["hash","certificate_hash","merkle_root","epoch","block_number","created_at"],"properties":{"hash":{"description":"Hash of the Cardano transactions set","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"merkle_root":{"description":"Merkle root of the Cardano transactions set","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"block_number":{"description":"Cardano block number","type":"integer","format":"int64"},"created_at":{"description":"Date and time at which the Cardano transactions set was created","type":"string","format":"date-time,"}},"example":{"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","merkle_root":"33bfd17bc082ab5dd1fc0788241c70aa5325241c70aa532530d190809c5391bbc307905e8372","epoch":123,"block_number":1234,"created_at":"2022-06-14T10:52:31Z"}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/artifact/cardano-transaction/{hash}":{"response":{"200":{"description":"This message represents a Cardano transactions set snapshot.","type":"object","additionalProperties":false,"required":["hash","certificate_hash","merkle_root","epoch","block_number","created_at"],"properties":{"hash":{"description":"Hash of the Cardano transactions set","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"merkle_root":{"description":"Merkle root of the Cardano transactions set","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"block_number":{"description":"Cardano block number","type":"integer","format":"int64"},"created_at":{"description":"Date and time at which the Cardano transactions set was created","type":"string","format":"date-time,"}},"example":{"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","merkle_root":"33bfd17bc082ab5dd1fc0788241c70aa5325241c70aa532530d190809c5391bbc307905e8372","epoch":123,"block_number":1234,"created_at":"2022-06-14T10:52:31Z"}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/mithril/proof/cardano-transaction":{"response":{"200":{"description":"This message represents proofs for Cardano Transactions.","type":"object","additionalProperties":false,"required":["certificate_hash","certified_transactions","non_certified_transactions","latest_block_number"],"properties":{"certificate_hash":{"description":"Hash of the certificate that validate the merkle root of this proof","type":"string","format":"bytes"},"certified_transactions":{"description":"Proofs for certified Cardano transactions","type":"array","items":{"type":"object","required":["transactions_hashes","proof"],"properties":{"transactions_hashes":{"type":"array","items":{"description":"Hash of the Cardano transactions","type":"string","format":"bytes"}},"proof":{"description":"Proof for the Cardano transactions","type":"string","format":"bytes"}}}},"non_certified_transactions":{"type":"array","items":{"description":"Hash of the non certified Cardano transactions","type":"string","format":"bytes"}},"latest_block_number":{"description":"Last block number","type":"integer","format":"int64"}},"example":{"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","certified_transactions":[{"transactions_hashes":["6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","5d0d1272e6e70736a1ea2cae34015876367ee64517f6328364f6b73930966732"],"proof":"5b73136372c38302c37342c3136362c313535b5b323136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c313532352c3230332c3235352c313030262c33136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c31358322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537"}],"non_certified_transactions":["732d0d1272e6e70736367ee6f6328364f6b739309666a1ea2cae34015874517"],"latest_block_number":7060000}},"default":{"$ref":"#/components/schemas/Error"}},"querystring":{"type":"object","properties":{"transaction_hashes":{"type":"array","items":{"type":"string","format":"bytes","example":"6dbb104ed68481ef829a26a20142916d17985e01774d72d72c2f"}}}}},"/mithril/signers/registered/{epoch}":{"response":{"200":{"description":"This message holds the registered signers at a given epoch.\n","type":"object","additionalProperties":false,"properties":{"registered_at":{"$ref":"#/components/schemas/Epoch"},"signing_at":{"$ref":"#/components/schemas/Epoch"},"registrations":{"type":"array","items":{"$ref":"#/components/schemas/SignerRegistrationsListItemMessage"}}},"example":{"registered_at":420,"signing_at":422,"registrations":[{"party_id":"1234567890","stake":1234}]}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"epoch":{"type":"integer"}}}},"/mithril/signers/tickers":{"response":{"200":{"description":"represents the list of signers known by the aggregator","type":"object","required":["network","signers"],"properties":{"network":{"description":"Cardano network of the aggregator","type":"string","format":"bytes"},"signers":{"description":"Known signers","items":{"$ref":"#/components/schemas/SignerTickerListItemMessage"}}},"example":{"network":"mainnet","signers":[{"party_id":"pool1234567890","pool_ticker":"[Pool_Name]","has_registered":true},{"party_id":"pool0987654321","has_registered":false}]}},"default":{"$ref":"#/components/schemas/Error"}}}} +{"/":{"response":{"200":{"type":"object","properties":{"url":{"type":"string","example":"https://blockfrost.io/"},"version":{"type":"string","example":"0.1.0"}},"required":["url","version"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/health":{"response":{"200":{"type":"object","properties":{"is_healthy":{"type":"boolean","example":true}},"required":["is_healthy"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/health/clock":{"response":{"200":{"type":"object","properties":{"server_time":{"type":"integer","format":"int64","example":1603400958947}},"required":["server_time"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/blocks/latest":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/blocks/latest/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/blocks/{hash_or_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/next":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/previous":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/slot/{slot_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"slot_number":{"type":"integer"}}}},"/blocks/epoch/{epoch_number}/slot/{slot_number}":{"response":{"200":{"type":"object","properties":{"time":{"type":"integer","example":1641338934,"description":"Block creation time in UNIX time"},"height":{"type":"integer","nullable":true,"example":15243593,"description":"Block number"},"hash":{"type":"string","example":"4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a","description":"Hash of the block"},"slot":{"type":"integer","nullable":true,"example":412162133,"description":"Slot number"},"epoch":{"type":"integer","nullable":true,"example":425,"description":"Epoch number"},"epoch_slot":{"type":"integer","nullable":true,"example":12,"description":"Slot within the epoch"},"slot_leader":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy","description":"Bech32 ID of the slot leader or specific block description in case there is no slot leader"},"size":{"type":"integer","example":3,"description":"Block size in Bytes"},"tx_count":{"type":"integer","example":1,"description":"Number of transactions in the block"},"output":{"type":"string","nullable":true,"example":"128314491794","description":"Total output within the block in Lovelaces"},"fees":{"type":"string","nullable":true,"example":"592661","description":"Total fees within the block in Lovelaces"},"block_vrf":{"type":"string","nullable":true,"example":"vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty","description":"VRF key of the block","minLength":65,"maxLength":65},"op_cert":{"type":"string","nullable":true,"example":"da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c","description":"The hash of the operational certificate of the block producer"},"op_cert_counter":{"type":"string","nullable":true,"example":"18","description":"The value of the counter used to produce the operational certificate"},"previous_block":{"type":"string","nullable":true,"example":"43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05","description":"Hash of the previous block"},"next_block":{"type":"string","nullable":true,"example":"8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa","description":"Hash of the next block"},"confirmations":{"type":"integer","example":4698,"description":"Number of block confirmations"}},"required":["time","height","hash","slot","epoch","epoch_slot","slot_leader","size","tx_count","output","fees","block_vrf","op_cert","op_cert_counter","previous_block","next_block","confirmations"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"epoch_number":{"type":"integer"},"slot_number":{"type":"integer"}}}},"/blocks/{hash_or_number}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/blocks/{hash_or_number}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address that was affected in the specified block"},"transactions":{"type":"array","description":"List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.","items":{"type":"object","properties":{"tx_hash":{"type":"string"}},"required":["tx_hash"]}}},"required":["address","transactions"]},"example":[{"address":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","transactions":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","transactions":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0"}]}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"hash_or_number":{"type":"string"}}}},"/genesis":{"response":{"200":{"type":"object","properties":{"active_slots_coefficient":{"type":"number","example":0.05,"description":"The proportion of slots in which blocks should be issued"},"update_quorum":{"type":"integer","example":5,"description":"Determines the quorum needed for votes on the protocol parameter updates"},"max_lovelace_supply":{"type":"string","example":"45000000000000000","description":"The total number of lovelace in the system"},"network_magic":{"type":"integer","example":764824073,"description":"Network identifier"},"epoch_length":{"type":"integer","example":432000,"description":"Number of slots in an epoch"},"system_start":{"type":"integer","example":1506203091,"description":"Time of slot 0 in UNIX time"},"slots_per_kes_period":{"type":"integer","example":129600,"description":"Number of slots in an KES period"},"slot_length":{"type":"integer","example":1,"description":"Duration of one slot in seconds"},"max_kes_evolutions":{"type":"integer","example":62,"description":"The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate"},"security_param":{"type":"integer","example":2160,"description":"Security parameter k"}},"required":["active_slots_coefficient","update_quorum","max_lovelace_supply","network_magic","epoch_length","system_start","slots_per_kes_period","slot_length","max_kes_evolutions","security_param"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/governance/dreps":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"drep_id":{"type":"string","description":"The Bech32 encoded DRep address"},"hex":{"type":"string","description":"The raw bytes of the DRep"}},"required":["drep_id","hex"]},"example":[{"drep_id":"drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn","hex":"db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23"},{"drep_id":"drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4","hex":"c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/governance/dreps/{drep_id}":{"response":{"200":{"type":"object","properties":{"drep_id":{"type":"string","description":"Bech32 encoded DRep address"},"hex":{"type":"string","description":"The raw bytes of the DRep"},"amount":{"type":"string","description":"The total amount of voting power this DRep is delegated."},"active":{"type":"boolean","description":"Registration state of the DRep"},"active_epoch":{"type":"integer","nullable":true,"description":"Epoch of the most recent action - registration or deregistration"},"has_script":{"type":"boolean","description":"Flag which shows if this DRep credentials are a script hash"}},"required":["drep_id","hex","amount","active","active_epoch","has_script"],"example":{"drep_id":"drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc","hex":"a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d","amount":"2000000","active":true,"active_epoch":420,"has_script":true}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"drep_id":{"type":"string"}}}},"/governance/dreps/{drep_id}/delegators":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded stake addresses"},"amount":{"type":"string","description":"Currently delegated amount"}},"required":["address","amount"]},"example":[{"address":"stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha","amount":"1137959159981411"},{"address":"stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u","amount":"16958865648"},{"address":"stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck","amount":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"drep_id":{"type":"string"}}}},"/governance/dreps/{drep_id}/metadata":{"response":{"200":{"type":"object","properties":{"drep_id":{"type":"string","description":"Bech32 encoded addresses"},"hex":{"type":"string","description":"The raw bytes of the DRep"},"url":{"type":"string","example":"https://stakenuts.com/drep.json","description":"URL to the drep metadata"},"hash":{"type":"string","example":"69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c\"","description":"Hash of the metadata file"},"json_metadata":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true},{"type":"array","items":{}},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"Content of the JSON metadata (validated CIP-119)"},"bytes":{"type":"string","description":"Content of the metadata (raw)"}},"required":["drep_id","hex","url","hash","json_metadata","bytes"],"example":{"drep_id":"drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc","hex":"a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d","url":"https://aaa.xyz/drep.json","hash":"a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de","json_metadata":{"@context":{"CIP100":"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#","CIP119":"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#","hashAlgorithm":"CIP100:hashAlgorithm","body":{"@id":"CIP119:body","@context":{"references":{"@id":"CIP119:references","@container":"@set","@context":{"GovernanceMetadata":"CIP100:GovernanceMetadataReference","Other":"CIP100:OtherReference","label":"CIP100:reference-label","uri":"CIP100:reference-uri"}},"paymentAddress":"CIP119:paymentAddress","givenName":"CIP119:givenName","image":{"@id":"CIP119:image","@context":{"ImageObject":"https://schema.org/ImageObject"}},"objectives":"CIP119:objectives","motivations":"CIP119:motivations","qualifications":"CIP119:qualifications"}}},"hahsAlgorithm":"blake2b-256","body":{"paymentAddress":"addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34","givenName":"Ryan Williams","image":{"@type":"ImageObject","contentUrl":"https://avatars.githubusercontent.com/u/44342099?v=4","sha256":"2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e"},"objectives":"Buy myself an island.","motivations":"I really would like to own an island.","qualifications":"I have my 100m swimming badge, so I would be qualified to be able to swim around island.","references":[{"@type":"Other","label":"A cool island for Ryan","uri":"https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu"},{"@type":"Link","label":"Ryan's Twitter","uri":"https://twitter.com/Ryun1_"}]}},"bytes":"\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"drep_id":{"type":"string"}}}},"/governance/dreps/{drep_id}/updates":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction ID"},"cert_index":{"type":"integer","description":"Certificate within the transaction"},"action":{"type":"string","enum":["registered","deregistered"],"description":"Action in the certificate"}},"required":["tx_hash","cert_index","action"]},"example":[{"tx_hash":"f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393","cert_index":0,"action":"registered"},{"tx_hash":"dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e","cert_index":0,"action":"deregistered"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"drep_id":{"type":"string"}}}},"/governance/dreps/{drep_id}/votes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the proposal transaction."},"cert_index":{"type":"integer","description":"Index of the certificate within the proposal transaction."},"vote":{"type":"string","enum":["yes","no","abstain"],"description":"The Vote. Can be one of yes, no, abstain."}},"required":["tx_hash","cert_index","vote"]},"example":[{"tx_hash":"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5","cert_index":2,"vote":"yes"},{"tx_hash":"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5","cert_index":3,"vote":"abstain"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"drep_id":{"type":"string"}}}},"/governance/proposals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the proposal transaction."},"cert_index":{"type":"integer","description":"Index of the certificate within the proposal transaction."},"governance_type":{"type":"string","enum":["hard_fork_initiation","new_committee","new_constitution","info_action","no_confidence","parameter_change","treasury_withdrawals"],"description":"Type of proposal."}},"required":["tx_hash","cert_index","governance_type"]},"example":[{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","cert_index":1,"governance_type":"treasury_withdrawals"},{"tx_hash":"71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60","cert_index":4,"governance_type":"no_confidence"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/governance/proposals/{tx_hash}/{cert_index}":{"response":{"200":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the proposal transaction."},"cert_index":{"type":"integer","description":"Index of the certificate within the proposal transaction."},"governance_type":{"type":"string","enum":["hard_fork_initiation","new_committee","new_constitution","info_action","no_confidence","parameter_change","treasury_withdrawals"],"description":"Type of proposal."},"governance_description":{"additionalProperties":true,"type":"object","nullable":true,"description":"An object describing the content of this GovActionProposal in a readable way."},"deposit":{"type":"string","description":"The deposit amount paid for this proposal."},"return_address":{"type":"string","description":"Bech32 stake address of the reward address to receive the deposit when it is repaid."},"ratified_epoch":{"type":"integer","nullable":true},"enacted_epoch":{"type":"integer","nullable":true},"dropped_epoch":{"type":"integer","nullable":true},"expired_epoch":{"type":"integer","nullable":true},"expiration":{"type":"integer","description":"Shows the epoch at which this governance action will expire."}},"required":["tx_hash","cert_index","governance_type","deposit","return_address","governance_description","ratified_epoch","enacted_epoch","dropped_epoch","expired_epoch","expiration"],"example":{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","cert_index":1,"governance_type":"treasury_withdrawals","deposit":12000,"return_address":"stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz","governance_description":"TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash \"71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60\")},Coin 20000000)])","ratified_epoch":null,"enacted_epoch":123,"dropped_epoch":null,"expired_epoch":null,"expiration":120}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"tx_hash":{"type":"string"},"cert_index":{"type":"integer"}}}},"/governance/proposals/{tx_hash}/{cert_index}/parameters":{"response":{"200":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Off-chain metadata of a proposal with a specific transaction hash"},"cert_index":{"type":"integer","description":"Off-chain metadata of a proposal with a specific transaction cert_index"},"parameters":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"min_fee_a":{"type":"integer","example":44,"description":"The linear factor for the minimum fee calculation for given epoch"},"min_fee_b":{"type":"integer","example":155381,"description":"The constant factor for the minimum fee calculation"},"max_block_size":{"type":"integer","example":65536,"description":"Maximum block body size in Bytes"},"max_tx_size":{"type":"integer","example":16384,"description":"Maximum transaction size"},"max_block_header_size":{"type":"integer","example":1100,"description":"Maximum block header size"},"key_deposit":{"type":"string","example":"2000000","description":"The amount of a key registration deposit in Lovelaces"},"pool_deposit":{"type":"string","example":"500000000","description":"The amount of a pool registration deposit in Lovelaces"},"e_max":{"type":"integer","example":18,"description":"Epoch bound on pool retirement"},"n_opt":{"type":"integer","example":150,"description":"Desired number of pools"},"a0":{"type":"number","example":0.3,"description":"Pool pledge influence"},"rho":{"type":"number","example":0.003,"description":"Monetary expansion"},"tau":{"type":"number","example":0.2,"description":"Treasury expansion"},"decentralisation_param":{"type":"number","example":0.5,"description":"Percentage of blocks produced by federated nodes"},"extra_entropy":{"type":"string","nullable":true,"example":null,"description":"Seed for extra entropy"},"protocol_major_ver":{"type":"integer","example":2,"description":"Accepted protocol major version"},"protocol_minor_ver":{"type":"integer","example":0,"description":"Accepted protocol minor version"},"min_utxo":{"type":"string","example":"1000000","description":"Minimum UTXO value"},"min_pool_cost":{"type":"string","example":"340000000","description":"Minimum stake cost forced on the pool"},"nonce":{"type":"string","example":"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81","description":"Epoch number only used once"},"cost_models":{"additionalProperties":true,"type":"object","nullable":true,"example":{"PlutusV1":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0},"PlutusV2":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0}},"description":"Cost models parameters for Plutus Core scripts"},"price_mem":{"type":"number","nullable":true,"example":0.0577,"description":"The per word cost of script memory usage"},"price_step":{"type":"number","nullable":true,"example":0.0000721,"description":"The cost of script execution step usage"},"max_tx_ex_mem":{"type":"string","nullable":true,"example":"10000000","description":"The maximum number of execution memory allowed to be used in a single transaction"},"max_tx_ex_steps":{"type":"string","nullable":true,"example":"10000000000","description":"The maximum number of execution steps allowed to be used in a single transaction"},"max_block_ex_mem":{"type":"string","nullable":true,"example":"50000000","description":"The maximum number of execution memory allowed to be used in a single block"},"max_block_ex_steps":{"type":"string","nullable":true,"example":"40000000000","description":"The maximum number of execution steps allowed to be used in a single block"},"max_val_size":{"type":"string","nullable":true,"example":"5000","description":"The maximum Val size"},"collateral_percent":{"type":"integer","nullable":true,"example":150,"description":"The percentage of the transactions fee which must be provided as collateral when including non-native scripts"},"max_collateral_inputs":{"type":"integer","nullable":true,"example":3,"description":"The maximum number of collateral inputs allowed in a transaction"},"coins_per_utxo_size":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"coins_per_utxo_word":{"type":"string","nullable":true,"example":"34482","deprecated":true,"description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"pvt_motion_no_confidence":{"type":"number","nullable":true,"description":"Pool Voting threshold for motion of no-confidence. New in 13.2-Conway."},"pvt_committee_normal":{"type":"number","nullable":true,"description":"Pool Voting threshold for new committee/threshold (normal state). New in 13.2-Conway."},"pvt_committee_no_confidence":{"type":"number","nullable":true,"description":"Pool Voting threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway."},"pvt_hard_fork_initiation":{"type":"number","nullable":true,"description":"Pool Voting threshold for hard-fork initiation. New in 13.2-Conway."},"dvt_motion_no_confidence":{"type":"number","nullable":true,"description":"DRep Vote threshold for motion of no-confidence. New in 13.2-Conway."},"dvt_committee_normal":{"type":"number","nullable":true,"description":"DRep Vote threshold for new committee/threshold (normal state). New in 13.2-Conway."},"dvt_committee_no_confidence":{"type":"number","nullable":true,"description":"DRep Vote threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway."},"dvt_update_to_constitution":{"type":"number","nullable":true,"description":"DRep Vote threshold for update to the Constitution. New in 13.2-Conway."},"dvt_hard_fork_initiation":{"type":"number","nullable":true,"description":"DRep Vote threshold for hard-fork initiation. New in 13.2-Conway."},"dvt_p_p_network_group":{"type":"number","nullable":true,"description":"DRep Vote threshold for protocol parameter changes, network group. New in 13.2-Conway."},"dvt_p_p_economic_group":{"type":"number","nullable":true,"description":"DRep Vote threshold for protocol parameter changes, economic group. New in 13.2-Conway."},"dvt_p_p_technical_group":{"type":"number","nullable":true,"description":"DRep Vote threshold for protocol parameter changes, technical group. New in 13.2-Conway."},"dvt_p_p_gov_group":{"type":"number","nullable":true,"description":"DRep Vote threshold for protocol parameter changes, governance group. New in 13.2-Conway."},"dvt_treasury_withdrawal":{"type":"number","nullable":true,"description":"DRep Vote threshold for treasury withdrawal. New in 13.2-Conway."},"committee_min_size":{"type":"string","nullable":true,"format":"word64type","description":"Minimal constitutional committee size. New in 13.2-Conway."},"committee_max_term_length":{"type":"string","nullable":true,"format":"word64type","description":"Constitutional committee term limits. New in 13.2-Conway."},"gov_action_lifetime":{"type":"string","nullable":true,"format":"word64type","description":"Governance action expiration. New in 13.2-Conway."},"gov_action_deposit":{"type":"string","nullable":true,"format":"word64type","description":"Governance action deposit. New in 13.2-Conway."},"drep_deposit":{"type":"string","nullable":true,"format":"word64type","description":"DRep deposit amount. New in 13.2-Conway."},"drep_activity":{"type":"string","nullable":true,"format":"word64type","description":"DRep activity period. New in 13.2-Conway."},"pvtpp_security_group":{"type":"number","nullable":true},"min_fee_ref_script_cost_per_byte":{"type":"number","nullable":true}},"required":["min_fee_a","min_fee_b","max_block_size","max_tx_size","max_block_header_size","key_deposit","pool_deposit","e_max","n_opt","a0","rho","tau","decentralisation_param","extra_entropy","protocol_major_ver","protocol_minor_ver","min_utxo","min_pool_cost","nonce","cost_models","price_mem","price_step","max_tx_ex_mem","max_tx_ex_steps","max_block_ex_mem","max_block_ex_steps","max_val_size","collateral_percent","max_collateral_inputs","coins_per_utxo_size","coins_per_utxo_word","pvt_motion_no_confidence","pvt_committee_normal","pvt_committee_no_confidence","pvt_hard_fork_initiation","dvt_motion_no_confidence","dvt_committee_normal","dvt_committee_no_confidence","dvt_update_to_constitution","dvt_hard_fork_initiation","dvt_p_p_network_group","dvt_p_p_economic_group","dvt_p_p_technical_group","dvt_p_p_gov_group","dvt_treasury_withdrawal","committee_min_size","committee_max_term_length","gov_action_lifetime","gov_action_deposit","drep_deposit","drep_activity","pvtpp_security_group","min_fee_ref_script_cost_per_byte"]}},"required":["tx_hash","cert_index","parameters"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"tx_hash":{"type":"string"},"cert_index":{"type":"integer"}}}},"/governance/proposals/{tx_hash}/{cert_index}/withdrawals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"stake_address":{"type":"string","example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Bech32 stake address"},"amount":{"type":"string","description":"Withdrawal amount in Lovelaces"}},"required":["stake_address","amount"]},"example":[{"stake_address":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","amount":"454541212442"},{"stake_address":"stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2","amount":"97846969"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"tx_hash":{"type":"string"},"cert_index":{"type":"integer"}}}},"/governance/proposals/{tx_hash}/{cert_index}/votes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the voting transaction."},"cert_index":{"type":"integer","description":"Index of the certificate within the voting transaction."},"voter_role":{"type":"string","enum":["constitutional_committee","drep","spo"],"description":"The role of the voter. Can be one of constitutional_committee, drep, spo."},"voter":{"type":"string","description":"The actual voter."},"vote":{"type":"string","enum":["yes","no","abstain"],"description":"The Vote. Can be one of yes, no, abstain."}},"required":["tx_hash","cert_index","voter_role","voter","vote"]},"example":[{"tx_hash":"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5","cert_index":2,"voter_role":"drep","voter":"drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn","vote":"yes"},{"tx_hash":"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5","cert_index":3,"voter_role":"constitutional_committee","voter":"53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4","vote":"abstain"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"tx_hash":{"type":"string"},"cert_index":{"type":"integer"}}}},"/governance/proposals/{tx_hash}/{cert_index}/metadata":{"response":{"200":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Off-chain metadata of a proposal with a specific transaction hash"},"cert_index":{"type":"integer","description":"Off-chain metadata of a proposal with a specific transaction cert_index"},"url":{"type":"string","example":"https://abc.xyz/gov.json","description":"URL to the proposal metadata"},"hash":{"type":"string","example":"69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c\"","description":"Hash of the metadata file"},"json_metadata":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true},{"type":"array","items":{}},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"Content of the JSON metadata (validated CIP-108)"},"bytes":{"type":"string","description":"Content of the metadata (raw)"}},"required":["tx_hash","cert_index","url","hash","json_metadata","bytes"],"example":{"tx_hash":"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8","cert_index":2,"url":"https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json","hash":"ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81","json_metadata":{"body":{"title":"Hardfork to Protocol version 10","abstract":"Let's have sanchoNet in full governance as soon as possible","rationale":"Let's keep testing stuff","motivation":"PV9 is not as fun as PV10","references":[{"uri":"","@type":"Other","label":"Hardfork to PV10"}]},"authors":[{"name":"Carlos","witness":{"publicKey":"7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a","signature":"a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01","witnessAlgorithm":"ed25519"}}],"@context":{"body":{"@id":"CIP108:body","@context":{"title":"CIP108:title","abstract":"CIP108:abstract","rationale":"CIP108:rationale","motivation":"CIP108:motivation","references":{"@id":"CIP108:references","@context":{"uri":"CIP100:reference-uri","Other":"CIP100:OtherReference","label":"CIP100:reference-label","referenceHash":{"@id":"CIP108:referenceHash","@context":{"hashDigest":"CIP108:hashDigest","hashAlgorithm":"CIP100:hashAlgorithm"}},"GovernanceMetadata":"CIP100:GovernanceMetadataReference"},"@container":"@set"}}},"CIP100":"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#","CIP108":"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#","authors":{"@id":"CIP100:authors","@context":{"name":"http://xmlns.com/foaf/0.1/name","witness":{"@id":"CIP100:witness","@context":{"publicKey":"CIP100:publicKey","signature":"CIP100:signature","witnessAlgorithm":"CIP100:witnessAlgorithm"}}},"@container":"@set"},"@language":"en-us","hashAlgorithm":"CIP100:hashAlgorithm"},"hashAlgorithm":"blake2b-256"},"bytes":"\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"tx_hash":{"type":"string"},"cert_index":{"type":"integer"}}}},"/epochs/latest":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/latest/parameters":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"min_fee_a":{"type":"integer","example":44,"description":"The linear factor for the minimum fee calculation for given epoch"},"min_fee_b":{"type":"integer","example":155381,"description":"The constant factor for the minimum fee calculation"},"max_block_size":{"type":"integer","example":65536,"description":"Maximum block body size in Bytes"},"max_tx_size":{"type":"integer","example":16384,"description":"Maximum transaction size"},"max_block_header_size":{"type":"integer","example":1100,"description":"Maximum block header size"},"key_deposit":{"type":"string","example":"2000000","description":"The amount of a key registration deposit in Lovelaces"},"pool_deposit":{"type":"string","example":"500000000","description":"The amount of a pool registration deposit in Lovelaces"},"e_max":{"type":"integer","example":18,"description":"Epoch bound on pool retirement"},"n_opt":{"type":"integer","example":150,"description":"Desired number of pools"},"a0":{"type":"number","example":0.3,"description":"Pool pledge influence"},"rho":{"type":"number","example":0.003,"description":"Monetary expansion"},"tau":{"type":"number","example":0.2,"description":"Treasury expansion"},"decentralisation_param":{"type":"number","example":0.5,"description":"Percentage of blocks produced by federated nodes"},"extra_entropy":{"type":"string","nullable":true,"example":null,"description":"Seed for extra entropy"},"protocol_major_ver":{"type":"integer","example":2,"description":"Accepted protocol major version"},"protocol_minor_ver":{"type":"integer","example":0,"description":"Accepted protocol minor version"},"min_utxo":{"type":"string","example":"1000000","description":"Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras","deprecated":true},"min_pool_cost":{"type":"string","example":"340000000","description":"Minimum stake cost forced on the pool"},"nonce":{"type":"string","example":"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81","description":"Epoch number only used once"},"cost_models":{"additionalProperties":true,"type":"object","nullable":true,"example":{"PlutusV1":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0},"PlutusV2":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0}},"description":"Cost models parameters for Plutus Core scripts"},"price_mem":{"type":"number","nullable":true,"example":0.0577,"description":"The per word cost of script memory usage"},"price_step":{"type":"number","nullable":true,"example":0.0000721,"description":"The cost of script execution step usage"},"max_tx_ex_mem":{"type":"string","nullable":true,"example":"10000000","description":"The maximum number of execution memory allowed to be used in a single transaction"},"max_tx_ex_steps":{"type":"string","nullable":true,"example":"10000000000","description":"The maximum number of execution steps allowed to be used in a single transaction"},"max_block_ex_mem":{"type":"string","nullable":true,"example":"50000000","description":"The maximum number of execution memory allowed to be used in a single block"},"max_block_ex_steps":{"type":"string","nullable":true,"example":"40000000000","description":"The maximum number of execution steps allowed to be used in a single block"},"max_val_size":{"type":"string","nullable":true,"example":"5000","description":"The maximum Val size"},"collateral_percent":{"type":"integer","nullable":true,"example":150,"description":"The percentage of the transactions fee which must be provided as collateral when including non-native scripts"},"max_collateral_inputs":{"type":"integer","nullable":true,"example":3,"description":"The maximum number of collateral inputs allowed in a transaction"},"coins_per_utxo_size":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"coins_per_utxo_word":{"type":"string","nullable":true,"example":"34482","deprecated":true,"description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"pvt_motion_no_confidence":{"type":"number","nullable":true,"description":"Pool Voting threshold for motion of no-confidence."},"pvt_committee_normal":{"nullable":true,"type":"number","description":"Pool Voting threshold for new committee/threshold (normal state)."},"pvt_committee_no_confidence":{"nullable":true,"type":"number","description":"Pool Voting threshold for new committee/threshold (state of no-confidence)."},"pvt_hard_fork_initiation":{"nullable":true,"type":"number","description":"Pool Voting threshold for hard-fork initiation."},"dvt_motion_no_confidence":{"nullable":true,"type":"number","description":"DRep Vote threshold for motion of no-confidence."},"dvt_committee_normal":{"nullable":true,"type":"number","description":"DRep Vote threshold for new committee/threshold (normal state)."},"dvt_committee_no_confidence":{"nullable":true,"type":"number","description":"DRep Vote threshold for new committee/threshold (state of no-confidence)."},"dvt_update_to_constitution":{"nullable":true,"type":"number","description":"DRep Vote threshold for update to the Constitution."},"dvt_hard_fork_initiation":{"nullable":true,"type":"number","description":"DRep Vote threshold for hard-fork initiation."},"dvt_p_p_network_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, network group."},"dvt_p_p_economic_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, economic group."},"dvt_p_p_technical_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, technical group."},"dvt_p_p_gov_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, governance group."},"dvt_treasury_withdrawal":{"nullable":true,"type":"number","description":"DRep Vote threshold for treasury withdrawal."},"committee_min_size":{"type":"string","nullable":true,"description":"Minimal constitutional committee size."},"committee_max_term_length":{"type":"string","nullable":true,"description":"Constitutional committee term limits."},"gov_action_lifetime":{"type":"string","nullable":true,"description":"Governance action expiration."},"gov_action_deposit":{"type":"string","nullable":true,"description":"Governance action deposit."},"drep_deposit":{"type":"string","nullable":true,"description":"DRep deposit amount."},"drep_activity":{"type":"string","nullable":true,"description":"DRep activity period."},"pvtpp_security_group":{"type":"number","nullable":true},"min_fee_ref_script_cost_per_byte":{"type":"number","nullable":true}},"required":["epoch","min_fee_a","min_fee_b","max_block_size","max_tx_size","max_block_header_size","key_deposit","pool_deposit","e_max","n_opt","a0","rho","tau","decentralisation_param","extra_entropy","protocol_major_ver","protocol_minor_ver","min_utxo","min_pool_cost","nonce","cost_models","price_mem","price_step","max_tx_ex_mem","max_tx_ex_steps","max_block_ex_mem","max_block_ex_steps","max_val_size","collateral_percent","max_collateral_inputs","coins_per_utxo_size","coins_per_utxo_word","pvt_motion_no_confidence","pvt_committee_normal","pvt_committee_no_confidence","pvt_hard_fork_initiation","dvt_motion_no_confidence","dvt_committee_normal","dvt_committee_no_confidence","dvt_update_to_constitution","dvt_hard_fork_initiation","dvt_p_p_network_group","dvt_p_p_economic_group","dvt_p_p_technical_group","dvt_p_p_gov_group","dvt_treasury_withdrawal","committee_min_size","committee_max_term_length","gov_action_lifetime","gov_action_deposit","drep_deposit","drep_activity","pvtpp_security_group","min_fee_ref_script_cost_per_byte"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/epochs/{number}":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/next":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/previous":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"start_time":{"type":"integer","example":1603403091,"description":"Unix time of the start of the epoch"},"end_time":{"type":"integer","example":1603835086,"description":"Unix time of the end of the epoch"},"first_block_time":{"type":"integer","example":1603403092,"description":"Unix time of the first block of the epoch"},"last_block_time":{"type":"integer","example":1603835084,"description":"Unix time of the last block of the epoch"},"block_count":{"type":"integer","example":21298,"description":"Number of blocks within the epoch"},"tx_count":{"type":"integer","example":17856,"description":"Number of transactions within the epoch"},"output":{"type":"string","example":"7849943934049314","description":"Sum of all the transactions within the epoch in Lovelaces"},"fees":{"type":"string","example":"4203312194","description":"Sum of all the fees within the epoch in Lovelaces"},"active_stake":{"type":"string","nullable":true,"example":"784953934049314","description":"Sum of all the active stakes within the epoch in Lovelaces"}},"required":["epoch","start_time","end_time","first_block_time","last_block_time","block_count","tx_count","output","fees","active_stake"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/stakes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"stake_address":{"type":"string","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk","description":"Stake address"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 prefix of the pool delegated to"},"amount":{"type":"string","example":"4440295078","description":"Amount of active delegated stake in Lovelaces"}},"required":["stake_address","pool_id","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/stakes/{pool_id}":{"response":{"200":{"type":"array","items":{"properties":{"stake_address":{"type":"string","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk","description":"Stake address"},"amount":{"type":"string","example":"4440295078","description":"Amount of active delegated stake in Lovelaces"}},"required":["stake_address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1}}},"params":{"type":"object","properties":{"number":{"type":"integer"},"pool_id":{"type":"string"}}}},"/epochs/{number}/blocks":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the block"},"example":["d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e","38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878","f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/epochs/{number}/blocks/{pool_id}":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the block"},"example":["d0fa315687e99ccdc96b14cc2ea74a767405d64427b648c470731a9b69e4606e","38bc6efb92a830a0ed22a64f979d120d26483fd3c811f6622a8c62175f530878","f3258fcd8b975c061b4fcdcfcbb438807134d6961ec278c200151274893b6b7d"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"number":{"type":"integer"},"pool_id":{"type":"string"}}}},"/epochs/{number}/parameters":{"response":{"200":{"type":"object","properties":{"epoch":{"type":"integer","example":225,"description":"Epoch number"},"min_fee_a":{"type":"integer","example":44,"description":"The linear factor for the minimum fee calculation for given epoch"},"min_fee_b":{"type":"integer","example":155381,"description":"The constant factor for the minimum fee calculation"},"max_block_size":{"type":"integer","example":65536,"description":"Maximum block body size in Bytes"},"max_tx_size":{"type":"integer","example":16384,"description":"Maximum transaction size"},"max_block_header_size":{"type":"integer","example":1100,"description":"Maximum block header size"},"key_deposit":{"type":"string","example":"2000000","description":"The amount of a key registration deposit in Lovelaces"},"pool_deposit":{"type":"string","example":"500000000","description":"The amount of a pool registration deposit in Lovelaces"},"e_max":{"type":"integer","example":18,"description":"Epoch bound on pool retirement"},"n_opt":{"type":"integer","example":150,"description":"Desired number of pools"},"a0":{"type":"number","example":0.3,"description":"Pool pledge influence"},"rho":{"type":"number","example":0.003,"description":"Monetary expansion"},"tau":{"type":"number","example":0.2,"description":"Treasury expansion"},"decentralisation_param":{"type":"number","example":0.5,"description":"Percentage of blocks produced by federated nodes"},"extra_entropy":{"type":"string","nullable":true,"example":null,"description":"Seed for extra entropy"},"protocol_major_ver":{"type":"integer","example":2,"description":"Accepted protocol major version"},"protocol_minor_ver":{"type":"integer","example":0,"description":"Accepted protocol minor version"},"min_utxo":{"type":"string","example":"1000000","description":"Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras","deprecated":true},"min_pool_cost":{"type":"string","example":"340000000","description":"Minimum stake cost forced on the pool"},"nonce":{"type":"string","example":"1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81","description":"Epoch number only used once"},"cost_models":{"additionalProperties":true,"type":"object","nullable":true,"example":{"PlutusV1":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0},"PlutusV2":{"addInteger-cpu-arguments-intercept":197209,"addInteger-cpu-arguments-slope":0}},"description":"Cost models parameters for Plutus Core scripts"},"price_mem":{"type":"number","nullable":true,"example":0.0577,"description":"The per word cost of script memory usage"},"price_step":{"type":"number","nullable":true,"example":0.0000721,"description":"The cost of script execution step usage"},"max_tx_ex_mem":{"type":"string","nullable":true,"example":"10000000","description":"The maximum number of execution memory allowed to be used in a single transaction"},"max_tx_ex_steps":{"type":"string","nullable":true,"example":"10000000000","description":"The maximum number of execution steps allowed to be used in a single transaction"},"max_block_ex_mem":{"type":"string","nullable":true,"example":"50000000","description":"The maximum number of execution memory allowed to be used in a single block"},"max_block_ex_steps":{"type":"string","nullable":true,"example":"40000000000","description":"The maximum number of execution steps allowed to be used in a single block"},"max_val_size":{"type":"string","nullable":true,"example":"5000","description":"The maximum Val size"},"collateral_percent":{"type":"integer","nullable":true,"example":150,"description":"The percentage of the transactions fee which must be provided as collateral when including non-native scripts"},"max_collateral_inputs":{"type":"integer","nullable":true,"example":3,"description":"The maximum number of collateral inputs allowed in a transaction"},"coins_per_utxo_size":{"type":"string","nullable":true,"example":"34482","description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"coins_per_utxo_word":{"type":"string","nullable":true,"example":"34482","deprecated":true,"description":"Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later."},"pvt_motion_no_confidence":{"type":"number","nullable":true,"description":"Pool Voting threshold for motion of no-confidence."},"pvt_committee_normal":{"nullable":true,"type":"number","description":"Pool Voting threshold for new committee/threshold (normal state)."},"pvt_committee_no_confidence":{"nullable":true,"type":"number","description":"Pool Voting threshold for new committee/threshold (state of no-confidence)."},"pvt_hard_fork_initiation":{"nullable":true,"type":"number","description":"Pool Voting threshold for hard-fork initiation."},"dvt_motion_no_confidence":{"nullable":true,"type":"number","description":"DRep Vote threshold for motion of no-confidence."},"dvt_committee_normal":{"nullable":true,"type":"number","description":"DRep Vote threshold for new committee/threshold (normal state)."},"dvt_committee_no_confidence":{"nullable":true,"type":"number","description":"DRep Vote threshold for new committee/threshold (state of no-confidence)."},"dvt_update_to_constitution":{"nullable":true,"type":"number","description":"DRep Vote threshold for update to the Constitution."},"dvt_hard_fork_initiation":{"nullable":true,"type":"number","description":"DRep Vote threshold for hard-fork initiation."},"dvt_p_p_network_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, network group."},"dvt_p_p_economic_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, economic group."},"dvt_p_p_technical_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, technical group."},"dvt_p_p_gov_group":{"nullable":true,"type":"number","description":"DRep Vote threshold for protocol parameter changes, governance group."},"dvt_treasury_withdrawal":{"nullable":true,"type":"number","description":"DRep Vote threshold for treasury withdrawal."},"committee_min_size":{"type":"string","nullable":true,"description":"Minimal constitutional committee size."},"committee_max_term_length":{"type":"string","nullable":true,"description":"Constitutional committee term limits."},"gov_action_lifetime":{"type":"string","nullable":true,"description":"Governance action expiration."},"gov_action_deposit":{"type":"string","nullable":true,"description":"Governance action deposit."},"drep_deposit":{"type":"string","nullable":true,"description":"DRep deposit amount."},"drep_activity":{"type":"string","nullable":true,"description":"DRep activity period."},"pvtpp_security_group":{"type":"number","nullable":true},"min_fee_ref_script_cost_per_byte":{"type":"number","nullable":true}},"required":["epoch","min_fee_a","min_fee_b","max_block_size","max_tx_size","max_block_header_size","key_deposit","pool_deposit","e_max","n_opt","a0","rho","tau","decentralisation_param","extra_entropy","protocol_major_ver","protocol_minor_ver","min_utxo","min_pool_cost","nonce","cost_models","price_mem","price_step","max_tx_ex_mem","max_tx_ex_steps","max_block_ex_mem","max_block_ex_steps","max_val_size","collateral_percent","max_collateral_inputs","coins_per_utxo_size","coins_per_utxo_word","pvt_motion_no_confidence","pvt_committee_normal","pvt_committee_no_confidence","pvt_hard_fork_initiation","dvt_motion_no_confidence","dvt_committee_normal","dvt_committee_no_confidence","dvt_update_to_constitution","dvt_hard_fork_initiation","dvt_p_p_network_group","dvt_p_p_economic_group","dvt_p_p_technical_group","dvt_p_p_gov_group","dvt_treasury_withdrawal","committee_min_size","committee_max_term_length","gov_action_lifetime","gov_action_deposit","drep_deposit","drep_activity","pvtpp_security_group","min_fee_ref_script_cost_per_byte"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"number":{"type":"integer"}}}},"/txs/{hash}":{"response":{"200":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"block":{"type":"string","example":"356b7d7dbb696ccd12775c016941057a9dc70898d87a63fc752271bb46856940","description":"Block hash"},"block_height":{"type":"integer","example":123456,"description":"Block number"},"block_time":{"type":"integer","example":1635505891,"description":"Block creation time in UNIX time"},"slot":{"type":"integer","example":42000000,"description":"Slot number"},"index":{"type":"integer","example":1,"description":"Transaction index within the block"},"output_amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"fees":{"type":"string","example":"182485","description":"Fees of the transaction in Lovelaces"},"deposit":{"type":"string","example":"0","description":"Deposit within the transaction in Lovelaces"},"size":{"type":"integer","example":433,"description":"Size of the transaction in Bytes"},"invalid_before":{"type":"string","nullable":true,"example":null,"description":"Left (included) endpoint of the timelock validity intervals"},"invalid_hereafter":{"type":"string","nullable":true,"example":"13885913","description":"Right (excluded) endpoint of the timelock validity intervals"},"utxo_count":{"type":"integer","example":4,"description":"Count of UTXOs within the transaction"},"withdrawal_count":{"type":"integer","example":0,"description":"Count of the withdrawals within the transaction"},"mir_cert_count":{"type":"integer","example":0,"description":"Count of the MIR certificates within the transaction"},"delegation_count":{"type":"integer","example":0,"description":"Count of the delegations within the transaction"},"stake_cert_count":{"type":"integer","example":0,"description":"Count of the stake keys (de)registration within the transaction"},"pool_update_count":{"type":"integer","example":0,"description":"Count of the stake pool registration and update certificates within the transaction"},"pool_retire_count":{"type":"integer","example":0,"description":"Count of the stake pool retirement certificates within the transaction"},"asset_mint_or_burn_count":{"type":"integer","example":0,"description":"Count of asset mints and burns within the transaction"},"redeemer_count":{"type":"integer","example":0,"description":"Count of redeemers within the transaction"},"valid_contract":{"type":"boolean","example":true,"description":"True if contract script passed validation"}},"required":["hash","block","block_height","block_time","slot","index","output_amount","fees","deposit","size","invalid_before","invalid_hereafter","utxo_count","withdrawal_count","mir_cert_count","delegation_count","stake_cert_count","pool_update_count","pool_retire_count","asset_mint_or_burn_count","redeemer_count","valid_contract"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/utxos":{"response":{"200":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"inputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Input address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the UTXO transaction"},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the input","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"},"collateral":{"type":"boolean","example":false,"description":"Whether the input is a collateral consumed on script validation failure"},"reference":{"type":"boolean","example":false,"description":"Whether the input is a reference transaction input"}},"required":["address","amount","tx_hash","output_index","data_hash","inline_datum","reference_script_hash","collateral"]}},"outputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Output address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"collateral":{"type":"boolean","example":false,"description":"Whether the output is a collateral output"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","amount","output_index","data_hash","inline_datum","collateral","reference_script_hash"]}}},"required":["hash","inputs","outputs"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/stakes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9t3a0tcwune5xrnfjg4q7cpvjlgx9lcv0cuqf5mhfjwrvcwrulda","description":"Delegation stake address"},"registration":{"type":"boolean","example":true,"description":"Registration boolean, false if deregistration"}},"required":["cert_index","address","registration"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/delegations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction","deprecated":true},"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 delegation stake address"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 ID of delegated stake pool"},"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the delegation becomes active"}},"required":["index","cert_index","address","pool_id","active_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/withdrawals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 withdrawal address"},"amount":{"type":"string","example":"431833601","description":"Withdrawal amount in Lovelaces"}},"required":["address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/mirs":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pot":{"type":"string","enum":["reserve","treasury"],"example":"reserve","description":"Source of MIR funds"},"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"address":{"type":"string","example":"stake1u9r76ypf5fskppa0cmttas05cgcswrttn6jrq4yd7jpdnvc7gt0yc","description":"Bech32 stake address"},"amount":{"type":"string","example":"431833601","description":"MIR amount in Lovelaces"}},"required":["pot","cert_index","address","amount"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/pool_updates":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 encoded pool ID"},"vrf_key":{"type":"string","example":"0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233","description":"VRF key hash"},"pledge":{"type":"string","example":"5000000000","description":"Stake pool certificate pledge in Lovelaces"},"margin_cost":{"type":"number","example":0.05,"description":"Margin tax cost of the stake pool"},"fixed_cost":{"type":"string","example":"340000000","description":"Fixed tax cost of the stake pool in Lovelaces"},"reward_account":{"type":"string","example":"stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f","description":"Bech32 reward account of the stake pool"},"owners":{"type":"array","items":{"type":"string","description":"Bech32 accounts of the pool owners"},"example":["stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v"]},"metadata":{"type":"object","nullable":true,"properties":{"url":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"URL to the stake pool metadata"},"hash":{"type":"string","nullable":true,"example":"47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c","description":"Hash of the metadata file"},"ticker":{"type":"string","nullable":true,"example":"NUTS","description":"Ticker of the stake pool"},"name":{"type":"string","nullable":true,"example":"Stake Nuts","description":"Name of the stake pool"},"description":{"type":"string","nullable":true,"example":"The best pool ever","description":"Description of the stake pool"},"homepage":{"type":"string","nullable":true,"example":"https://stakentus.com/","description":"Home page of the stake pool"}},"required":["url","hash","ticker","name","description","homepage"]},"relays":{"type":"array","items":{"type":"object","properties":{"ipv4":{"type":"string","nullable":true,"example":"4.4.4.4","description":"IPv4 address of the relay"},"ipv6":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"IPv6 address of the relay"},"dns":{"type":"string","nullable":true,"example":"relay1.stakenuts.com","description":"DNS name of the relay"},"dns_srv":{"type":"string","nullable":true,"example":"_relays._tcp.relays.stakenuts.com","description":"DNS SRV entry of the relay"},"port":{"type":"integer","example":3001,"description":"Network port of the relay"}},"required":["ipv4","ipv6","dns","dns_srv","port"]}},"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the update becomes active"}},"required":["cert_index","pool_id","vrf_key","pledge","margin_cost","fixed_cost","reward_account","owners","metadata","relays","active_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/pool_retires":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"cert_index":{"type":"integer","example":0,"description":"Index of the certificate within the transaction"},"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 stake pool ID"},"retiring_epoch":{"type":"integer","example":216,"description":"Epoch in which the pool becomes retired"}},"required":["cert_index","pool_id","retiring_epoch"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/metadata":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"json_metadata":{}},"required":["label","json_metadata"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/metadata/cbor":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"Metadata label"},"cbor_metadata":{"deprecated":true,"type":"string","nullable":true,"description":"Content of the CBOR metadata"},"metadata":{"type":"string","nullable":true,"description":"Content of the CBOR metadata in hex"}},"required":["label","cbor_metadata","metadata"]},"example":[{"label":"1968","cbor_metadata":"\\xa100a16b436f6d62696e6174696f6e8601010101010c","metadata":"a100a16b436f6d62696e6174696f6e8601010101010c"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/redeemers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_index":{"type":"integer","example":0,"description":"Index of the redeemer within the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"script_hash":{"type":"string","example":"ec26b89af41bef0f7585353831cb5da42b5b37185e0c8a526143b824","description":"Script hash"},"redeemer_data_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Redeemer data hash"},"datum_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","deprecated":true,"description":"Datum hash"},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"},"fee":{"type":"string","example":"172033","description":"The fee consumed to run the script"}},"required":["tx_index","purpose","unit_mem","unit_steps","script_hash","redeemer_data_hash","datum_hash","fee"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/required_signers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"witness_hash":{"type":"string","example":"d52e11f3e48436dd42dbec6d88c239732e503b8b7a32af58e5f87625","description":"Hash of the witness"}},"required":["witness_hash"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/txs/{hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","description":"CBOR serialized transaction"}},"required":["cbor"],"example":{"cbor":"84a40081825820203e5b61e0949ffc8fe594727cf7ed73c7396cc2bd212af9a680c9423b5880eb00018282583900f0c60254ecb0addd4c7e40c28fd05b65014ab4c8ecece06c7dcee5a0724bf93336a8225e7ef152b41aea955173be91af19250edea1ddafab1a000f42408258390014beadb876d0a2a593fe2f1b539389e00731290910170e9a1be78e847d2ccdc7af469706878018739bcfde9ae23f009c4ae38aee0a4b4f3a1b0000000253fa0f93021a0002922d031a0303c827a100818258207d3ae39f9a1c916ac7c13f10c7d67c70b870c286a1af71485455c5022a3f391d5840e2f481acd1601a3f39fa976317bba685ddd774621a92611edaaa3df9f48a3b13d8b25ecb2f28b031c1602512418efed3033e463a0dcd22a856c808033cc9e00ff5f6"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/tx/submit":{"response":{"200":{"type":"string","format":"hex","minLength":64,"maxLength":64,"example":"d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908"},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/accounts/{stake_address}":{"response":{"200":{"type":"object","properties":{"stake_address":{"type":"string","example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Bech32 stake address"},"active":{"type":"boolean","example":true,"description":"Registration state of an account"},"active_epoch":{"type":"integer","nullable":true,"example":412,"description":"Epoch of the most recent action - registration or deregistration"},"controlled_amount":{"type":"string","example":"619154618165","description":"Balance of the account in Lovelaces"},"rewards_sum":{"type":"string","example":"319154618165","description":"Sum of all rewards for the account in the Lovelaces"},"withdrawals_sum":{"type":"string","example":"12125369253","description":"Sum of all the withdrawals for the account in Lovelaces"},"reserves_sum":{"type":"string","example":"319154618165","description":"Sum of all funds from reserves for the account in the Lovelaces"},"treasury_sum":{"type":"string","example":"12000000","description":"Sum of all funds from treasury for the account in the Lovelaces"},"withdrawable_amount":{"type":"string","example":"319154618165","description":"Sum of available rewards that haven't been withdrawn yet for the account in the Lovelaces"},"pool_id":{"type":"string","nullable":true,"example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID to which this account is delegated"},"drep_id":{"type":"string","nullable":true,"example":"drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc","description":"Bech32 drep ID to which this account is delegated"}},"required":["stake_address","active","active_epoch","controlled_amount","rewards_sum","withdrawals_sum","reserves_sum","treasury_sum","withdrawable_amount","pool_id","drep_id"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/rewards":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","description":"Epoch of the associated reward"},"amount":{"type":"string","description":"Rewards for given epoch in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 pool ID being delegated to"},"type":{"type":"string","enum":["leader","member","pool_deposit_refund"],"description":"Type of the reward"}},"required":["epoch","amount","pool_id","type"]},"example":[{"epoch":215,"amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":216,"amount":"3586329","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":217,"amount":"1","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":217,"amount":"1337","pool_id":"pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs","type":"leader"},{"epoch":218,"amount":"1395265","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","type":"member"},{"epoch":218,"amount":"500000000","pool_id":"pool1cytwr0n7eas6du2h2xshl8ypa1yqr18f0erlhhjcuczysiunjcs","type":"pool_deposit_refund"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the stake was active"},"amount":{"type":"string","description":"Stake amount in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 ID of pool being delegated to"}},"required":["active_epoch","amount","pool_id"]},"example":[{"active_epoch":210,"amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"},{"active_epoch":211,"amount":"22695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/delegations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"active_epoch":{"type":"integer","example":210,"description":"Epoch in which the delegation becomes active"},"tx_hash":{"type":"string","description":"Hash of the transaction containing the delegation"},"amount":{"type":"string","description":"Rewards for given epoch in Lovelaces"},"pool_id":{"type":"string","description":"Bech32 ID of pool being delegated to"}},"required":["active_epoch","tx_hash","amount","pool_id"]},"example":[{"active_epoch":210,"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","amount":"12695385","pool_id":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy"},{"active_epoch":242,"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","amount":"12691385","pool_id":"pool1kchver88u3kygsak8wgll7htr8uxn5v35lfrsyy842nkscrzyvj"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/registrations":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the (de)registration certificate"},"action":{"type":"string","enum":["registered","deregistered"],"description":"Action in the certificate"}},"required":["tx_hash","action"]},"example":[{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","action":"registered"},{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","action":"deregistered"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/withdrawals":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the withdrawal"},"amount":{"type":"string","description":"Withdrawal amount in Lovelaces"}},"required":["tx_hash","amount"]},"example":[{"tx_hash":"48a9625c841eea0dd2bb6cf551eabe6523b7290c9ce34be74eedef2dd8f7ecc5","amount":"454541212442"},{"tx_hash":"4230b0cbccf6f449f0847d8ad1d634a7a49df60d8c142bb8cc2dbc8ca03d9e34","amount":"97846969"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/mirs":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the MIR"},"amount":{"type":"string","description":"MIR amount in Lovelaces"}},"required":["tx_hash","amount"]},"example":[{"tx_hash":"69705bba1d687a816ff5a04ec0c358a1f1ef075ab7f9c6cc2763e792581cec6d","amount":"2193707473"},{"tx_hash":"baaa77b63d4d7d2bb3ab02c9b85978c2092c336dede7f59e31ad65452d510c13","amount":"14520198574"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address associated with the stake key"}},"required":["address"]},"example":[{"address":"addr1qx2kd28nq8ac5prwg32hhvudlwggpgfp8utlyqxu6wqgz62f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sy0f4qd"},{"address":"addr1qys3czp8s9thc6u2fqed9yq3h24nyw28uk0m6mkgn9dkckjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9suth4w4"},{"address":"addr1q8j55h253zcvl326sk5qdt2n8z7eghzspe0ekxgncr796s2f79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sjmd35m"},{"address":"addr1q8f7gxrprank3drhx8k5grlux7ene0nlwun8y9thu8mc3yjf79qsdmm5dsknt9ecr5w468r9ey0fxwkdrwh08ly3tu9sls6vnt"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses/assets":{"response":{"200":{"type":"array","items":{"type":"object","description":"The sum of all assets of all addresses associated with a given account","properties":{"unit":{"type":"string","format":"Concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"d5e6bf0500378d4f0da4e8dde6becec7621cd8cbf5cbb9b87013d4cc537061636542756433343132","quantity":"1"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"125"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/accounts/{stake_address}/addresses/total":{"response":{"200":{"type":"object","properties":{"stake_address":{"type":"string","description":"Bech32 encoded stake address","example":"stake1u9l5q5jwgelgagzyt6nuaasefgmn8pd25c8e9qpeprq0tdcp0e3uk"},"received_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset for all addresses associated with the account","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"sent_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset for all addresses associated with the account","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_count":{"type":"integer","example":12,"description":"Count of all transactions for all addresses associated with the account"}},"required":["stake_address","received_sum","sent_sum","tx_count"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"stake_address":{"type":"string"}}}},"/mempool":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"}},"required":["tx_hash"]},"example":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/mempool/{hash}":{"response":{"200":{"type":"object","properties":{"tx":{"type":"object","properties":{"hash":{"type":"string","example":"1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477","description":"Transaction hash"},"output_amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"fees":{"type":"string","example":"182485","description":"Fees of the transaction in Lovelaces"},"deposit":{"type":"string","example":"0","description":"Deposit within the transaction in Lovelaces"},"size":{"type":"integer","example":433,"description":"Size of the transaction in Bytes"},"invalid_before":{"type":"string","nullable":true,"example":null,"description":"Left (included) endpoint of the timelock validity intervals"},"invalid_hereafter":{"type":"string","nullable":true,"example":"13885913","description":"Right (excluded) endpoint of the timelock validity intervals"},"utxo_count":{"type":"integer","example":4,"description":"Count of UTXOs within the transaction"},"withdrawal_count":{"type":"integer","example":0,"description":"Count of the withdrawals within the transaction"},"mir_cert_count":{"type":"integer","example":0,"description":"Count of the MIR certificates within the transaction"},"delegation_count":{"type":"integer","example":0,"description":"Count of the delegations within the transaction"},"stake_cert_count":{"type":"integer","example":0,"description":"Count of the stake keys (de)registration within the transaction"},"pool_update_count":{"type":"integer","example":0,"description":"Count of the stake pool registration and update certificates within the transaction"},"pool_retire_count":{"type":"integer","example":0,"description":"Count of the stake pool retirement certificates within the transaction"},"asset_mint_or_burn_count":{"type":"integer","example":0,"description":"Count of asset mints and burns within the transaction"},"redeemer_count":{"type":"integer","example":0,"description":"Count of redeemers within the transaction"},"valid_contract":{"type":"boolean","example":true,"description":"True if contract script passed validation"}},"required":["hash","output_amount","fees","deposit","size","invalid_before","invalid_hereafter","utxo_count","withdrawal_count","mir_cert_count","delegation_count","stake_cert_count","pool_update_count","pool_retire_count","asset_mint_or_burn_count","redeemer_count","valid_contract"]},"inputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Input address"},"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the UTXO transaction"},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"collateral":{"type":"boolean","example":false,"description":"Whether the input is a collateral consumed on script validation failure"},"reference":{"type":"boolean","example":false,"description":"Whether the input is a reference transaction input"}},"required":["tx_hash","output_index","collateral"]}},"outputs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","example":"addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv","description":"Output address"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"output_index":{"type":"integer","example":0,"description":"UTXO index in the transaction"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum","example":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"collateral":{"type":"boolean","example":false,"description":"Whether the output is a collateral output"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","amount","output_index","data_hash","inline_datum","collateral","reference_script_hash"]}},"redeemers":{"type":"array","items":{"type":"object","properties":{"tx_index":{"type":"integer","example":0,"description":"Index of the redeemer within the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"}},"required":["tx_index","purpose","unit_mem","unit_steps"]}}},"required":["tx","inputs","outputs"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/mempool/addresses/{address}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"}},"required":["tx_hash"]},"example":[{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/metadata/txs/labels":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","description":"Metadata label"},"cip10":{"type":"string","nullable":true,"description":"CIP10 defined description"},"count":{"type":"string","description":"The count of metadata entries with a specific label"}},"required":["label","cip10","count"]},"example":[{"label":"1990","cip10":null,"count":"1"},{"label":"1967","cip10":"nut.link metadata oracles registry","count":"3"},{"label":"1968","cip10":"nut.link metadata oracles data points","count":"16321"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/metadata/txs/labels/{label}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction hash that contains the specific metadata"},"json_metadata":{"anyOf":[{"type":"string"},{"type":"object","additionalProperties":true},{"type":"array","items":{}},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}],"description":"Content of the JSON metadata"}},"required":["tx_hash","json_metadata"]},"example":[{"tx_hash":"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8","json_metadata":{"ADAUSD":[{"value":"0.10409800535729975","source":"ergoOracles"}]}},{"tx_hash":"e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c","json_metadata":{"ADAUSD":[{"value":"0.15409850555139935","source":"ergoOracles"}]}},{"tx_hash":"4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be","json_metadata":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"label":{"type":"string"}}}},"/metadata/txs/labels/{label}/cbor":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction hash that contains the specific metadata"},"cbor_metadata":{"deprecated":true,"type":"string","nullable":true,"description":"Content of the CBOR metadata"},"metadata":{"type":"string","nullable":true,"description":"Content of the CBOR metadata in hex"}},"required":["tx_hash","cbor_metadata","metadata"]},"example":[{"tx_hash":"257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8","cbor_metadata":null,"metadata":null},{"tx_hash":"e865f2cc01ca7381cf98dcdc4de07a5e8674b8ea16e6a18e3ed60c186fde2b9c","cbor_metadata":null,"metadata":null},{"tx_hash":"4237501da3cfdd53ade91e8911e764bd0699d88fd43b12f44a1f459b89bc91be","cbor_metadata":"\\xa100a16b436f6d62696e6174696f6e8601010101010c","metadata":"a100a16b436f6d62696e6174696f6e8601010101010c"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"label":{"type":"string"}}}},"/addresses/{address}":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"stake_address":{"type":"string","nullable":true,"example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Stake address that controls the key"},"type":{"type":"string","enum":["byron","shelley"],"example":"shelley","description":"Address era"},"script":{"type":"boolean","example":false,"description":"True if this is a script address"}},"required":["address","amount","stake_address","type","script"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/extended":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"},"decimals":{"type":"integer","nullable":true,"description":"Number of decimal places of the asset unit. Primary data source is CIP68 reference NFT with a fallback to off-chain metadata."},"has_nft_onchain_metadata":{"type":"boolean","description":"True if the latest minting transaction includes metadata (best-effort)"}},"required":["unit","quantity","decimals","has_nft_onchain_metadata"]},"example":[{"unit":"lovelace","quantity":"42000000","decimals":6,"has_nft_onchain_metadata":false},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12","decimals":null,"has_nft_onchain_metadata":true}]},"stake_address":{"type":"string","nullable":true,"example":"stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7","description":"Stake address that controls the key"},"type":{"type":"string","enum":["byron","shelley"],"example":"shelley","description":"Address era"},"script":{"type":"boolean","example":false,"description":"True if this is a script address"}},"required":["address","amount","stake_address","type","script"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/total":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded address","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"received_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"sent_sum":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]},"example":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}]},"tx_count":{"type":"integer","example":12,"description":"Count of all transactions on the address"}},"required":["address","received_sum","sent_sum","tx_count"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/utxos":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses - useful when querying by payment_cred","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"tx_hash":{"type":"string","description":"Transaction hash of the UTXO"},"tx_index":{"type":"integer","deprecated":true,"description":"UTXO index in the transaction"},"output_index":{"type":"integer","description":"UTXO index in the transaction"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]}},"block":{"type":"string","description":"Block hash of the UTXO"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","tx_hash","tx_index","output_index","amount","block","data_hash","inline_datum","reference_script_hash"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58","output_index":0,"amount":[{"unit":"lovelace","quantity":"42000000"}],"block":"7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6","data_hash":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710","inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49","output_index":0,"amount":[{"unit":"lovelace","quantity":"729235000"}],"block":"953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7","data_hash":null,"inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2","output_index":1,"amount":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}],"block":"5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7","data_hash":null,"inline_datum":null,"reference_script_hash":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/utxos/{asset}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded addresses - useful when querying by payment_cred","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"tx_hash":{"type":"string","description":"Transaction hash of the UTXO"},"tx_index":{"type":"integer","deprecated":true,"description":"UTXO index in the transaction"},"output_index":{"type":"integer","description":"UTXO index in the transaction"},"amount":{"type":"array","items":{"type":"object","description":"The sum of all the UTXO per asset","properties":{"unit":{"type":"string","format":"Lovelace or concatenation of asset policy_id and hex-encoded asset_name","description":"The unit of the value"},"quantity":{"type":"string","description":"The quantity of the unit"}},"required":["unit","quantity"]}},"block":{"type":"string","description":"Block hash of the UTXO"},"data_hash":{"type":"string","nullable":true,"description":"The hash of the transaction output datum"},"inline_datum":{"type":"string","nullable":true,"description":"CBOR encoded inline datum","example":"19a6aa"},"reference_script_hash":{"type":"string","nullable":true,"description":"The hash of the reference script of the output","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"}},"required":["address","tx_hash","tx_index","output_index","amount","block","data_hash","inline_datum","reference_script_hash"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"39a7a284c2a0948189dc45dec670211cd4d72f7b66c5726c08d9b3df11e44d58","output_index":0,"amount":[{"unit":"lovelace","quantity":"42000000"}],"block":"7eb8e27d18686c7db9a18f8bbcfe34e3fed6e047afaa2d969904d15e934847e6","data_hash":"9e478573ab81ea7a8e31891ce0648b81229f408d596a3483e6f4f9b92d3cf710","inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"4c4e67bafa15e742c13c592b65c8f74c769cd7d9af04c848099672d1ba391b49","output_index":0,"amount":[{"unit":"lovelace","quantity":"729235000"}],"block":"953f1b80eb7c11a7ffcd67cbd4fde66e824a451aca5a4065725e5174b81685b7","data_hash":null,"inline_datum":null,"reference_script_hash":null},{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","tx_hash":"768c63e27a1c816a83dc7b07e78af673b2400de8849ea7e7b734ae1333d100d2","output_index":1,"amount":[{"unit":"lovelace","quantity":"42000000"},{"unit":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"12"}],"block":"5c571f83fe6c784d3fbc223792627ccf0eea96773100f9aedecf8b1eda4544d7","data_hash":null,"inline_datum":null,"reference_script_hash":null}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"},"asset":{"type":"string"}}}},"/addresses/{address}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/addresses/{address}/transactions":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"block_height":{"type":"integer","description":"Block height"},"block_time":{"type":"integer","description":"Block creation time in UNIX time"}},"required":["tx_hash","tx_index","block_height","block_time"]},"example":[{"tx_hash":"8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","tx_index":6,"block_height":69,"block_time":1635505891},{"tx_hash":"52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","tx_index":9,"block_height":4547,"block_time":1635505987},{"tx_hash":"e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b","tx_index":0,"block_height":564654,"block_time":1834505492}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"},"from":{"type":"string"},"to":{"type":"string"}}},"params":{"type":"object","properties":{"address":{"type":"string"}}}},"/pools":{"response":{"200":{"type":"array","items":{"type":"string","description":"Bech32 encoded pool ID"},"example":["pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","pool1hn7hlwrschqykupwwrtdfkvt2u4uaxvsgxyh6z63703p2knj288","pool1ztjyjfsh432eqetadf82uwuxklh28xc85zcphpwq6mmezavzad2"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/extended":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID."},"active_stake":{"type":"string","example":"4200000000","description":"Active delegated amount"},"live_stake":{"type":"string","example":"6900000000","description":"Currently delegated amount"}},"required":["pool_id","hex","active_stake","live_stake"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","hex":"2f355f79ee007502d116ecb07e36f985b34cebf2d84118f5c6b455a1","active_stake":"1541200000","live_stake":"1541400000"},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","hex":"6b3fda88053dc2cee18a7c2736f032182fcc78a2fe912e869aa4edcd","active_stake":"22200000","live_stake":"48955550"},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","hex":"73318ec975cf1125a6367cbb1c9a406cbcb3e510e49d7c3aab14aa31","active_stake":"9989541215","live_stake":"168445464878"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/retired":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"epoch":{"type":"integer","example":242,"description":"Retirement epoch number"}},"required":["pool_id","epoch"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","epoch":225},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","epoch":215},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","epoch":231}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/retiring":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1z5uqdk7dzdxaae5633fqfcu2eqzy3a3rgtuvy087fdld7yws0xt","description":"Bech32 encoded pool ID"},"epoch":{"type":"integer","example":242,"description":"Retirement epoch number"}},"required":["pool_id","epoch"]},"example":[{"pool_id":"pool19u64770wqp6s95gkajc8udheske5e6ljmpq33awxk326zjaza0q","epoch":225},{"pool_id":"pool1dvla4zq98hpvacv20snndupjrqhuc79zl6gjap565nku6et5zdx","epoch":215},{"pool_id":"pool1wvccajt4eugjtf3k0ja3exjqdj7t8egsujwhcw4tzj4rzsxzw5w","epoch":231}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/pools/{pool_id}":{"response":{"200":{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID."},"vrf_key":{"type":"string","example":"0b5245f9934ec2151116fb8ec00f35fd00e0aa3b075c4ed12cce440f999d8233","description":"VRF key hash"},"blocks_minted":{"type":"integer","example":69,"description":"Total minted blocks"},"blocks_epoch":{"type":"integer","example":4,"description":"Number of blocks minted in the current epoch"},"live_stake":{"type":"string","example":"6900000000"},"live_size":{"type":"number","example":0.42},"live_saturation":{"type":"number","example":0.93},"live_delegators":{"type":"number","example":127},"active_stake":{"type":"string","example":"4200000000"},"active_size":{"type":"number","example":0.43},"declared_pledge":{"type":"string","example":"5000000000","description":"Stake pool certificate pledge"},"live_pledge":{"type":"string","example":"5000000001","description":"Stake pool current pledge"},"margin_cost":{"type":"number","example":0.05,"description":"Margin tax cost of the stake pool"},"fixed_cost":{"type":"string","example":"340000000","description":"Fixed tax cost of the stake pool"},"reward_account":{"type":"string","example":"stake1uxkptsa4lkr55jleztw43t37vgdn88l6ghclfwuxld2eykgpgvg3f","description":"Bech32 reward account of the stake pool"},"owners":{"type":"array","items":{"type":"string","description":"Bech32 accounts of the pool owners"},"example":["stake1u98nnlkvkk23vtvf9273uq7cph5ww6u2yq2389psuqet90sv4xv9v"]},"registration":{"type":"array","items":{"type":"string","description":"Hash of the transaction including registration"},"example":["9f83e5484f543e05b52e99988272a31da373f3aab4c064c76db96643a355d9dc","7ce3b8c433bf401a190d58c8c483d8e3564dfd29ae8633c8b1b3e6c814403e95","3e6e1200ce92977c3fe5996bd4d7d7e192bcb7e231bc762f9f240c76766535b9"]},"retirement":{"type":"array","items":{"type":"string","description":"Hash of the transaction including retirement","example":"252f622976d39e646815db75a77289cf16df4ad2b287dd8e3a889ce14c13d1a8"}}},"required":["pool_id","hex","vrf_key","blocks_minted","blocks_epoch","live_stake","live_size","live_saturation","live_delegators","active_stake","active_size","declared_pledge","live_pledge","margin_cost","fixed_cost","reward_account","owners","registration","retirement"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"epoch":{"type":"integer","example":233,"description":"Epoch number"},"blocks":{"type":"integer","example":22,"description":"Number of blocks created by pool"},"active_stake":{"type":"string","example":"20485965693569","description":"Active (Snapshot of live stake 2 epochs ago) stake in Lovelaces"},"active_size":{"type":"number","example":1.2345,"description":"Pool size (percentage) of overall active stake at that epoch"},"delegators_count":{"type":"integer","example":115,"description":"Number of delegators for epoch"},"rewards":{"type":"string","example":"206936253674159","description":"Total rewards received before distribution to delegators"},"fees":{"type":"string","example":"1290968354","description":"Pool operator rewards"}},"required":["epoch","blocks","active_stake","active_size","delegators_count","rewards","fees"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/metadata":{"response":{"200":{"anyOf":[{"type":"object","properties":{"pool_id":{"type":"string","example":"pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy","description":"Bech32 pool ID"},"hex":{"type":"string","example":"0f292fcaa02b8b2f9b3c8f9fd8e0bb21abedb692a6d5058df3ef2735","description":"Hexadecimal pool ID"},"url":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"URL to the stake pool metadata"},"hash":{"type":"string","nullable":true,"example":"47c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c","description":"Hash of the metadata file"},"ticker":{"type":"string","nullable":true,"example":"NUTS","description":"Ticker of the stake pool"},"name":{"type":"string","nullable":true,"example":"Stake Nuts","description":"Name of the stake pool"},"description":{"type":"string","nullable":true,"example":"The best pool ever","description":"Description of the stake pool"},"homepage":{"type":"string","nullable":true,"example":"https://stakentus.com/","description":"Home page of the stake pool"}},"required":["pool_id","hex","url","hash","ticker","name","description","homepage"]},{"type":"object"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/relays":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"ipv4":{"type":"string","nullable":true,"example":"4.4.4.4","description":"IPv4 address of the relay"},"ipv6":{"type":"string","nullable":true,"example":"https://stakenuts.com/mainnet.json","description":"IPv6 address of the relay"},"dns":{"type":"string","nullable":true,"example":"relay1.stakenuts.com","description":"DNS name of the relay"},"dns_srv":{"type":"string","nullable":true,"example":"_relays._tcp.relays.stakenuts.com","description":"DNS SRV entry of the relay"},"port":{"type":"integer","example":3001,"description":"Network port of the relay"}},"required":["ipv4","ipv6","dns","dns_srv","port"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/delegators":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded stake addresses"},"live_stake":{"type":"string","description":"Currently delegated amount"}},"required":["address","live_stake"]},"example":[{"address":"stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha","live_stake":"1137959159981411"},{"address":"stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u","live_stake":"16958865648"},{"address":"stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck","live_stake":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/blocks":{"response":{"200":{"type":"array","items":{"type":"string","description":"Block hashes"},"example":["d8982ca42cfe76b747cc681d35d671050a9e41e9cfe26573eb214e94fe6ff21d","026436c539e2ce84c7f77ffe669f4e4bbbb3b9c53512e5857dcba8bb0b4e9a8c","bcc8487f419b8c668a18ea2120822a05df6dfe1de1f0fac3feba88cf760f303c","86bf7b4a274e0f8ec9816171667c1b4a0cfc661dc21563f271acea9482b62df7"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/updates":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Transaction ID"},"cert_index":{"type":"integer","description":"Certificate within the transaction"},"action":{"type":"string","enum":["registered","deregistered"],"description":"Action in the certificate"}},"required":["tx_hash","cert_index","action"]},"example":[{"tx_hash":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","cert_index":0,"action":"registered"},{"tx_hash":"9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005","cert_index":0,"action":"deregistered"},{"tx_hash":"e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0","cert_index":1,"action":"registered"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/pools/{pool_id}/votes":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the proposal transaction."},"cert_index":{"type":"integer","description":"Index of the certificate within the proposal transaction."},"vote":{"type":"string","enum":["yes","no","abstain"],"description":"The Vote. Can be one of yes, no, abstain."}},"required":["tx_hash","cert_index","vote"]},"example":[{"tx_hash":"b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5","cert_index":2,"vote":"yes"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"pool_id":{"type":"string"}}}},"/assets":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","format":"Concatenation of the policy_id and hex-encoded asset_name","description":"Asset identifier"},"quantity":{"type":"string","description":"Current asset quantity"}},"required":["asset","quantity"]},"example":[{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"1"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e75d","quantity":"100000"},{"asset":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/assets/{asset}":{"response":{"200":{"type":"object","properties":{"asset":{"type":"string","example":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","description":"Hex-encoded asset full name"},"policy_id":{"type":"string","example":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a7","description":"Policy ID of the asset"},"asset_name":{"type":"string","nullable":true,"example":"6e7574636f696e","description":"Hex-encoded asset name of the asset"},"fingerprint":{"type":"string","example":"asset1pkpwyknlvul7az0xx8czhl60pyel45rpje4z8w","description":"CIP14 based user-facing fingerprint"},"quantity":{"type":"string","example":"12000","description":"Current asset quantity"},"initial_mint_tx_hash":{"type":"string","example":"6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad","description":"ID of the initial minting transaction"},"mint_or_burn_count":{"type":"integer","example":1,"description":"Count of mint and burn transactions"},"onchain_metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"On-chain metadata which SHOULD adhere to the valid standards,\nbased on which we perform the look up and display the asset\n(best effort)\n"},"onchain_metadata_standard":{"type":"string","nullable":true,"enum":["CIP25v1","CIP25v2","CIP68v1","CIP68v2"],"description":"If on-chain metadata passes validation, we display the standard\nunder which it is valid\n"},"onchain_metadata_extra":{"type":"string","nullable":true,"description":"Arbitrary plutus data (CIP68).\n"},"metadata":{"type":"object","nullable":true,"description":"Off-chain metadata fetched from GitHub based on network.\nMainnet: https://github.com/cardano-foundation/cardano-token-registry/\nTestnet: https://github.com/input-output-hk/metadata-registry-testnet/\n","properties":{"name":{"type":"string","example":"nutcoin","description":"Asset name"},"description":{"type":"string","example":"The Nut Coin","description":"Asset description"},"ticker":{"type":"string","nullable":true,"example":"nutc"},"url":{"type":"string","nullable":true,"example":"https://www.stakenuts.com/","description":"Asset website"},"logo":{"type":"string","nullable":true,"example":"iVBORw0KGgoAAAANSUhEUgAAADAAAAAoCAYAAAC4h3lxAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH5QITCDUPjqwFHwAAB9xJREFUWMPVWXtsU9cZ/8499/r6dZ3E9rUdO7ZDEgglFWO8KaOsJW0pCLRKrN1AqqYVkqoqrYo0ja7bpElru1WairStFKY9WzaE1E1tx+jokKqwtqFNyhKahEJJyJNgJ37E9r1+3HvO/sFR4vhx7SBtfH/F3/l93/f7ne/4PBxEKYU72dj/ZfH772v1TU+HtqbTaX8wOO01GPQpRVH7JEm+vGHDuq6z7/8jUSoHKtaBKkEUFUXdajDy1hUrmrs6zn/wWS7m7pZVjMUirKGUTnzc+e9xLcTrPPVfZzDz06Sc2lyQGEIyAPzT7Xa+dvE/3e+XLaCxoflHsVj8MAAYs74aa/WHoenwvpkZKeFy2Z5NJlOPUkqXZccFwSSrKjlyffjLH+TL6XTUGTGL/6hklD3ldIrj2M5MRmkLBMcvaRLQ1Nj88sxM/HCBfMP+eu/OYGDqe6l0WmpoqJ/88upgrU7HrQNA/cFg6MlkKiLlBtVUO40cx54BgHvLIT/HJLvdeqh/4NKxogKWN7fsCoUi7xTLxLJ4vLq6ak//wKVOrdXtttrTDMPsqJA8AAAwDErdu3VL3alTf5ma9eWCpoKhn5dKpCiqJxicPucQPVu0FHaInn35yHMcKwPAa4SQ3QCwFgDWUko3qSr5vqqSgTypuEg4Mo/zvA74/Y0rZSnZU8akSHV17k2fXfy0txjI5224kEym1s/1EUI7LBbztweHrkzkizn49LP6U6feepFSeggAQK/n04SQZ8bGrxdeQjZrbRvGzLH5hcibRqOhPplMfS1fIY5jz4xPDBdcGggho2h3z9sOLRazdG3wqp9SMgUlzGZ17SSEPsRx7J8CwfGu3PF57WhqqjfN/VxVJUxKUrIdITAXKpDJKFscosdfaFy0u+/K9aXTmXe0kAcAmA5Nng5Hbj6Tj/wCAYFAcN7uEY3GXGazMSHLqVVFapgBoMPna9yqhRAAgCTJMa3YUjZPgNFkSlWYx5eUkx+0tKx83V3rF+cVYJjruWCe133DIXqMmrNrFSDabRcWkywYmG5XFOW6aHcfb9324CoAgMmbo9MIoXkneCajiAihV/c/8eSiBSw4BxyiZxQA6m7H7FBKT2CMn2MY5jFFUX6ZO+5w2j8aHZ7YH40FByrJD5DnHGAY5uTtIA8AgBDaR4F2Yxb3WizCgmtA4ObUPSazodduqz3Suu0hf0U1cjvgdNSJ1dWWveFwdDUAtAiC2Uopdcdi8c9Zlh3GmDGl05mtAKAvo47EcdwThJCjqqpWFxALlNITomg73tff21GRAJez7iVK4WGGYfoJIQduBsbm7UrLm1ueCoUiv65kpiilw1ZbzcFoZOYoIcRTAn6eYZgXJm+Oni+Vd3YJbdyweSch9HlK6SpVVfcyDDq7Yf3m2XPBIXraKyV/a4b9UkLawbLsZgB4rwR8CyGkw13r+5fX27BckwBAEJ47oKpk8+DgUIdod7fV1vqOAMDrlZLPmqKoB+rrvXIgOP6w0WjYy3Ls5RL4bUk52bVm9fqnCk7M3CXU2ND8+MxM7BcIIftiyRYyntcdHh0bmr0wfmXl6p2SJB2KRmP3l4j7zejYUFtRAQAAgslm1Bv4nyGEDpYiIwjmjw0G/RjP866JiclNqqqWfKLq9fyZkdHBBXcnl9O71GDgD8bj0ncRQqZ8sRgzL9yYHH2pqICsOUTPLgA4CXNeZFmzWIS/YhYfjUZmvqPjuceSckrz25pS2h2cmlhbaBwhzr6kfsnL8Xhif55YYFl23Y3Jkdl7EVMoUSA4/q6qqNsBIPd11e52u45FwtG3CSH7yiEPAGC1Vt9dXGBmanDoygFLlbAjtzZCCMyC6VeaOpA1l9N7l1kwtauKaozHE28YTQaQpeR7+TqjxXheR0fHhhgt2CX1S3clEtKC16HL5djYe+niBU0CcmYA2W21/Qih5ZqDcoxlMZ24MaJJAABA87IVJ8Lh6N65Pr1B/+LIyLUfAhRZQvnM6ah7ZDHkAQB0vK6/HHxNTc2ruT5Zkldn/y5LACFk+2LIAwAwCGl6yGSt88KHXbmrBCHkqEgAz+vWLFZALJb4qNwYhFDhCSknkSwnQ4sVgDFeWg7+gQe2r1tAmkGTFQlACHWVg89nhJA9ot3dphV/eeCLp/Pw6K5IQP0S39uLFXCLwDG7zf1cKZxD9LSlUunHc/12u/2t2Vzl/rzu8zb8PZlM7bwdQgDgPK/nX2nddt+53//ht3LW2dS0fF0iLj2vquojuQFmwXRucPBKa8UCmpe1iOFwpAsAfLdJBFBKwVIlXJ2JxqKCxbwyHkvoCkAlv9/71U+7Oq+UJWDZ0hViJBL1cRynbNq0sSeeiPl6ei4NqIqq6TSmlB7X6bjuTEY5pgWfzwxGPZhMpt39/b3vzvWXFGCzulZjjM/DrauDwcAr8bjcgzGjZUuVBMH8k2uDX7wCAFDr8n2LEPI7SqmhTP6SzVbz6MDlz0/nDpT8EmOM22HOvUeWU2wp8iyLgRL6hk7Hrc2SBwC4MTlykmXZRozxn00mbVcphNA5jJmV+chr6oDd5l6jN/A/TqfSuwEAGITGMIsvGo3GTwTB3Dc2NjGSxdZYq4VIOOoNBANnKE0XPXE3brjHOTQ08k2MmVZOxzVJCbkFIQSCYEphzPaFQuGzTpfjb319PZ8UFXin/5OvrHPg/9HueAH/BSUqOuNZm4fyAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTAyLTE5VDA4OjUyOjI1KzAwOjAwCmFGlgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wMi0xOVQwODo1MjoyMyswMDowMBjsyxAAAAAASUVORK5CYII=","description":"Base64 encoded logo of the asset"},"decimals":{"type":"integer","nullable":true,"maximum":255,"example":6,"description":"Number of decimal places of the asset unit"}},"required":["name","description","ticker","url","logo","decimals"]}},"required":["asset","policy_id","asset_name","fingerprint","quantity","initial_mint_tx_hash","mint_or_burn_count","metadata","onchain_metadata"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/history":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction containing the asset action"},"action":{"type":"string","enum":["minted","burned"],"description":"Action executed upon the asset policy"},"amount":{"type":"string","description":"Asset amount of the specific action"}},"required":["tx_hash","action","amount"]},"example":[{"tx_hash":"2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531","amount":"10","action":"minted"},{"tx_hash":"9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005","amount":"5","action":"burned"},{"tx_hash":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dde628516157f0","amount":"5","action":"burned"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/txs":{"response":{"200":{"type":"array","items":{"type":"string","description":"Hash of the transaction"},"example":["8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/transactions":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","description":"Hash of the transaction"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"block_height":{"type":"integer","description":"Block height"},"block_time":{"type":"integer","example":1635505891,"description":"Block creation time in UNIX time"}},"required":["tx_hash","tx_index","block_height","block_time"]},"example":[{"tx_hash":"8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b","tx_index":6,"block_height":69,"block_time":1635505891},{"tx_hash":"52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f","tx_index":9,"block_height":4547,"block_time":1635505987},{"tx_hash":"e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b","tx_index":0,"block_height":564654,"block_time":1834505492}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/{asset}/addresses":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address containing the specific asset"},"quantity":{"type":"string","description":"Asset quantity on the specific address"}},"required":["address","quantity"]},"example":[{"address":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz","quantity":"1"},{"address":"addr1qyhr4exrgavdcn3qhfcc9f939fzsch2re5ry9cwvcdyh4x4re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qdpvhza","quantity":"100000"},{"address":"addr1q8zup8m9ue3p98kxlxl9q8rnyan8hw3ul282tsl9s326dfj088lvedv4zckcj24arcpasr0gua4c5gq4zw2rpcpjk2lq8cmd9l","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"asset":{"type":"string"}}}},"/assets/policy/{policy_id}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","description":"Concatenation of the policy_id and hex-encoded asset_name"},"quantity":{"type":"string","description":"Current asset quantity"}},"required":["asset","quantity"]},"example":[{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e","quantity":"1"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a766e","quantity":"100000"},{"asset":"b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb574636f696e","quantity":"18605647"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"policy_id":{"type":"string"}}}},"/scripts":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"script_hash":{"type":"string","description":"Script hash"}},"required":["script_hash"]},"example":[{"script_hash":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1"},{"script_hash":"e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e"},{"script_hash":"a6e63c0ff05c96943d1cc30bf53112ffff0f34b45986021ca058ec54"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/scripts/{script_hash}":{"response":{"200":{"type":"object","properties":{"script_hash":{"type":"string","example":"13a3efd825703a352a8f71f4e2758d08c28c564e8dfcce9f77776ad1","description":"Script hash"},"type":{"type":"string","enum":["timelock","plutusV1","plutusV2"],"example":"plutusV1","description":"Type of the script language"},"serialised_size":{"type":"integer","nullable":true,"description":"The size of the CBOR serialised script, if a Plutus script","example":3119}},"required":["script_hash","type","serialised_size"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/json":{"response":{"200":{"type":"object","properties":{"json":{"nullable":true}},"required":["json"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","nullable":true,"description":"CBOR contents of the `plutus` script, null for `timelocks`"}},"required":["cbor"],"example":{"cbor":"4e4d01000033222220051200120011"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/{script_hash}/redeemers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string","example":"1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0","description":"Hash of the transaction"},"tx_index":{"type":"integer","example":0,"description":"The index of the redeemer pointer in the transaction"},"purpose":{"type":"string","enum":["spend","mint","cert","reward"],"example":"spend","description":"Validation purpose"},"redeemer_data_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Datum hash of the redeemer"},"datum_hash":{"type":"string","example":"923918e403bf43c34b4ef6b48eb2ee04babed17320d8d1b9ff9ad086e86f44ec","description":"Datum hash","deprecated":true},"unit_mem":{"type":"string","example":"1700","description":"The budget in Memory to run a script"},"unit_steps":{"type":"string","example":"476468","description":"The budget in CPU steps to run a script"},"fee":{"type":"string","example":"172033","description":"The fee consumed to run the script"}},"required":["tx_hash","tx_index","purpose","redeemer_data_hash","datum_hash","unit_mem","unit_steps","fee"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"script_hash":{"type":"string"}}}},"/scripts/datum/{datum_hash}":{"response":{"200":{"type":"object","properties":{"json_value":{"type":"object","additionalProperties":true,"description":"JSON content of the datum"}},"required":["json_value"],"example":{"json_value":{"int":42}}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"datum_hash":{"type":"string"}}}},"/scripts/datum/{datum_hash}/cbor":{"response":{"200":{"type":"object","properties":{"cbor":{"type":"string","description":"CBOR serialized datum"}},"required":["cbor"],"example":{"cbor":"19a6aa"}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"datum_hash":{"type":"string"}}}},"/utils/addresses/xpub/{xpub}/{role}/{index}":{"response":{"200":{"type":"object","properties":{"xpub":{"type":"string","description":"Script hash"},"role":{"type":"integer","description":"Account role"},"index":{"type":"integer","description":"Address index"},"address":{"type":"string","description":"Derived address"}},"required":["xpub","role","index","address"],"example":[{"xpub":"d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a","role":0,"index":0,"address":"addr1q90sqnljxky88s0jsnps48jd872p7znzwym0jpzqnax6qs5nfrlkaatu28n0qzmqh7f2cpksxhpc9jefx3wrl0a2wu8q5amen7"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"xpub":{"type":"string"},"role":{"type":"integer"},"index":{"type":"integer"}}}},"/utils/txs/evaluate":{"response":{"200":{"type":"object","additionalProperties":true},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/utils/txs/evaluate/utxos":{"response":{"200":{"type":"object","additionalProperties":true},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/ipfs/add":{"response":{"200":{"type":"object","properties":{"name":{"type":"string","example":"README.md","description":"Name of the file"},"ipfs_hash":{"type":"string","example":"QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr","description":"IPFS hash of the file"},"size":{"type":"string","example":"125297","description":"IPFS node size in Bytes"}},"required":["name","ipfs_hash","size"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/ipfs/gateway/{IPFS_path}":{"response":{"200":{"type":"string","format":"binary"},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"Path to the IPFS object"}}}},"/ipfs/pin/add/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"ipfs_hash":{"type":"string","example":"QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8","description":"IPFS hash of the pinned object"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"example":"queued","description":"State of the pin action"}},"required":["ipfs_hash","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"Path to the IPFS object"}}}},"/ipfs/pin/list":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time_created":{"type":"integer","description":"Creation time of the IPFS object on our backends","example":1615551024},"time_pinned":{"type":"integer","description":"Pin time of the IPFS object on our backends","example":1615551024},"ipfs_hash":{"type":"string","description":"IPFS hash of the pinned object","example":"QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx"},"size":{"type":"string","description":"Size of the object in Bytes","example":"1615551024"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"description":"State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n","example":"pinned"}},"required":["time_created","time_pinned","ipfs_hash","size","state"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}}},"/ipfs/pin/list/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"time_created":{"type":"integer","description":"Time of the creation of the IPFS object on our backends","example":1615551024},"time_pinned":{"type":"integer","description":"Time of the pin of the IPFS object on our backends","example":1615551024},"ipfs_hash":{"type":"string","description":"IPFS hash of the pinned object","example":"QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx"},"size":{"type":"string","description":"Size of the object in Bytes","example":"1615551024"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"description":"State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n","example":"pinned"}},"required":["time_created","time_pinned","ipfs_hash","size","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"The path to the IPFS object"}}}},"/ipfs/pin/remove/{IPFS_path}":{"response":{"200":{"type":"object","properties":{"ipfs_hash":{"type":"string","example":"QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8","description":"IPFS hash of the pinned object"},"state":{"type":"string","enum":["queued|pinned|unpinned|failed|gc"],"example":"unpinned","description":"State of the pin action"}},"required":["ipfs_hash","state"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"IPFS_path":{"type":"string","description":"The path to the IPFS object"}}}},"/metrics":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","description":"Starting time of the call count interval (ends midnight UTC) in UNIX time"},"calls":{"type":"integer","description":"Sum of all calls for a particular day"}},"required":["time","calls"]},"example":[{"time":1612543884,"calls":42},{"time":1614523884,"calls":6942}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/metrics/endpoints":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"time":{"type":"integer","description":"Starting time of the call count interval (ends midnight UTC) in UNIX time"},"calls":{"type":"integer","description":"Sum of all calls for a particular day and endpoint"},"endpoint":{"type":"string","description":"Endpoint parent name"}},"required":["time","calls","endpoint"]},"example":[{"time":1612543814,"calls":182,"endpoint":"block"},{"time":1612543814,"calls":42,"endpoint":"epoch"},{"time":1612543812,"calls":775,"endpoint":"block"},{"time":1612523884,"calls":4,"endpoint":"epoch"},{"time":1612553884,"calls":89794,"endpoint":"block"}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/network":{"response":{"200":{"type":"object","properties":{"supply":{"type":"object","properties":{"max":{"type":"string","description":"Maximum supply in Lovelaces","example":"45000000000000000"},"total":{"type":"string","description":"Current total (max supply - reserves) supply in Lovelaces","example":"32890715183299160"},"circulating":{"type":"string","description":"Current circulating (UTXOs + withdrawables) supply in Lovelaces","example":"32412601976210393"},"locked":{"type":"string","description":"Current supply locked by scripts in Lovelaces","example":"125006953355"},"treasury":{"type":"string","description":"Current supply locked in treasury","example":"98635632000000"},"reserves":{"type":"string","description":"Current supply locked in reserves","example":"46635632000000"}},"required":["max","total","circulating","locked","treasury","reserves"]},"stake":{"type":"object","properties":{"live":{"type":"string","example":"23204950463991654","description":"Current live stake in Lovelaces"},"active":{"type":"string","description":"Current active stake in Lovelaces","example":"22210233523456321"}},"required":["live","active"]}},"required":["supply","stake"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/network/eras":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"start":{"type":"object","description":"Start of the blockchain era,\nrelative to the start of the network\n","properties":{"time":{"type":"number","description":"Time in seconds relative to the start time of the network"},"slot":{"type":"integer","description":"Absolute slot number"},"epoch":{"type":"integer","description":"Epoch number"}},"required":["time","slot","epoch"]},"end":{"type":"object","description":"End of the blockchain era,\nrelative to the start of the network\n","properties":{"time":{"type":"number","description":"Time in seconds relative to the start time of the network"},"slot":{"type":"integer","description":"Absolute slot number"},"epoch":{"type":"integer","description":"Epoch number"}},"required":["time","slot","epoch"]},"parameters":{"type":"object","description":"Era parameters","properties":{"epoch_length":{"type":"integer","description":"Epoch length in number of slots"},"slot_length":{"type":"number","description":"Slot length in seconds"},"safe_zone":{"type":"integer","description":"Zone in which it is guaranteed that no hard fork can take place"}},"required":["epoch_length","slot_length","safe_zone"]}},"required":["start","end","parameters"]},"example":[{"start":{"time":0,"slot":0,"epoch":0},"end":{"time":89856000,"slot":4492800,"epoch":208},"parameters":{"epoch_length":21600,"slot_length":20,"safe_zone":4320}},{"start":{"time":89856000,"slot":4492800,"epoch":208},"end":{"time":101952000,"slot":16588800,"epoch":236},"parameters":{"epoch_length":432000,"slot_length":1,"safe_zone":129600}}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"425":{"type":"object","properties":{"status_code":{"type":"integer","example":425},"error":{"type":"string","example":"Mempool Full"},"message":{"type":"string","example":"Mempool is full, please try resubmitting again later."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}}},"/nutlink/{address}":{"response":{"200":{"type":"object","properties":{"address":{"type":"string","description":"Bech32 encoded address","example":"addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz"},"metadata_url":{"type":"string","description":"URL of the specific metadata file","example":"https://nut.link/metadata.json"},"metadata_hash":{"type":"string","description":"Hash of the metadata file","example":"6bf124f217d0e5a0a8adb1dbd8540e1334280d49ab861127868339f43b3948af"},"metadata":{"type":"object","nullable":true,"description":"The cached metadata of the `metadata_url` file.","additionalProperties":true}},"required":["address","metadata_url","metadata_hash","metadata"]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"}}}},"/nutlink/{address}/tickers":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the ticker"},"count":{"type":"integer","description":"Number of ticker records"},"latest_block":{"type":"integer","description":"Block height of the latest record"}},"required":["name","count","latest_block"]},"example":[{"name":"ADAUSD","count":1980038,"latest_block":2657092},{"name":"ADAEUR","count":1980038,"latest_block":2657092},{"name":"ADABTC","count":1980038,"latest_block":2657092}]},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"}}}},"/nutlink/{address}/tickers/{ticker}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"tx_hash":{"type":"string"},"block_height":{"type":"integer"},"tx_index":{"type":"integer"},"payload":{}},"required":["tx_hash","tx_index","block_height","payload"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"},"ticker":{"type":"string","description":"Ticker for the pool record"}}}},"/nutlink/tickers/{ticker}":{"response":{"200":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address of a metadata oracle"},"tx_hash":{"type":"string","description":"Hash of the transaction"},"block_height":{"type":"integer","description":"Block height of the record"},"tx_index":{"type":"integer","description":"Transaction index within the block"},"payload":{}},"required":["address","tx_hash","block_height","tx_index","payload"]}},"400":{"type":"object","properties":{"status_code":{"type":"integer","example":400},"error":{"type":"string","example":"Bad Request"},"message":{"type":"string","example":"Backend did not understand your request."}},"required":["error","message","status_code"]},"403":{"type":"object","properties":{"status_code":{"type":"integer","example":403},"error":{"type":"string","example":"Forbidden"},"message":{"type":"string","example":"Invalid project token."}},"required":["error","message","status_code"]},"404":{"type":"object","properties":{"status_code":{"type":"integer","example":404},"error":{"type":"string","example":"Not Found"},"message":{"type":"string","example":"The requested component has not been found."}},"required":["error","message","status_code"]},"418":{"type":"object","properties":{"status_code":{"type":"integer","example":418},"error":{"type":"string","example":"Requested Banned"},"message":{"type":"string","example":"IP has been auto-banned for flooding."}},"required":["error","message","status_code"]},"429":{"type":"object","properties":{"status_code":{"type":"integer","example":429},"error":{"type":"string","example":"Project Over Limit"},"message":{"type":"string","example":"Usage is over limit."}},"required":["error","message","status_code"]},"500":{"type":"object","properties":{"status_code":{"type":"integer","example":500},"error":{"type":"string","example":"Internal Server Error"},"message":{"type":"string","example":"An unexpected response was received from the backend."}},"required":["error","message","status_code"]}},"querystring":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":100,"default":100},"page":{"type":"integer","minimum":1,"maximum":21474836,"default":1},"order":{"type":"string","enum":["asc","desc"],"default":"asc"}}},"params":{"type":"object","properties":{"ticker":{"type":"string","description":"Ticker for the pool record"}}}},"/mithril/":{"response":{"200":{"description":"Represents general information about Aggregator public information and signing capabilities","type":"object","additionalProperties":false,"required":["open_api_version","documentation_url","capabilities"],"properties":{"open_api_version":{"description":"Open API version","type":"string","format":"byte"},"documentation_url":{"description":"Mithril documentation","type":"string","format":"byte"},"capabilities":{"description":"Capabilities of the aggregator","type":"object","additionalProperties":false,"required":["signed_entity_types"],"properties":{"signed_entity_types":{"description":"Signed entity types that are signed by the aggregator","type":"array","minItems":1,"items":{"description":"Signed entity types that can be signed","type":"string","enum":["MithrilStakeDistribution","CardanoStakeDistribution","CardanoImmutableFilesFull","CardanoTransactions"]}},"cardano_transactions_prover":{"description":"Cardano transactions prover capabilities","type":"object","additionalProperties":false,"required":["max_hashes_allowed_by_request"],"properties":{"max_hashes_allowed_by_request":{"description":"Maximum number of hashes allowed for a single request","type":"integer","format":"int64"}}}}}},"example":{"open_api_version":"0.1.17","documentation_url":"https://mithril.network","capabilities":{"signed_entity_types":["MithrilStakeDistribution","CardanoImmutableFilesFull","CardanoTransactions"],"cardano_transactions_prover":{"max_hashes_allowed_by_request":100}}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/epoch-settings":{"response":{"200":{"description":"Epoch settings","type":"object","additionalProperties":false,"required":["epoch","protocol","next_protocol"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"protocol":{"$ref":"#/components/schemas/ProtocolParameters"},"next_protocol":{"$ref":"#/components/schemas/ProtocolParameters"}},"example":{"epoch":329,"protocol":{"k":857,"m":6172,"phi_f":0.2},"next_protocol":{"k":2422,"m":20973,"phi_f":0.2}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/certificate-pending":{"response":{"200":{"description":"CertificatePendingMessage represents all the information related to the certificate currently expecting to receive quorum of single signatures","type":"object","additionalProperties":false,"required":["epoch","entity_type","protocol","next_protocol","signers","next_signers"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"beacon":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CardanoDbBeacon"}]},"entity_type":{"$ref":"#/components/schemas/SignedEntityType"},"protocol":{"$ref":"#/components/schemas/ProtocolParameters"},"next_protocol":{"$ref":"#/components/schemas/ProtocolParameters"},"signers":{"type":"array","items":{"$ref":"#/components/schemas/Signer"}},"next_signers":{"type":"array","items":{"$ref":"#/components/schemas/Signer"}}},"example":{"epoch":329,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"entity_type":{"MithrilStakeDistribution":246},"protocol":{"k":857,"m":6172,"phi_f":0.2},"next_protocol":{"k":2422,"m":20973,"phi_f":0.2},"signers":[{"party_id":"1234567890","verification_key":"7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353","verification_key_signature":"7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a","operational_certificate":"5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537","kes_period":123},{"party_id":"2345678900","verification_key":"7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32","verification_key_signature":"2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39","operational_certificate":"3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3","kes_period":456}],"next_signers":[{"party_id":"3456789000","verification_key":"7b22766b223a5b3133382c32392c3137332c3134342c36332c3233352c39372c3138302c3","verification_key_signature":"7b227369676d61223a7b227369676d61223a7b227369676d61223a7b227369676d612239","operational_certificate":"5b5b5b3232352c3230332c3235352c3130302c3136372c38302c37342c3136362c3135362c38322c39382c3232312c36332c3137372c3232332c3232332c31392c35372c39332c312c35302c3133392c3233342c3137332c32352","kes_period":789},{"party_id":"4567890000","verification_key":"34302c3132332c3139302c3134352c3132342c35342c3133302c37302c3136332c3139332","verification_key_signature":"302c3230312c38362c3139312c36302c3234352c3138332c3134342c3139392c3130335f","operational_certificate":"2c38382c3138372c3233332c34302c37322c31362c36365d2c312c3132332c5b31362c3136392c3134312c3138332c32322c3137342c3131312c33322c36342c35322c2c3232382c37392c3137352c32395312c3838282c323030","kes_period":876}]}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/certificates":{"response":{"200":{"description":"CertificateListMessage represents a list of Mithril certificates","type":"array","items":{"description":"CertificateListItemMessage represents an item of a list of Mithril certificates","type":"object","additionalProperties":false,"required":["hash","previous_hash","epoch","signed_entity_type","metadata","protocol_message","signed_message","aggregate_verification_key"],"properties":{"hash":{"description":"Hash of the current certificate","type":"string","format":"bytes"},"previous_hash":{"description":"Hash of the previous certificate","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"beacon":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CardanoDbBeacon"}]},"signed_entity_type":{"$ref":"#/components/schemas/SignedEntityType"},"metadata":{"$ref":"#/components/schemas/CertificateListItemMessageMetadata"},"protocol_message":{"$ref":"#/components/schemas/ProtocolMessage"},"signed_message":{"description":"Hash of the protocol message that is signed by the signer participants","type":"string","format":"bytes"},"aggregate_verification_key":{"description":"Aggregate verification key used to verify the multi signature","type":"string","format":"bytes"}},"example":{"hash":"9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7","previous_hash":"aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403","epoch":32,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"signed_entity_type":{"MithrilStakeDistribution":246},"metadata":{"network":"mainnet","version":"0.1.0","parameters":{"k":5,"m":100,"phi_f":0.65},"initiated_at":"2022-07-17T18:51:23.192811338Z","sealed_at":"2022-07-17T18:51:35.830832580Z","total_signers":3},"protocol_message":{"message_parts":{"snapshot_digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","next_aggregate_verification_key":"b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"}},"signed_message":"07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc","aggregate_verification_key":"7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7"}},"example":[{"hash":"9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7","previous_hash":"aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403","epoch":329,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"signed_entity_type":{"MithrilStakeDistribution":246},"metadata":{"network":"mainnet","version":"0.1.0","parameters":{"k":5,"m":100,"phi_f":0.65},"initiated_at":"2022-07-17T18:51:23.192811338Z","sealed_at":"2022-07-17T18:51:35.830832580Z","total_signers":3},"protocol_message":{"message_parts":{"snapshot_digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","next_aggregate_verification_key":"b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"}},"signed_message":"07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc","aggregate_verification_key":"7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7"}]},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/certificate/{certificate_hash}":{"response":{"200":{"description":"Certificate represents a Mithril certificate embedding a Mithril STM multi signature","type":"object","additionalProperties":false,"required":["hash","previous_hash","epoch","signed_entity_type","metadata","protocol_message","signed_message","aggregate_verification_key","multi_signature","genesis_signature"],"properties":{"hash":{"description":"Hash of the current certificate","type":"string","format":"bytes"},"previous_hash":{"description":"Hash of the previous certificate","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"beacon":{"deprecated":true,"allOf":[{"$ref":"#/components/schemas/CardanoDbBeacon"}]},"signed_entity_type":{"$ref":"#/components/schemas/SignedEntityType"},"metadata":{"$ref":"#/components/schemas/CertificateMetadata"},"protocol_message":{"$ref":"#/components/schemas/ProtocolMessage"},"signed_message":{"description":"Hash of the protocol message that is signed by the signer participants","type":"string","format":"bytes"},"aggregate_verification_key":{"description":"Aggregate verification key used to verify the multi signature","type":"string","format":"bytes"},"multi_signature":{"description":"STM multi signature created from a quorum of single signatures from the signers","type":"string","format":"bytes"},"genesis_signature":{"description":"Genesis signature created to bootstrap the certificate chain with the Cardano Genesis Keys","type":"string","format":"bytes"}},"example":{"hash":"9dc998101590f733f7a50e7c03b5b336e69a751cc02d811395d49618db3ba3d7","previous_hash":"aa2ddfb87a17103bdf15bfb21a2941b3f3223a3c8d710910496c392b14f8c403","epoch":329,"beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"signed_entity_type":{"MithrilStakeDistribution":246},"metadata":{"network":"mainnet","version":"0.1.0","parameters":{"k":5,"m":100,"phi_f":0.65},"initiated_at":"2022-07-17T18:51:23.192811338Z","sealed_at":"2022-07-17T18:51:35.830832580Z","signers":[{"party_id":"1234567890","verification_key":"7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353","verification_key_signature":"7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a","operational_certificate":"5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537","kes_period":123,"stake":1234},{"party_id":"2345678900","verification_key":"7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32","verification_key_signature":"2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39","operational_certificate":"3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3","kes_period":456,"stake":2345}]},"protocol_message":{"message_parts":{"snapshot_digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","next_aggregate_verification_key":"b132362c3232352c36392c31373133352c31323235392c3235332c3233342c34226d745f636f6d6d69746d656e74223a7b22726f6f74223a5b33382c3382c3138322c3231322c2c363"}},"signed_message":"07ed7c9e128744c1a4797b7eb34c54823cc7a21fc95c19876122ab4bb0fe796d6bba2bc","aggregate_verification_key":"7b232392c3130342c34392c35312c3130332c3136352c37364223a7b22726f6f74223a5b3137392c3135312c3135382c37332c37372c2c3135392c3226d745f636f6d6d69746d656e7","multi_signature":"7bc3139392c3135392c3235342c3231392c3133362c3132392c38342c353227369676e617475726573223a5b5b7b227369676d61223a5b3135312c362c3131222c33382c3135382c3137312c3137312c3234392c32342c3232382c3133302c38352c32362c38382c3135382c32303c323337322c323339362c32342c313530342c313532302c3135323737302c323830372c323831392c323834302c323834342c323836302c323837322c323838362c323839312c323839382c3239333533332c343538352c343632342c343634322c343634372c343636362c334312c31343636382c31343637352c31343639352c31343639392c31343730312c31343730352c31343733302c31343733382c31343733392c31343734362c31343735342c31343736312c31343738362c31343739352c31343739362c31343832362c31343835392c31343836302c31343836322c31343837312c31343837322c31343837392c31343838392c31343839332c31343839372c31343839392c31343932362c31343937372c31343939312c31353032332c31353033382c31353034342c31353036332c31353039312c31353039322c31353039382c31353131392c31353132312c31353136362c31353139362c31353230322c31353231302c31353231392c31353233392c31353234362c31353235322c31353237352c31353238312c31353334372c31353335372c31353338372c31353431372c31353434352c31353434382c31353435332c31353435342c31353530382c31353534352c31353536302c31353537302c31353538392c31353631302c31353631312c31353631322c31353632382c31353633302c31353633392c31353636302c31353636312c31353637392c31353731372c31353731392c31353732362c31353733382c31353734382c31353735392c31353736312c31353739312c31353830312c31353830332c31353831342c31353831392c31353832372c31353832392c31353834392c31353835332c31353835372c31353835392c31353836372c31353839362c31353930312c31353930372c31353931302c31353931332c31353931352c31353935352c31353937362c31353938372c31363031372c31363036332c31363131382c31363132382c31363135352c31363136372c31363230312c31363230362c31363231392c31363232312c31363232392c31363233342c31363234362c31363333302c31363335302c31363336362c31353739312c31353830312c31353830332c31353831342c31353831392c31353832372c31353832392c31353834392c31353835332c31353835372c31353835392c31353836372c31353839362c31353930312c31353930372c31353931302c31353931332c31353931352c31353935352c31353937362c31353938372c31363031372c31363036332c31363131382c31363132382c31363135352c31363136372c31363230312c31363230362c31363231392c31363232312c31363232392c31363233342c31363234362c31363333302c31363335302c31363336362c31363339302c31363430342c31363435342c31363437392c31363533302c31363533382c31363534372c31363535322c31363630382c31363631312c31363631382c31363633312c31363635382c31363637312c31363639352c31363730302c31363731332c31363732372c31363733312c31363733322c31363734322c31363736302c31363737342c31363739322c31363739362c31363739382c31363830342c31363831302c31363834302c31363834382c31363835392c31363836332c31363838362c31363838382c31363930302c31363932372c31363932382c31363932392c31363933372c31363934302c31363934362c31363935302c31363936312c31363938312c31373033302c31373035332c31373036322c31373038322c31373130312c31373130332c31373130352c31373130362c31373132302c31373132312c31373133322c31373133332c31373135312c31373135392c31373138332c31373232302c31373239322c31373331312c31373331332c31373332362c31373333362c31373334352c31373334392c31373335372c31373337352c31373338332c31373338352c31373430302c31373430362c31373431342c31373432322c31373434362c31373435312c31373436362c31373530322c31373531392c31373535382c31373536352c31373537332c31373538302c31373630362c31373632332c31373636382c31373639352c31373732392c31373733312c31373733352c31373733372c31373734342c31373734352c31373734372c31373736382c31373737302c31373737332c31373737352c31373739362c31373830342c31373831302c31373831332c31373832332c31373834352c31373834362c31373838382c31373839342c31373930352c31373931302c31373935372c31373936372c31373938372c31373939342c31383030322c31383030332c31383031312c31383032302c31383032392c31383034362c31383036382c31383037322c31383131372c31383133372c31383134302c31383134332c31383136322c31383137302c31383137342c31383138342c31383138392c31383139392c31383230382c31383232302c31383235312c31383235332c31383237392c31383238312c31383239312c31383239382c31383330312c31383331362c31383332382c31383334312c31383336332c31383337342c31383338352c31383338372c31383434392c31383437362c31383438322c31383439382c31383530352c31383530362c31383531342c31383532362c31383532382c31383533382c31383535322c31383535382c31383537342c31383538342c31383539322c31383631392c32c3832392c3834382c3835312c3835342c3836352c3838332c3838342c3839332c3839372c3930392c3937312c3938362c3939352c313032312c313032362c313035312c313036322c313036382c313038322c313038332c313038352c313133312c313134392c313135392c313136342c313137322c313137332c313231372c313231382c313234372c313239332c313330382c313331352c313333302c313335302c313336342c313337392c313430302c313430362c313432372c313434392c313436342c313436362c313436372c313437362c313530312c313530342c313532302c313532352c313533322c313534322c313536372c313537362c313538322c313538332c313632362c313633322c313633332c313634312c313635322c313730302c313732392c313831322c313832302c313834322c313835392c313837312c313930352c313930372c313931322c313931332c313935362c313936302c313937342c323030302c323031302c323033322c323033372c323037372c323038372c323039382c323130372c323131382c323133322c323133382c323135312c323230332c323230392c323231312c323233372c323234382c323235332c323237372c323238302c323330382c323331342c323333322c323334332c323334382c373535362c373535382c373537372c373630392c373631382c373633392c373635342c373635352c373731392c373732322c373732332c373830342c373832372c373833362c373833372c373835302c373835332c373835362c373837382c373839362c373931392c373933312c373933332c373934332c373934362c373935342c383030302c383031302c383031342c383033302c383034332c383035352c383036342c383036382c383037362c383132322c383134332c383134382c383136362c383139302c383234372c383235312c383236302c383237352c383238312c383238352c383330362c383332352c383337332c383337372c383338372c383339372c383339382c383431362c383433312c383436362c383436372c383437372c383438332c383438392c383439322c383439382c383531372c383533302c383533352c383534302c383536392c383539392c383631322c383634322c383635322c383637302c383730312c383733342c383738382c383739312c383832372c383834352c383835312c383836312c383837362c383932392c383933372c383935322c383937362c393031362c393032302c393032372c393032392c393034382c393036302c393038392c393130332c393130362c393131312c393131322c393131382c393133342c393134392c393137372c393137382c393231312c393231322c393232392c393234332c393236312c393236322c393238362c393239372c393331382c393333392c393338312c393339352c393339362c393431372c393433302c393436332c393439322c393532342c393633332c393633352c393634322c393639322c393731382c393732342c393732362c393733352c393735362c393738302c393738322c393739332c393831332c393837312c393839382c393931382c393932332c393932362c393934312c393934392c393935322c393935382c393936312c393936342c393937352c31303030362c31303032362c31303032392c31303035382c31303037342c31303037392c31303131302c31303132332c31303133392c31303134382c31303135362c31303136392c31303230362c31303235352c31303235372c31303235382c31303237332c31303237342c31303239312c31303239332c31303239342c31303330352c31303334312c31303334332c31303338322c31303338332c31303430342c31303431312c31303431332c31303432302c31303434322c31303434342c31303435372c31303436302c31303437322c31303438372c31303532322c31303535312c31303536342c31303636352c31303638352c31303730302c31303730362c31303733322c31303734332c31303737322c31303831352c31303833332c31303834332c31303836362c31303839322c31303930382c31303938382c31313033362c31313034312c31313037312c31313038322c31313039322c31313039392c31313130392c31313131352c31313134362c31313139332c31313230302c31313232382c31313232392c31313235342c31313236372c31313238302c31313239332c31313239352c31313331312c31313331382c31313332322c31313334302c31313334342c31313335322c31313335342c31313335352c31313335362c31313338352c31313430322c31313431332c31313433342c31313434322c31313436382c31313437322c31313437372c31313439362c31313439392c31313530362c31313531302c31313532342c31313532372c31313534342c31313538312c31313539322c31313630342c31313633352c31313635382c31313733332c31313733362c31313735342c31313739342c31313831332c31313831392c31313832342c31313832372c31313836392c31313837312c31313931342c31313937302c31313937342c31323031362c31323031392c31323034302c31323034342c31323035342c31323036382c31323037302c31323037372c31323039392c31323130342c31323133302c31323133392c31323135302c31323135392c31323136302c31323137352c31323230302c31323230322c31323232382c31323233392c31323330352c31323336382c31323337352c31323337392c31323338392c31323430372c31323431302c31323433322c31323434302c31323434312c31323437352c31323530362c31323531322c31323531332c31323531372c31323532312c31323533302c31323538302c31323633362c31323636392c31323637322c31323637362c31323637372c31323638332c31323638372c31323730352c31323732342c31323734362c31323734382c31323737362c31323739392c31323838352c31323839392c31323930372c31323933302c31323933322c31323935382c31323939332c31333030332c31333033302c31333036312c31333038302c31333038332c31333130352c31333132372c31333133312c31333136392c31333138312c31333138322c31333138352c3133323231231333236352c31333238362c31333234322cc31333239342c3131333438362c1e233332362c31333333392c31333336352c31333337332c31333338352c31333339392c31333433332c31333435312c31333437382c3","genesis_signature":""}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"certificate_hash":{"type":"string"}}}},"/mithril/artifact/snapshots":{"response":{"200":{"description":"SnapshotListMessage represents a list of snapshots","type":"array","items":{"description":"Snapshot represents a snapshot file and its metadata","type":"object","additionalProperties":false,"required":["digest","beacon","certificate_hash","size","created_at","locations"],"properties":{"digest":{"description":"Digest that is signed by the signer participants","type":"string","format":"bytes"},"beacon":{"$ref":"#/components/schemas/CardanoDbBeacon"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"size":{"description":"Size of the snapshot file in Bytes","type":"integer","format":"int64"},"created_at":{"description":"Date and time at which the snapshot was created","type":"string","format":"date-time"},"locations":{"description":"Locations where the binary content of the snapshot can be retrieved","type":"array","items":{"type":"string"}},"compression_algorithm":{"description":"Compression algorithm for the snapshot archive","type":"string"},"cardano_node_version":{"description":"Version of the Cardano node which is used to create snapshot archives.","type":"string"}},"example":{"digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","size":26058531636,"created_at":"2022-07-21T17:32:28Z","locations":["https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C","ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"],"compression_algorithm":"zstandard","cardano_node_version":"1.0.0"}},"example":[{"digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","size":26058531636,"created_at":"2022-07-21T17:32:28Z","locations":["https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C","ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"]}]},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/artifact/snapshot/{digest}":{"response":{"200":{"description":"This message represents a snapshot file and its metadata.","allOf":[{"$ref":"#/components/schemas/Snapshot"}],"example":{"digest":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","beacon":{"network":"mainnet","epoch":329,"immutable_file_number":7060000},"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","size":26058531636,"created_at":"2022-07-21T17:32:28Z","locations":["https://mithril-cdn-us.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","https://mithril-cdn-eu.iohk.io/snapshot/6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C","ipfs:QmPXME1oRtoT627YKaDPDQ3PwA8tdP9rWuAAweLzqSwAWT"],"compression_algorithm":"zstandard","cardano_node_version":"1.0.0"}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"digest":{"type":"string"}}}},"/mithril/artifact/snapshot/{digest}/download":{"response":{"200":{"type":"string","format":"binary"},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"digest":{"type":"string"}}}},"/mithril/artifact/mithril-stake-distributions":{"response":{"200":{"description":"MithrilStakeDistributionListMessage represents a list of Mithril stake distribution","type":"array","items":{"type":"object","additionalProperties":false,"required":["epoch","hash","created_at"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"hash":{"description":"Hash of the Mithril stake distribution","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"created_at":{"description":"Date and time at which the Mithril stake distribution was created","type":"string","format":"date-time,"}},"example":{"epoch":123,"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","created_at":"2022-06-14T10:52:31Z"}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/artifact/mithril-stake-distribution/{hash}":{"response":{"200":{"description":"This message represents a Mithril stake distribution.","type":"object","additionalProperties":false,"required":["epoch","hash","signers","created_at","protocol_parameters"],"properties":{"epoch":{"$ref":"#/components/schemas/Epoch"},"hash":{"description":"Hash of the Mithril stake distribution","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"signers":{"description":"The list of the signers with their stakes and verification keys","type":"array","items":{"$ref":"#/components/schemas/SignerWithStake"}},"created_at":{"description":"Date and time of the entity creation","type":"string","format":"date-time,"},"protocol_parameters":{"$ref":"#/components/schemas/ProtocolParameters"}},"example":{"epoch":123,"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","signers":[{"party_id":"1234567890","verification_key":"7b12766b223a5c342b39302c32392c39392c39382c3131313138342c32252c32352c31353","verification_key_signature":"7b5473693727369676d61223a7b227369676d6d61223a7b261223a9b227369676d61213a","operational_certificate":"5b73136372c38302c37342c3136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537","kes_period":123,"stake":1234},{"party_id":"2345678900","verification_key":"7b392c39392c13131312766b223a5c39382c313342b39302c252c32352c31353328342c32","verification_key_signature":"2c33302c3133312c3138322c34362c3133352c372c3139302c3235322c35352c32322c39","operational_certificate":"3231342c3137372c37312c3232352c3233332c3135335d2c322c3139322c5b3133352c34312c3230332c3131332c3c33352c3234302c3230392c312c32392c3233332c33342c3138382c3134312c3130342c3234382c3231392c3","kes_period":456,"stake":2345}],"created_at":"2022-06-14T10:52:31Z","protocol_parameters":{"k":5,"m":100,"phi_f":0.65}}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/mithril/artifact/cardano-transactions":{"response":{"200":{"description":"CardanoTransactionSnapshotListMessage represents a list of Cardano transactions set snapshots","type":"array","items":{"type":"object","additionalProperties":false,"required":["hash","certificate_hash","merkle_root","epoch","block_number","created_at"],"properties":{"hash":{"description":"Hash of the Cardano transactions set","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"merkle_root":{"description":"Merkle root of the Cardano transactions set","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"block_number":{"description":"Cardano block number","type":"integer","format":"int64"},"created_at":{"description":"Date and time at which the Cardano transactions set was created","type":"string","format":"date-time,"}},"example":{"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","merkle_root":"33bfd17bc082ab5dd1fc0788241c70aa5325241c70aa532530d190809c5391bbc307905e8372","epoch":123,"block_number":1234,"created_at":"2022-06-14T10:52:31Z"}}},"default":{"$ref":"#/components/schemas/Error"}}},"/mithril/artifact/cardano-transaction/{hash}":{"response":{"200":{"description":"This message represents a Cardano transactions set snapshot.","type":"object","additionalProperties":false,"required":["hash","certificate_hash","merkle_root","epoch","block_number","created_at"],"properties":{"hash":{"description":"Hash of the Cardano transactions set","type":"string","format":"bytes"},"certificate_hash":{"description":"Hash of the associated certificate","type":"string","format":"bytes"},"merkle_root":{"description":"Merkle root of the Cardano transactions set","type":"string","format":"bytes"},"epoch":{"$ref":"#/components/schemas/Epoch"},"block_number":{"description":"Cardano block number","type":"integer","format":"int64"},"created_at":{"description":"Date and time at which the Cardano transactions set was created","type":"string","format":"date-time,"}},"example":{"hash":"6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","merkle_root":"33bfd17bc082ab5dd1fc0788241c70aa5325241c70aa532530d190809c5391bbc307905e8372","epoch":123,"block_number":1234,"created_at":"2022-06-14T10:52:31Z"}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"hash":{"type":"string"}}}},"/mithril/proof/cardano-transaction":{"response":{"200":{"description":"This message represents proofs for Cardano Transactions.","type":"object","additionalProperties":false,"required":["certificate_hash","certified_transactions","non_certified_transactions","latest_block_number"],"properties":{"certificate_hash":{"description":"Hash of the certificate that validate the merkle root of this proof","type":"string","format":"bytes"},"certified_transactions":{"description":"Proofs for certified Cardano transactions","type":"array","items":{"type":"object","required":["transactions_hashes","proof"],"properties":{"transactions_hashes":{"type":"array","items":{"description":"Hash of the Cardano transactions","type":"string","format":"bytes"}},"proof":{"description":"Proof for the Cardano transactions","type":"string","format":"bytes"}}}},"non_certified_transactions":{"type":"array","items":{"description":"Hash of the non certified Cardano transactions","type":"string","format":"bytes"}},"latest_block_number":{"description":"Last block number","type":"integer","format":"int64"}},"example":{"certificate_hash":"7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572","certified_transactions":[{"transactions_hashes":["6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732","5d0d1272e6e70736a1ea2cae34015876367ee64517f6328364f6b73930966732"],"proof":"5b73136372c38302c37342c3136362c313535b5b323136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c313532352c3230332c3235352c313030262c33136362c313535b5b3232352c3230332c3235352c313030262c38322c39382c32c39332c3138342c31358322c39382c32c39332c3138342c3135362c3136362c32312c3131312c3232312c36332c3137372c3232332c3232332c31392c3537"}],"non_certified_transactions":["732d0d1272e6e70736367ee6f6328364f6b739309666a1ea2cae34015874517"],"latest_block_number":7060000}},"default":{"$ref":"#/components/schemas/Error"}},"querystring":{"type":"object","properties":{"transaction_hashes":{"type":"array","items":{"type":"string","format":"bytes","example":"6dbb104ed68481ef829a26a20142916d17985e01774d72d72c2f"}}}}},"/mithril/signers/registered/{epoch}":{"response":{"200":{"description":"This message holds the registered signers at a given epoch.\n","type":"object","additionalProperties":false,"properties":{"registered_at":{"$ref":"#/components/schemas/Epoch"},"signing_at":{"$ref":"#/components/schemas/Epoch"},"registrations":{"type":"array","items":{"$ref":"#/components/schemas/SignerRegistrationsListItemMessage"}}},"example":{"registered_at":420,"signing_at":422,"registrations":[{"party_id":"1234567890","stake":1234}]}},"default":{"$ref":"#/components/schemas/Error"}},"params":{"type":"object","properties":{"epoch":{"type":"integer"}}}},"/mithril/signers/tickers":{"response":{"200":{"description":"represents the list of signers known by the aggregator","type":"object","required":["network","signers"],"properties":{"network":{"description":"Cardano network of the aggregator","type":"string","format":"bytes"},"signers":{"description":"Known signers","items":{"$ref":"#/components/schemas/SignerTickerListItemMessage"}}},"example":{"network":"mainnet","signers":[{"party_id":"pool1234567890","pool_ticker":"[Pool_Name]","has_registered":true},{"party_id":"pool0987654321","has_registered":false}]}},"default":{"$ref":"#/components/schemas/Error"}}}} diff --git a/openapi.json b/openapi.json index c008de2f..33e0248f 100644 --- a/openapi.json +++ b/openapi.json @@ -1,7 +1,7 @@ { "openapi": "3.0.3", "info": { - "version": "0.1.64", + "version": "0.1.65", "title": "Blockfrost.io ~ API Documentation", "x-logo": { "url": "https://staging.blockfrost.io/images/logo.svg", @@ -64,6 +64,9 @@ { "name": "Cardano » Epochs" }, + { + "name": "Cardano » Governance" + }, { "name": "Cardano » Ledger" }, @@ -884,59 +887,60 @@ } } }, - "/epochs/latest": { + "/governance/dreps": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Latest epoch", - "description": "Return the information about the latest, therefore current, epoch.", - "responses": { - "200": { - "description": "Return the data about the epoch", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/epoch_content" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" + "summary": "Delegate Representatives (DReps)", + "description": "Return the information about Delegate Representatives (DReps)", + "parameters": [ + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." }, - "429": { - "$ref": "#/components/responses/429" + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." }, - "500": { - "$ref": "#/components/responses/500" + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" } - } - } - }, - "/epochs/latest/parameters": { - "get": { - "tags": [ - "Cardano » Epochs" ], - "summary": "Latest epoch protocol parameters", - "description": "Return the protocol parameters for the latest epoch.", "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Paginated array with the Delegate Representatives (DReps) data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_param_content" + "$ref": "#/components/schemas/dreps" } } } @@ -947,9 +951,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -962,32 +963,32 @@ } } }, - "/epochs/{number}": { + "/governance/dreps/{drep_id}": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Specific epoch", - "description": "Return the content of the requested epoch.", + "summary": "Specific DRep", + "description": "DRep information.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the epoch", - "example": 225 + "description": "Bech32 or hexadecimal DRep ID.", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" } ], "responses": { "200": { - "description": "Return the epoch data.", + "description": "Return the DRep information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_content" + "$ref": "#/components/schemas/drep" } } } @@ -998,9 +999,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1013,23 +1011,23 @@ } } }, - "/epochs/{number}/next": { + "/governance/dreps/{drep_id}/delegators": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Listing of next epochs", - "description": "Return the list of epochs following a specific epoch.", + "summary": "DRep delegators", + "description": "List of Drep delegators.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the requested epoch.", - "example": 225 + "description": "Bech32 or hexadecimal drep ID.", + "example": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" }, { "in": "query", @@ -1054,15 +1052,29 @@ "default": 1 }, "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the DRep delegations", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_content_array" + "$ref": "#/components/schemas/drep_delegators" } } } @@ -1073,9 +1085,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1088,56 +1097,32 @@ } } }, - "/epochs/{number}/previous": { + "/governance/dreps/{drep_id}/metadata": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Listing of previous epochs", - "description": "Return the list of epochs preceding a specific epoch.", + "summary": "DRep metadata", + "description": "DRep metadata information.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" - }, - "description": "Number of the epoch", - "example": 225 - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 + "type": "string" }, - "description": "The page number for listing the results" + "description": "Bech32 or hexadecimal DRep ID.", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" } ], "responses": { "200": { - "description": "Return the epoch data", + "description": "Return the DRep metadata content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_content_array" + "$ref": "#/components/schemas/drep_metadata" } } } @@ -1148,9 +1133,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1163,23 +1145,23 @@ } } }, - "/epochs/{number}/stakes": { + "/governance/dreps/{drep_id}/updates": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Stake distribution", - "description": "Return the active stake distribution for the specified epoch.", + "summary": "DRep updates", + "description": "List of certificate updates to the DRep.", "parameters": [ { "in": "path", - "name": "number", + "name": "drep_id", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the epoch", - "example": 225 + "description": "Bech32 or hexadecimal DRep ID.", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" }, { "in": "query", @@ -1204,15 +1186,29 @@ "default": 1 }, "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the Drep updates history", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_stake_content" + "$ref": "#/components/schemas/drep_updates" } } } @@ -1223,9 +1219,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1238,33 +1231,23 @@ } } }, - "/epochs/{number}/stakes/{pool_id}": { + "/governance/dreps/{drep_id}/votes": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Stake distribution by pool", - "description": "Return the active stake distribution for the epoch specified by stake pool.", + "summary": "DRep votes", + "description": "History of Drep votes.", "parameters": [ { "in": "path", - "name": "number", - "required": true, - "schema": { - "type": "integer" - }, - "description": "Number of the epoch", - "example": 225 - }, - { - "in": "path", + "name": "drep_id", "required": true, - "name": "pool_id", "schema": { "type": "string" }, - "description": "Stake pool ID to filter", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 or hexadecimal drep ID.", + "example": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" }, { "in": "query", @@ -1289,15 +1272,29 @@ "default": 1 }, "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the DRep votes", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_stake_pool_content" + "$ref": "#/components/schemas/drep_votes" } } } @@ -1308,9 +1305,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1323,24 +1317,14 @@ } } }, - "/epochs/{number}/blocks": { + "/governance/proposals": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Block distribution", - "description": "Return the blocks minted for the epoch specified.", + "summary": "Proposals", + "description": "Return the information about Proposals", "parameters": [ - { - "in": "path", - "name": "number", - "required": true, - "schema": { - "type": "integer" - }, - "description": "Number of the epoch", - "example": 225 - }, { "in": "query", "name": "count", @@ -1377,16 +1361,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Paginated array with the proposal data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_block_content" + "$ref": "#/components/schemas/proposals" } } } @@ -1397,9 +1381,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1412,80 +1393,42 @@ } } }, - "/epochs/{number}/blocks/{pool_id}": { + "/governance/proposals/{tx_hash}/{cert_index}": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Block distribution by pool", - "description": "Return the block minted for the epoch specified by stake pool.", + "summary": "Specific proposal", + "description": "Proposal information.", "parameters": [ { "in": "path", - "name": "number", + "name": "tx_hash", "required": true, "schema": { - "type": "integer" + "type": "string" }, - "description": "Number of the epoch", - "example": 225 + "description": "Transaction hash.", + "example": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" }, { "in": "path", + "name": "cert_index", "required": true, - "name": "pool_id", - "schema": { - "type": "string" - }, - "description": "Stake pool ID to filter", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "type": "integer" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Transaction index.", + "example": 1 } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the proposal information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_block_content" + "$ref": "#/components/schemas/proposal" } } } @@ -1496,9 +1439,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1511,32 +1451,42 @@ } } }, - "/epochs/{number}/parameters": { + "/governance/proposals/{tx_hash}/{cert_index}/parameters": { "get": { "tags": [ - "Cardano » Epochs" + "Cardano » Governance" ], - "summary": "Protocol parameters", - "description": "Return the protocol parameters for the epoch specified.", + "summary": "Specific parameters proposal", + "description": "Parameters proposal details.", "parameters": [ { "in": "path", - "name": "number", + "name": "tx_hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Transaction hash.", + "example": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + }, + { + "in": "path", + "name": "cert_index", "required": true, "schema": { "type": "integer" }, - "description": "Number of the epoch", - "example": 225 + "description": "Transaction index.", + "example": 1 } ], "responses": { "200": { - "description": "Return the data about the epoch", + "description": "Return the proposal parameters content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/epoch_param_content" + "$ref": "#/components/schemas/proposal_parameters" } } } @@ -1562,33 +1512,42 @@ } } }, - "/txs/{hash}": { + "/governance/proposals/{tx_hash}/{cert_index}/withdrawals": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Governance" ], - "summary": "Specific transaction", - "description": "Return content of the requested transaction.", + "summary": "Specific withdrawals proposal", + "description": "Parameters withdrawals details.", "parameters": [ { "in": "path", - "name": "hash", + "name": "tx_hash", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "string" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Transaction hash.", + "example": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + }, + { + "in": "path", + "name": "cert_index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Transaction index.", + "example": 1 } ], "responses": { "200": { - "description": "Return the contents of the transaction.", + "description": "Return the proposal withdrawals content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content" + "$ref": "#/components/schemas/proposal_withdrawals" } } } @@ -1614,33 +1573,80 @@ } } }, - "/txs/{hash}/utxos": { + "/governance/proposals/{tx_hash}/{cert_index}/votes": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Governance" ], - "summary": "Transaction UTXOs", - "description": "Return the inputs and UTXOs of the specific transaction.", + "summary": "Proposal votes", + "description": "History of Proposal votes.", "parameters": [ { "in": "path", - "name": "hash", + "name": "tx_hash", "required": true, + "schema": { + "type": "string" + }, + "description": "Transaction hash.", + "example": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + }, + { + "in": "path", + "name": "cert_index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Transaction index.", + "example": 1 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "format": "64-character case-sensitive hexadecimal string" + "enum": [ + "asc", + "desc" + ], + "default": "asc" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the contents of the transaction.", + "description": "Return the Proposal votes", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_utxo" + "$ref": "#/components/schemas/proposal_votes" } } } @@ -1651,9 +1657,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1666,33 +1669,42 @@ } } }, - "/txs/{hash}/stakes": { + "/governance/proposals/{tx_hash}/{cert_index}/metadata": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Governance" ], - "summary": "Transaction stake addresses certificates", - "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", + "summary": "Specific proposal metadata", + "description": "Proposal metadata information.", "parameters": [ { "in": "path", - "name": "hash", + "name": "tx_hash", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "string" }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Transaction hash of the proposal.", + "example": "2403339d2f344202fb3583353e11a693a82860e59e65939dcb0e2ac72336d631" + }, + { + "in": "path", + "name": "cert_index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Transaction index of the proposal.", + "example": 0 } ], "responses": { "200": { - "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", + "description": "Return the proposal information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_stake_addr" + "$ref": "#/components/schemas/proposal_metadata" } } } @@ -1703,9 +1715,6 @@ "403": { "$ref": "#/components/responses/403" }, - "404": { - "$ref": "#/components/responses/404" - }, "418": { "$ref": "#/components/responses/418" }, @@ -1718,33 +1727,20 @@ } } }, - "/txs/{hash}/delegations": { + "/epochs/latest": { "get": { "tags": [ - "Cardano » Transactions" - ], - "summary": "Transaction delegation certificates", - "description": "Obtain information about delegation certificates of a specific transaction.\n", - "parameters": [ - { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" - }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } + "Cardano » Epochs" ], + "summary": "Latest epoch", + "description": "Return the information about the latest, therefore current, epoch.", "responses": { "200": { - "description": "Obtain information about delegation certificates of a specific transaction", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_delegations" + "$ref": "#/components/schemas/epoch_content" } } } @@ -1770,33 +1766,20 @@ } } }, - "/txs/{hash}/withdrawals": { + "/epochs/latest/parameters": { "get": { "tags": [ - "Cardano » Transactions" - ], - "summary": "Transaction withdrawal", - "description": "Obtain information about withdrawals of a specific transaction.", - "parameters": [ - { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" - }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } + "Cardano » Epochs" ], + "summary": "Latest epoch protocol parameters", + "description": "Return the protocol parameters for the latest epoch.", "responses": { "200": { - "description": "Obtain information about withdrawals of a specific transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_withdrawals" + "$ref": "#/components/schemas/epoch_param_content" } } } @@ -1822,33 +1805,32 @@ } } }, - "/txs/{hash}/mirs": { + "/epochs/{number}": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction MIRs", - "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", + "summary": "Specific epoch", + "description": "Return the content of the requested epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" + "type": "integer" }, - "description": "Hash of the requested transaction.", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 } ], "responses": { "200": { - "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", + "description": "Return the epoch data.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_mirs" + "$ref": "#/components/schemas/epoch_content" } } } @@ -1874,33 +1856,56 @@ } } }, - "/txs/{hash}/pool_updates": { + "/epochs/{number}/next": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction stake pool registration and update certificates", - "description": "Obtain information about stake pool registration and update certificates of a specific transaction.\n", + "summary": "Listing of next epochs", + "description": "Return the list of epochs following a specific epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string" + "type": "integer" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } - ], - "responses": { - "200": { - "description": "Obtain information about stake pool certificates of a specific transaction", - "content": { + "description": "Number of the requested epoch.", + "example": 225 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + } + ], + "responses": { + "200": { + "description": "Return the data about the epoch", + "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_pool_certs" + "$ref": "#/components/schemas/epoch_content_array" } } } @@ -1926,33 +1931,56 @@ } } }, - "/txs/{hash}/pool_retires": { + "/epochs/{number}/previous": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction stake pool retirement certificates", - "description": "Obtain information about stake pool retirements within a specific transaction.\n", + "summary": "Listing of previous epochs", + "description": "Return the list of epochs preceding a specific epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results" } ], "responses": { "200": { - "description": "Obtain information about stake pool retirements within a specific transaction.\n", + "description": "Return the epoch data", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_pool_retires" + "$ref": "#/components/schemas/epoch_content_array" } } } @@ -1978,33 +2006,56 @@ } } }, - "/txs/{hash}/metadata": { + "/epochs/{number}/stakes": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction metadata", - "description": "Obtain the transaction metadata.", + "summary": "Stake distribution", + "description": "Return the active stake distribution for the specified epoch.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." } ], "responses": { "200": { - "description": "Obtain metadata information associated with a specific transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_metadata" + "$ref": "#/components/schemas/epoch_stake_content" } } } @@ -2030,33 +2081,66 @@ } } }, - "/txs/{hash}/metadata/cbor": { + "/epochs/{number}/stakes/{pool_id}": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction metadata in CBOR", - "description": "Obtain the transaction metadata in CBOR.", + "summary": "Stake distribution by pool", + "description": "Return the active stake distribution for the epoch specified by stake pool.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "path", + "required": true, + "name": "pool_id", + "schema": { + "type": "string" + }, + "description": "Stake pool ID to filter", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." } ], "responses": { "200": { - "description": "Obtain metadata information associated with a specific transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_metadata_cbor" + "$ref": "#/components/schemas/epoch_stake_pool_content" } } } @@ -2082,33 +2166,70 @@ } } }, - "/txs/{hash}/redeemers": { + "/epochs/{number}/blocks": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction redeemers", - "description": "Obtain the transaction redeemers.", + "summary": "Block distribution", + "description": "Return the blocks minted for the epoch specified.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, + "schema": { + "type": "integer" + }, + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "enum": [ + "asc", + "desc" + ], + "default": "asc" }, - "description": "Hash of the requested transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Obtain information about redeemers within a specific transaction.", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_redeemers" + "$ref": "#/components/schemas/epoch_block_content" } } } @@ -2134,33 +2255,80 @@ } } }, - "/txs/{hash}/required_signers": { + "/epochs/{number}/blocks/{pool_id}": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction required signers", - "description": "Obtain the extra transaction witnesses.", + "summary": "Block distribution by pool", + "description": "Return the block minted for the epoch specified by stake pool.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } - ], - "responses": { - "200": { - "description": "Query required signers (extra transaction witnesses)", + "description": "Number of the epoch", + "example": 225 + }, + { + "in": "path", + "required": true, + "name": "pool_id", + "schema": { + "type": "string" + }, + "description": "Stake pool ID to filter", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_required_signers" + "$ref": "#/components/schemas/epoch_block_content" } } } @@ -2186,33 +2354,32 @@ } } }, - "/txs/{hash}/cbor": { + "/epochs/{number}/parameters": { "get": { "tags": [ - "Cardano » Transactions" + "Cardano » Epochs" ], - "summary": "Transaction CBOR", - "description": "Obtain the CBOR serialized transaction", + "summary": "Protocol parameters", + "description": "Return the protocol parameters for the epoch specified.", "parameters": [ { "in": "path", - "name": "hash", + "name": "number", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "integer" }, - "description": "Hash of the transaction", - "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + "description": "Number of the epoch", + "example": 225 } ], "responses": { "200": { - "description": "Query transaction CBOR", + "description": "Return the data about the epoch", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_content_cbor" + "$ref": "#/components/schemas/epoch_param_content" } } } @@ -2238,49 +2405,33 @@ } } }, - "/tx/submit": { - "post": { + "/txs/{hash}": { + "get": { "tags": [ "Cardano » Transactions" ], - "summary": "Submit a transaction", - "description": "Submit an already serialized transaction to the network.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", - "x-codeSamples": [ - { - "lang": "Shell", - "label": "cURL", - "source": "# Assuming `data` is a serialized transaction on the file-system.\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./data\n" - }, + "summary": "Specific transaction", + "description": "Return content of the requested transaction.", + "parameters": [ { - "lang": "Shell", - "label": "cardano-cli", - "source": "# Assuming `tx.signed` is signed transaction constructed by cardano-cli\nxxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./tx.submit-api.raw\n" + "in": "path", + "name": "hash", + "required": true, + "schema": { + "type": "string", + "format": "64-character case-sensitive hexadecimal string." + }, + "description": "Hash of the requested transaction", + "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], - "requestBody": { - "description": "The transaction to submit, serialized in CBOR.\n", - "required": true, - "content": { - "application/cbor": { - "schema": { - "type": "string", - "description": "The transaction to submit, serialized in CBOR.\n" - }, - "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" - } - } - }, "responses": { "200": { - "description": "Return the ID of the submitted transaction.", + "description": "Return the contents of the transaction.", "content": { "application/json": { "schema": { - "type": "string", - "format": "hex", - "minLength": 64, - "maxLength": 64, - "example": "d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908" + "$ref": "#/components/schemas/tx_content" } } } @@ -2297,9 +2448,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -2309,32 +2457,33 @@ } } }, - "/accounts/{stake_address}": { + "/txs/{hash}/utxos": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Specific account address", - "description": "Obtain information about a specific stake account.\n", + "summary": "Transaction UTXOs", + "description": "Return the inputs and UTXOs of the specific transaction.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string" }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account content.", + "description": "Return the contents of the transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_content" + "$ref": "#/components/schemas/tx_content_utxo" } } } @@ -2360,70 +2509,85 @@ } } }, - "/accounts/{stake_address}/rewards": { + "/txs/{hash}/stakes": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account reward history", - "description": "Obtain information about the reward history of a specific account.\n", + "summary": "Transaction stake addresses certificates", + "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + } + ], + "responses": { + "200": { + "description": "Obtain information about (de)registration of stake addresses within a transaction.\n", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tx_content_stake_addr" + } + } + } }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." + "400": { + "$ref": "#/components/responses/400" }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/txs/{hash}/delegations": { + "get": { + "tags": [ + "Cardano » Transactions" + ], + "summary": "Transaction delegation certificates", + "description": "Obtain information about delegation certificates of a specific transaction.\n", + "parameters": [ { - "in": "query", - "name": "order", - "required": false, + "in": "path", + "name": "hash", + "required": true, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account content.", + "description": "Obtain information about delegation certificates of a specific transaction", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_reward_content" + "$ref": "#/components/schemas/tx_content_delegations" } } } @@ -2449,70 +2613,33 @@ } } }, - "/accounts/{stake_address}/history": { + "/txs/{hash}/withdrawals": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account history", - "description": "Obtain information about the history of a specific account.\n", + "summary": "Transaction withdrawal", + "description": "Obtain information about withdrawals of a specific transaction.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account content.", + "description": "Obtain information about withdrawals of a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_history_content" + "$ref": "#/components/schemas/tx_content_withdrawals" } } } @@ -2538,70 +2665,33 @@ } } }, - "/accounts/{stake_address}/delegations": { + "/txs/{hash}/mirs": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account delegation history", - "description": "Obtain information about the delegation of a specific account.", + "summary": "Transaction MIRs", + "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction.", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account delegations content", + "description": "Obtain information about Move Instantaneous Rewards (MIRs) of a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_delegation_content" + "$ref": "#/components/schemas/tx_content_mirs" } } } @@ -2627,70 +2717,33 @@ } } }, - "/accounts/{stake_address}/registrations": { + "/txs/{hash}/pool_updates": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account registration history", - "description": "Obtain information about the registrations and deregistrations of a specific account.\n", + "summary": "Transaction stake pool registration and update certificates", + "description": "Obtain information about stake pool registration and update certificates of a specific transaction.\n", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account registration content.", + "description": "Obtain information about stake pool certificates of a specific transaction", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_registration_content" + "$ref": "#/components/schemas/tx_content_pool_certs" } } } @@ -2716,70 +2769,33 @@ } } }, - "/accounts/{stake_address}/withdrawals": { + "/txs/{hash}/pool_retires": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account withdrawal history", - "description": "Obtain information about the withdrawals of a specific account.\n", + "summary": "Transaction stake pool retirement certificates", + "description": "Obtain information about stake pool retirements within a specific transaction.\n", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account withdrawal content.", + "description": "Obtain information about stake pool retirements within a specific transaction.\n", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_withdrawal_content" + "$ref": "#/components/schemas/tx_content_pool_retires" } } } @@ -2805,73 +2821,36 @@ } } }, - "/accounts/{stake_address}/mirs": { + "/txs/{hash}/metadata": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account MIR history", - "description": "Obtain information about the MIRs of a specific account.\n", + "summary": "Transaction metadata", + "description": "Obtain the transaction metadata.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" - } - ], - "responses": { - "200": { - "description": "Return the account MIR content.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/account_mir_content" - } - } - } + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" + } + ], + "responses": { + "200": { + "description": "Obtain metadata information associated with a specific transaction.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/tx_content_metadata" + } + } + } }, "400": { "$ref": "#/components/responses/400" @@ -2894,70 +2873,33 @@ } } }, - "/accounts/{stake_address}/addresses": { + "/txs/{hash}/metadata/cbor": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Account associated addresses", - "description": "Obtain information about the addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", + "summary": "Transaction metadata in CBOR", + "description": "Obtain the transaction metadata in CBOR.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account addresses content", + "description": "Obtain metadata information associated with a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_addresses_content" + "$ref": "#/components/schemas/tx_content_metadata_cbor" } } } @@ -2983,70 +2925,33 @@ } } }, - "/accounts/{stake_address}/addresses/assets": { + "/txs/{hash}/redeemers": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Assets associated with the account addresses", - "description": "Obtain information about assets associated with addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", + "summary": "Transaction redeemers", + "description": "Obtain the transaction redeemers.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 stake address.", - "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the account addresses content", + "description": "Obtain information about redeemers within a specific transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_addresses_assets" + "$ref": "#/components/schemas/tx_content_redeemers" } } } @@ -3072,32 +2977,33 @@ } } }, - "/accounts/{stake_address}/addresses/total": { + "/txs/{hash}/required_signers": { "get": { "tags": [ - "Cardano » Accounts" + "Cardano » Transactions" ], - "summary": "Detailed information about account associated addresses", - "description": "Obtain summed details about all addresses associated with a given account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", + "summary": "Transaction required signers", + "description": "Obtain the extra transaction witnesses.", "parameters": [ { "in": "path", - "name": "stake_address", + "name": "hash", "required": true, "schema": { - "type": "string" + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Hash of the transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the Address details.", + "description": "Query required signers (extra transaction witnesses)", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/account_addresses_total" + "$ref": "#/components/schemas/tx_content_required_signers" } } } @@ -3123,60 +3029,33 @@ } } }, - "/mempool": { + "/txs/{hash}/cbor": { "get": { "tags": [ - "Cardano » Mempool" + "Cardano » Transactions" ], - "summary": "Mempool", - "description": "Return transactions that are currently stored in Blockfrost mempool,\nwaiting to be included in a newly minted block.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Transaction CBOR", + "description": "Obtain the CBOR serialized transaction", "parameters": [ { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, + "in": "path", + "name": "hash", + "required": true, "schema": { "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" + "format": "64-character case-sensitive hexadecimal string." }, - "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" + "description": "Hash of the transaction", + "example": "6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the contents of the mempool", + "description": "Query transaction CBOR", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/mempool_content" + "$ref": "#/components/schemas/tx_content_cbor" } } } @@ -3202,33 +3081,49 @@ } } }, - "/mempool/{hash}": { - "get": { + "/tx/submit": { + "post": { "tags": [ - "Cardano » Mempool" + "Cardano » Transactions" ], - "summary": "Specific transaction in the mempool", - "description": "Return content of the requested transaction.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", - "parameters": [ + "summary": "Submit a transaction", + "description": "Submit an already serialized transaction to the network.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "x-codeSamples": [ { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." - }, - "description": "Hash of the requested transaction", - "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" - } - ], - "responses": { - "200": { - "description": "Return the contents of the transaction.", - "content": { - "application/json": { + "lang": "Shell", + "label": "cURL", + "source": "# Assuming `data` is a serialized transaction on the file-system.\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./data\n" + }, + { + "lang": "Shell", + "label": "cardano-cli", + "source": "# Assuming `tx.signed` is signed transaction constructed by cardano-cli\nxxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/tx/submit\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data-binary @./tx.submit-api.raw\n" + } + ], + "requestBody": { + "description": "The transaction to submit, serialized in CBOR.\n", + "required": true, + "content": { + "application/cbor": { + "schema": { + "type": "string", + "description": "The transaction to submit, serialized in CBOR.\n" + }, + "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" + } + } + }, + "responses": { + "200": { + "description": "Return the ID of the submitted transaction.", + "content": { + "application/json": { "schema": { - "$ref": "#/components/schemas/mempool_tx_content" + "type": "string", + "format": "hex", + "minLength": 64, + "maxLength": 64, + "example": "d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908" } } } @@ -3245,6 +3140,9 @@ "418": { "$ref": "#/components/responses/418" }, + "425": { + "$ref": "#/components/responses/425" + }, "429": { "$ref": "#/components/responses/429" }, @@ -3254,24 +3152,74 @@ } } }, - "/mempool/addresses/{address}": { + "/accounts/{stake_address}": { "get": { "tags": [ - "Cardano » Mempool" + "Cardano » Accounts" ], - "summary": "Mempool by address", - "description": "List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Specific account address", + "description": "Obtain information about a specific stake account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { - "type": "string", - "format": "64-character case-sensitive hexadecimal string." + "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + } + ], + "responses": { + "200": { + "description": "Return the account content.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/account_content" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/accounts/{stake_address}/rewards": { + "get": { + "tags": [ + "Cardano » Accounts" + ], + "summary": "Account reward history", + "description": "Obtain information about the reward history of a specific account.\n", + "parameters": [ + { + "in": "path", + "name": "stake_address", + "required": true, + "schema": { + "type": "string" + }, + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3309,16 +3257,16 @@ ], "default": "asc" }, - "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the contents of the mempool", + "description": "Return the account content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/mempool_addresses_content" + "$ref": "#/components/schemas/account_reward_content" } } } @@ -3344,14 +3292,24 @@ } } }, - "/metadata/txs/labels": { + "/accounts/{stake_address}/history": { "get": { "tags": [ - "Cardano » Metadata" + "Cardano » Accounts" ], - "summary": "Transaction metadata labels", - "description": "List of all used transaction metadata labels.\n", + "summary": "Account history", + "description": "Obtain information about the history of a specific account.\n", "parameters": [ + { + "in": "path", + "name": "stake_address", + "required": true, + "schema": { + "type": "string" + }, + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + }, { "in": "query", "name": "count", @@ -3393,11 +3351,11 @@ ], "responses": { "200": { - "description": "Return the account metadata content in CBOR", + "description": "Return the account content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_metadata_labels" + "$ref": "#/components/schemas/account_history_content" } } } @@ -3423,23 +3381,23 @@ } } }, - "/metadata/txs/labels/{label}": { + "/accounts/{stake_address}/delegations": { "get": { "tags": [ - "Cardano » Metadata" + "Cardano » Accounts" ], - "summary": "Transaction metadata content in JSON", - "description": "Transaction metadata per label.", + "summary": "Account delegation history", + "description": "Obtain information about the delegation of a specific account.", "parameters": [ { "in": "path", - "name": "label", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Metadata label", - "example": "1990" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3482,11 +3440,11 @@ ], "responses": { "200": { - "description": "Return the account metadata content", + "description": "Return the account delegations content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_metadata_label_json" + "$ref": "#/components/schemas/account_delegation_content" } } } @@ -3512,23 +3470,23 @@ } } }, - "/metadata/txs/labels/{label}/cbor": { + "/accounts/{stake_address}/registrations": { "get": { "tags": [ - "Cardano » Metadata" + "Cardano » Accounts" ], - "summary": "Transaction metadata content in CBOR", - "description": "Transaction metadata per label.", + "summary": "Account registration history", + "description": "Obtain information about the registrations and deregistrations of a specific account.\n", "parameters": [ { "in": "path", - "name": "label", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Metadata label", - "example": "1990" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3571,11 +3529,11 @@ ], "responses": { "200": { - "description": "Return the account metadata content in CBOR", + "description": "Return the account registration content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/tx_metadata_label_cbor" + "$ref": "#/components/schemas/account_registration_content" } } } @@ -3601,32 +3559,70 @@ } } }, - "/addresses/{address}": { + "/accounts/{stake_address}/withdrawals": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Specific address", - "description": "Obtain information about a specific address.", + "summary": "Account withdrawal history", + "description": "Obtain information about the withdrawals of a specific account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the address content.", + "description": "Return the account withdrawal content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_content" + "$ref": "#/components/schemas/account_withdrawal_content" } } } @@ -3652,125 +3648,23 @@ } } }, - "/addresses/{address}/extended": { + "/accounts/{stake_address}/mirs": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Extended information of a specific address", - "description": "Obtain extended information about a specific address.\n", + "summary": "Account MIR history", + "description": "Obtain information about the MIRs of a specific account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" - } - ], - "responses": { - "200": { - "description": "Return the address content.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/address_content_extended" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" - }, - "429": { - "$ref": "#/components/responses/429" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/addresses/{address}/total": { - "get": { - "tags": [ - "Cardano » Addresses" - ], - "summary": "Address details", - "description": "Obtain details about an address.", - "parameters": [ - { - "in": "path", - "name": "address", - "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" - } - ], - "responses": { - "200": { - "description": "Return the Address details.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/address_content_total" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" - }, - "429": { - "$ref": "#/components/responses/429" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/addresses/{address}/utxos": { - "get": { - "tags": [ - "Cardano » Addresses" - ], - "summary": "Address UTXOs", - "description": "UTXOs of the address.", - "parameters": [ - { - "in": "path", - "name": "address", - "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3813,11 +3707,11 @@ ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the account MIR content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_utxo_content" + "$ref": "#/components/schemas/account_mir_content" } } } @@ -3843,33 +3737,23 @@ } } }, - "/addresses/{address}/utxos/{asset}": { + "/accounts/{stake_address}/addresses": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Address UTXOs of a given asset", - "description": "UTXOs of the address.", + "summary": "Account associated addresses", + "description": "Obtain information about the addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", "parameters": [ { "in": "path", - "name": "address", - "required": true, - "schema": { - "type": "string" - }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" - }, - { - "in": "path", - "name": "asset", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3912,11 +3796,11 @@ ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the account addresses content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_utxo_content" + "$ref": "#/components/schemas/account_addresses_content" } } } @@ -3942,24 +3826,23 @@ } } }, - "/addresses/{address}/txs": { + "/accounts/{stake_address}/addresses/assets": { "get": { - "deprecated": true, "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Address txs", - "description": "Transactions on the address.", + "summary": "Assets associated with the account addresses", + "description": "Obtain information about assets associated with addresses of a specific account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 address.", - "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + "description": "Bech32 stake address.", + "example": "stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc" }, { "in": "query", @@ -3971,7 +3854,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of transactions per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -4002,11 +3885,11 @@ ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the account addresses content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_txs_content" + "$ref": "#/components/schemas/account_addresses_assets" } } } @@ -4032,90 +3915,32 @@ } } }, - "/addresses/{address}/transactions": { + "/accounts/{stake_address}/addresses/total": { "get": { "tags": [ - "Cardano » Addresses" + "Cardano » Accounts" ], - "summary": "Address transactions", - "description": "Transactions on the address.", + "summary": "Detailed information about account associated addresses", + "description": "Obtain summed details about all addresses associated with a given account.\nBe careful, as an account could be part of a mangled address and does not necessarily mean the addresses are owned by user as the account.\n", "parameters": [ { "in": "path", - "name": "address", + "name": "stake_address", "required": true, "schema": { "type": "string" }, "description": "Bech32 address.", "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of addresses per page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" - }, - { - "in": "query", - "name": "from", - "required": false, - "schema": { - "type": "string" - }, - "description": "The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon.\nHas to be lower than or equal to `to` parameter.\n", - "example": "8929261" - }, - { - "in": "query", - "name": "to", - "required": false, - "schema": { - "type": "string" - }, - "description": "The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon.\nHas to be higher than or equal to `from` parameter.\n", - "example": "9999269:10" } ], "responses": { "200": { - "description": "Return the address content", + "description": "Return the Address details.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/address_transactions_content" + "$ref": "#/components/schemas/account_addresses_total" } } } @@ -4141,13 +3966,13 @@ } } }, - "/pools": { + "/mempool": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Mempool" ], - "summary": "List of stake pools", - "description": "List of registered stake pools.", + "summary": "Mempool", + "description": "Return transactions that are currently stored in Blockfrost mempool,\nwaiting to be included in a newly minted block.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { "in": "query", @@ -4159,7 +3984,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of pools per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -4185,16 +4010,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the list of pools.", + "description": "Return the contents of the mempool", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list" + "$ref": "#/components/schemas/mempool_content" } } } @@ -4220,60 +4045,33 @@ } } }, - "/pools/extended": { + "/mempool/{hash}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Mempool" ], - "summary": "List of stake pools with additional information", - "description": "List of registered stake pools with additional information.", + "summary": "Specific transaction in the mempool", + "description": "Return content of the requested transaction.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { - "in": "query", - "name": "count", - "required": false, + "in": "path", + "name": "hash", + "required": true, "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 + "type": "string", + "format": "64-character case-sensitive hexadecimal string." }, - "description": "The number of pools per page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Hash of the requested transaction", + "example": "6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b" } ], "responses": { "200": { - "description": "Return the list of pools.", + "description": "Return the contents of the transaction.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list_extended" + "$ref": "#/components/schemas/mempool_tx_content" } } } @@ -4299,14 +4097,25 @@ } } }, - "/pools/retired": { + "/mempool/addresses/{address}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Mempool" ], - "summary": "List of retired stake pools", - "description": "List of already retired pools.", + "summary": "Mempool by address", + "description": "List of mempool transactions where at least one of the transaction inputs or outputs belongs to the address.\nShows only transactions submitted via Blockfrost.io.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ + { + "in": "path", + "name": "address", + "required": true, + "schema": { + "type": "string", + "format": "64-character case-sensitive hexadecimal string." + }, + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, { "in": "query", "name": "count", @@ -4317,7 +4126,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of pools per page." + "description": "The number of results displayed on one page." }, { "in": "query", @@ -4343,16 +4152,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Ordered by the time of transaction submission.\nBy default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the pool information content", + "description": "Return the contents of the mempool", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list_retire" + "$ref": "#/components/schemas/mempool_addresses_content" } } } @@ -4378,13 +4187,13 @@ } } }, - "/pools/retiring": { + "/metadata/txs/labels": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Metadata" ], - "summary": "List of retiring stake pools", - "description": "List of stake pools retiring in the upcoming epochs", + "summary": "Transaction metadata labels", + "description": "List of all used transaction metadata labels.\n", "parameters": [ { "in": "query", @@ -4427,11 +4236,11 @@ ], "responses": { "200": { - "description": "Return the pool information content", + "description": "Return the account metadata content in CBOR", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_list_retire" + "$ref": "#/components/schemas/tx_metadata_labels" } } } @@ -4457,32 +4266,70 @@ } } }, - "/pools/{pool_id}": { + "/metadata/txs/labels/{label}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Metadata" ], - "summary": "Specific stake pool", - "description": "Pool information.", + "summary": "Transaction metadata content in JSON", + "description": "Transaction metadata per label.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "label", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Metadata label", + "example": "1990" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the pool information content", + "description": "Return the account metadata content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool" + "$ref": "#/components/schemas/tx_metadata_label_json" } } } @@ -4508,23 +4355,23 @@ } } }, - "/pools/{pool_id}/history": { + "/metadata/txs/labels/{label}/cbor": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Metadata" ], - "summary": "Stake pool history", - "description": "History of stake pool parameters over epochs.\n", + "summary": "Transaction metadata content in CBOR", + "description": "Transaction metadata per label.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "label", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Metadata label", + "example": "1990" }, { "in": "query", @@ -4548,7 +4395,7 @@ "maximum": 21474836, "default": 1 }, - "description": "The page number for listing the results" + "description": "The page number for listing the results." }, { "in": "query", @@ -4567,11 +4414,11 @@ ], "responses": { "200": { - "description": "Return the pool information content.", + "description": "Return the account metadata content in CBOR", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_history" + "$ref": "#/components/schemas/tx_metadata_label_cbor" } } } @@ -4597,39 +4444,32 @@ } } }, - "/pools/{pool_id}/metadata": { + "/addresses/{address}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool metadata", - "description": "Stake pool registration metadata.\n", + "summary": "Specific address", + "description": "Obtain information about a specific address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" } ], "responses": { "200": { - "description": "Return the pool metadata content.", + "description": "Return the address content.", "content": { "application/json": { "schema": { - "anyOf": [ - { - "$ref": "#/components/schemas/pool_metadata" - }, - { - "$ref": "#/components/schemas/empty_object" - } - ] + "$ref": "#/components/schemas/address_content" } } } @@ -4655,32 +4495,32 @@ } } }, - "/pools/{pool_id}/relays": { + "/addresses/{address}/extended": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool relays", - "description": "Relays of a stake pool.", + "summary": "Extended information of a specific address", + "description": "Obtain extended information about a specific address.\n", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" } ], "responses": { "200": { - "description": "Return the pool relays information content.", + "description": "Return the address content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_relays" + "$ref": "#/components/schemas/address_content_extended" } } } @@ -4706,70 +4546,32 @@ } } }, - "/pools/{pool_id}/delegators": { + "/addresses/{address}/total": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool delegators", - "description": "List of current stake pools delegators.", + "summary": "Address details", + "description": "Obtain details about an address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" } ], "responses": { "200": { - "description": "Return the pool delegations.", + "description": "Return the Address details.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_delegators" + "$ref": "#/components/schemas/address_content_total" } } } @@ -4795,23 +4597,23 @@ } } }, - "/pools/{pool_id}/blocks": { + "/addresses/{address}/utxos": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool blocks", - "description": "List of stake pools blocks.", + "summary": "Address UTXOs", + "description": "UTXOs of the address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" }, { "in": "query", @@ -4854,11 +4656,11 @@ ], "responses": { "200": { - "description": "Return the pool block list", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_blocks" + "$ref": "#/components/schemas/address_utxo_content" } } } @@ -4884,23 +4686,33 @@ } } }, - "/pools/{pool_id}/updates": { + "/addresses/{address}/utxos/{asset}": { "get": { "tags": [ - "Cardano » Pools" + "Cardano » Addresses" ], - "summary": "Stake pool updates", - "description": "List of certificate updates to the stake pool.", + "summary": "Address UTXOs of a given asset", + "description": "UTXOs of the address.", "parameters": [ { "in": "path", - "name": "pool_id", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Bech32 or hexadecimal pool ID.", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, + { + "in": "path", + "name": "asset", + "required": true, + "schema": { + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" }, { "in": "query", @@ -4943,11 +4755,11 @@ ], "responses": { "200": { - "description": "Return the pool updates history", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/pool_updates" + "$ref": "#/components/schemas/address_utxo_content" } } } @@ -4973,14 +4785,25 @@ } } }, - "/assets": { + "/addresses/{address}/txs": { "get": { + "deprecated": true, "tags": [ - "Cardano » Assets" + "Cardano » Addresses" ], - "summary": "Assets", - "description": "List of assets. If an asset is completely burned,\nit will stay on the list with quantity 0 (order of assets is immutable).\n", + "summary": "Address txs", + "description": "Transactions on the address.", "parameters": [ + { + "in": "path", + "name": "address", + "required": true, + "schema": { + "type": "string" + }, + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" + }, { "in": "query", "name": "count", @@ -4991,7 +4814,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of transactions per page." }, { "in": "query", @@ -5017,67 +4840,16 @@ ], "default": "asc" }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" - } - ], - "responses": { - "200": { - "description": "Return list of assets", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/assets" - } - } - } - }, - "400": { - "$ref": "#/components/responses/400" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - }, - "418": { - "$ref": "#/components/responses/418" - }, - "429": { - "$ref": "#/components/responses/429" - }, - "500": { - "$ref": "#/components/responses/500" - } - } - } - }, - "/assets/{asset}": { - "get": { - "tags": [ - "Cardano » Assets" - ], - "summary": "Specific asset", - "description": "Information about a specific asset", - "parameters": [ - { - "in": "path", - "name": "asset", - "required": true, - "schema": { - "type": "string" - }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the information about a specific asset", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset" + "$ref": "#/components/schemas/address_txs_content" } } } @@ -5103,23 +4875,23 @@ } } }, - "/assets/{asset}/history": { + "/addresses/{address}/transactions": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Addresses" ], - "summary": "Asset history", - "description": "History of a specific asset", + "summary": "Address transactions", + "description": "Transactions on the address.", "parameters": [ { "in": "path", - "name": "asset", + "name": "address", "required": true, "schema": { "type": "string" }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + "description": "Bech32 address.", + "example": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz" }, { "in": "query", @@ -5131,7 +4903,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of addresses per page." }, { "in": "query", @@ -5158,15 +4930,35 @@ "default": "asc" }, "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + }, + { + "in": "query", + "name": "from", + "required": false, + "schema": { + "type": "string" + }, + "description": "The block number and optionally also index from which (inclusive) to start search for results, concatenated using colon.\nHas to be lower than or equal to `to` parameter.\n", + "example": "8929261" + }, + { + "in": "query", + "name": "to", + "required": false, + "schema": { + "type": "string" + }, + "description": "The block number and optionally also index where (inclusive) to end the search for results, concatenated using colon.\nHas to be higher than or equal to `from` parameter.\n", + "example": "9999269:10" } ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the address content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_history" + "$ref": "#/components/schemas/address_transactions_content" } } } @@ -5192,25 +4984,14 @@ } } }, - "/assets/{asset}/txs": { + "/pools": { "get": { - "deprecated": true, "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Asset txs", - "description": "List of a specific asset transactions", + "summary": "List of stake pools", + "description": "List of registered stake pools.", "parameters": [ - { - "in": "path", - "name": "asset", - "required": true, - "schema": { - "type": "string" - }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" - }, { "in": "query", "name": "count", @@ -5221,7 +5002,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of pools per page." }, { "in": "query", @@ -5252,11 +5033,11 @@ ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the list of pools.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_txs" + "$ref": "#/components/schemas/pool_list" } } } @@ -5282,24 +5063,14 @@ } } }, - "/assets/{asset}/transactions": { + "/pools/extended": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Asset transactions", - "description": "List of a specific asset transactions", + "summary": "List of stake pools with additional information", + "description": "List of registered stake pools with additional information.", "parameters": [ - { - "in": "path", - "name": "asset", - "required": true, - "schema": { - "type": "string" - }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" - }, { "in": "query", "name": "count", @@ -5310,7 +5081,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of pools per page." }, { "in": "query", @@ -5341,11 +5112,11 @@ ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the list of pools.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_transactions" + "$ref": "#/components/schemas/pool_list_extended" } } } @@ -5371,24 +5142,14 @@ } } }, - "/assets/{asset}/addresses": { + "/pools/retired": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Asset addresses", - "description": "List of a addresses containing a specific asset", + "summary": "List of retired stake pools", + "description": "List of already retired pools.", "parameters": [ - { - "in": "path", - "name": "asset", - "required": true, - "schema": { - "type": "string" - }, - "description": "Concatenation of the policy_id and hex-encoded asset_name", - "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" - }, { "in": "query", "name": "count", @@ -5399,7 +5160,7 @@ "maximum": 100, "default": 100 }, - "description": "The number of results displayed on one page." + "description": "The number of pools per page." }, { "in": "query", @@ -5430,11 +5191,11 @@ ], "responses": { "200": { - "description": "Return the information about the history of a specific asset", + "description": "Return the pool information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_addresses" + "$ref": "#/components/schemas/pool_list_retire" } } } @@ -5460,24 +5221,14 @@ } } }, - "/assets/policy/{policy_id}": { + "/pools/retiring": { "get": { "tags": [ - "Cardano » Assets" + "Cardano » Pools" ], - "summary": "Assets of a specific policy", - "description": "List of asset minted under a specific policy", + "summary": "List of retiring stake pools", + "description": "List of stake pools retiring in the upcoming epochs", "parameters": [ - { - "in": "path", - "name": "policy_id", - "required": true, - "schema": { - "type": "string" - }, - "description": "Specific policy_id", - "example": "476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3" - }, { "in": "query", "name": "count", @@ -5519,11 +5270,11 @@ ], "responses": { "200": { - "description": "Return the information about a specific asset", + "description": "Return the pool information content", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/asset_policy" + "$ref": "#/components/schemas/pool_list_retire" } } } @@ -5549,21 +5300,82 @@ } } }, - "/scripts": { + "/pools/{pool_id}": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Scripts", - "description": "List of scripts.", + "summary": "Specific stake pool", + "description": "Pool information.", "parameters": [ { - "in": "query", - "name": "count", - "required": false, + "in": "path", + "name": "pool_id", + "required": true, "schema": { - "type": "integer", - "minimum": 1, + "type": "string" + }, + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + } + ], + "responses": { + "200": { + "description": "Return the pool information content", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/pool" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/pools/{pool_id}/history": { + "get": { + "tags": [ + "Cardano » Pools" + ], + "summary": "Stake pool history", + "description": "History of stake pool parameters over epochs.\n", + "parameters": [ + { + "in": "path", + "name": "pool_id", + "required": true, + "schema": { + "type": "string" + }, + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, "maximum": 100, "default": 100 }, @@ -5579,7 +5391,7 @@ "maximum": 21474836, "default": 1 }, - "description": "The page number for listing the results." + "description": "The page number for listing the results" }, { "in": "query", @@ -5598,11 +5410,11 @@ ], "responses": { "200": { - "description": "Return list of scripts", + "description": "Return the pool information content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/scripts" + "$ref": "#/components/schemas/pool_history" } } } @@ -5628,32 +5440,39 @@ } } }, - "/scripts/{script_hash}": { + "/pools/{pool_id}/metadata": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Specific script", - "description": "Information about a specific script", + "summary": "Stake pool metadata", + "description": "Stake pool registration metadata.\n", "parameters": [ { "in": "path", - "name": "script_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" } ], "responses": { "200": { - "description": "Return the information about a specific script", + "description": "Return the pool metadata content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script" + "anyOf": [ + { + "$ref": "#/components/schemas/pool_metadata" + }, + { + "$ref": "#/components/schemas/empty_object" + } + ] } } } @@ -5679,32 +5498,32 @@ } } }, - "/scripts/{script_hash}/json": { + "/pools/{pool_id}/relays": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Script JSON", - "description": "JSON representation of a `timelock` script", + "summary": "Stake pool relays", + "description": "Relays of a stake pool.", "parameters": [ { "in": "path", - "name": "script_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" } ], "responses": { "200": { - "description": "Return the JSON representation of a `timelock` script", + "description": "Return the pool relays information content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_json" + "$ref": "#/components/schemas/pool_relays" } } } @@ -5730,32 +5549,70 @@ } } }, - "/scripts/{script_hash}/cbor": { + "/pools/{pool_id}/delegators": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Script CBOR", - "description": "CBOR representation of a `plutus` script", + "summary": "Stake pool delegators", + "description": "List of current stake pools delegators.", "parameters": [ { "in": "path", - "name": "script_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the CBOR representation of a `plutus` script", + "description": "Return the pool delegations.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_cbor" + "$ref": "#/components/schemas/pool_delegators" } } } @@ -5781,23 +5638,23 @@ } } }, - "/scripts/{script_hash}/redeemers": { + "/pools/{pool_id}/blocks": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Redeemers of a specific script", - "description": "List of redeemers of a specific script", + "summary": "Stake pool blocks", + "description": "List of stake pools blocks.", "parameters": [ { "in": "path", - "name": "script_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the script", - "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" }, { "in": "query", @@ -5840,11 +5697,11 @@ ], "responses": { "200": { - "description": "Return the information about redeemers of a specific script", + "description": "Return the pool block list", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_redeemers" + "$ref": "#/components/schemas/pool_blocks" } } } @@ -5870,32 +5727,70 @@ } } }, - "/scripts/datum/{datum_hash}": { + "/pools/{pool_id}/updates": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Datum value", - "description": "Query JSON value of a datum by its hash", + "summary": "Stake pool updates", + "description": "List of certificate updates to the stake pool.", "parameters": [ { "in": "path", - "name": "datum_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the datum", - "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Return the datum value", + "description": "Return the pool updates history", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_datum" + "$ref": "#/components/schemas/pool_updates" } } } @@ -5921,32 +5816,70 @@ } } }, - "/scripts/datum/{datum_hash}/cbor": { + "/pools/{pool_id}/votes": { "get": { "tags": [ - "Cardano » Scripts" + "Cardano » Pools" ], - "summary": "Datum CBOR value", - "description": "Query CBOR serialised datum by its hash", + "summary": "Stake pool votes", + "description": "History of stake pools votes.", "parameters": [ { "in": "path", - "name": "datum_hash", + "name": "pool_id", "required": true, "schema": { "type": "string" }, - "description": "Hash of the datum", - "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" - } - ], - "responses": { - "200": { - "description": "Return the CBOR serialised datum value", + "description": "Bech32 or hexadecimal pool ID.", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the pool votes.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/script_datum_cbor" + "$ref": "#/components/schemas/pool_votes" } } } @@ -5972,52 +5905,60 @@ } } }, - "/utils/addresses/xpub/{xpub}/{role}/{index}": { + "/assets": { "get": { "tags": [ - "Cardano » Utilities" + "Cardano » Assets" ], - "summary": "Derive an address", - "description": "Derive Shelley address from an xpub", + "summary": "Assets", + "description": "List of assets. If an asset is completely burned,\nit will stay on the list with quantity 0 (order of assets is immutable).\n", "parameters": [ { - "in": "path", - "name": "xpub", - "required": true, + "in": "query", + "name": "count", + "required": false, "schema": { - "type": "string" + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 }, - "description": "Hex xpub", - "example": "d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a" + "description": "The number of results displayed on one page." }, { - "in": "path", - "name": "role", - "required": true, + "in": "query", + "name": "page", + "required": false, "schema": { - "type": "integer" + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 }, - "description": "Account role", - "example": 0 + "description": "The page number for listing the results." }, { - "in": "path", - "name": "index", - "required": true, + "in": "query", + "name": "order", + "required": false, "schema": { - "type": "integer" + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" }, - "description": "Address index", - "example": 2 + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\nOrdering in this case is based on the time of the first mint transaction.\n" } ], "responses": { "200": { - "description": "Return derivated Shelley address", + "description": "Return list of assets", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/utils_addresses_xpub" + "$ref": "#/components/schemas/assets" } } } @@ -6043,54 +5984,32 @@ } } }, - "/utils/txs/evaluate": { - "post": { + "/assets/{asset}": { + "get": { "tags": [ - "Cardano » Utilities" + "Cardano » Assets" ], - "summary": "Submit a transaction for execution units evaluation", - "description": "Submit an already serialized transaction to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Specific asset", + "description": "Information about a specific asset", "parameters": [ { - "in": "header", - "name": "Content-Type", + "in": "path", + "name": "asset", "required": true, "schema": { - "type": "string", - "enum": [ - "application/cbor" - ] - } - } - ], - "x-codeSamples": [ - { - "lang": "Shell", - "label": "cURL", - "source": "# Assuming `tx.data` is a CBOR serialized transaction on the file-system.\n# (encoded using base16 or base64)\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data @./tx.data\n" + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" } ], - "requestBody": { - "description": "The transaction to submit, serialized in CBOR.\n", - "required": true, - "content": { - "application/cbor": { - "schema": { - "type": "string", - "description": "The transaction to submit, serialized in CBOR.\n" - }, - "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" - } - } - }, "responses": { "200": { - "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", + "description": "Return the information about a specific asset", "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": true + "$ref": "#/components/schemas/asset" } } } @@ -6107,9 +6026,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6119,132 +6035,160 @@ } } }, - "/utils/txs/evaluate/utxos": { - "post": { + "/assets/{asset}/history": { + "get": { "tags": [ - "Cardano » Utilities" + "Cardano » Assets" ], - "summary": "Submit a transaction for execution units evaluation (additional UTXO set)", - "description": "Submit a JSON payload with transaction CBOR and additional UTXO set to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Asset history", + "description": "History of a specific asset", "parameters": [ { - "in": "header", - "name": "Content-Type", + "in": "path", + "name": "asset", "required": true, + "schema": { + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", "enum": [ - "application/json" - ] + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the information about the history of a specific asset", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/asset_history" + } + } } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } + } + } + }, + "/assets/{asset}/txs": { + "get": { + "deprecated": true, + "tags": [ + "Cardano » Assets" ], - "requestBody": { - "description": "JSON payload", - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "cbor": { - "type": "string", - "description": "Transaction CBOR (encoded using base64 or base16)." - }, - "additionalUtxoSet": { - "type": "array", - "description": "Additional UTXO as an array of tuples [TxIn, TxOut]. See https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set.", - "items": { - "type": "array", - "minItems": 2, - "maxItems": 2, - "items": { - "anyOf": [ - { - "type": "object", - "description": "TxIn", - "properties": { - "txId": { - "type": "string", - "description": "Transaction hash for the input" - }, - "index": { - "type": "number", - "description": "Index of the output within the transaction" - } - } - }, - { - "type": "object", - "description": "TxOut", - "properties": { - "address": { - "type": "string", - "description": "Output address" - }, - "value": { - "type": "object", - "properties": { - "coins": { - "type": "number", - "description": "Lovelace amount" - }, - "assets": { - "type": "object", - "description": "Assets amount", - "additionalProperties": { - "type": "number" - } - } - }, - "required": [ - "coins" - ] - }, - "datum_hash": { - "type": "string" - }, - "datum": { - "type": "object", - "additionalProperties": true - }, - "script": { - "type": "object", - "additionalProperties": true - } - }, - "required": [ - "address", - "value" - ] - } - ] - } - } - } - }, - "required": [ - "cbor" - ] - } - } - } - }, - "x-codeSamples": [ + "summary": "Asset txs", + "description": "List of a specific asset transactions", + "parameters": [ { - "lang": "Shell", - "label": "cURL", - "source": "# Assuming TxCbor is a CBOR serialized transaction encoded using base16 or base64\n# For a structure of additional UTXO set see https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos\" \\\n -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"project_id: $PROJECT_ID\" \\\n -d '{\"cbor\":\"\",\"additionalUtxoSet\":[[, ]]}'\n" + "in": "path", + "name": "asset", + "required": true, + "schema": { + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", + "description": "Return the information about the history of a specific asset", "content": { "application/json": { "schema": { - "type": "object", - "additionalProperties": true + "$ref": "#/components/schemas/asset_txs" } } } @@ -6261,9 +6205,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6273,70 +6214,70 @@ } } }, - "/ipfs/add": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], - "post": { + "/assets/{asset}/transactions": { + "get": { "tags": [ - "IPFS » Add" + "Cardano » Assets" ], - "summary": "Add a file to IPFS", - "operationId": "ipfs_add", - "description": "You need to `/ipfs/pin/add` an object to avoid it being garbage collected. This usage\nis being counted in your user account quota.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", - "x-codeSamples": [ + "summary": "Asset transactions", + "description": "List of a specific asset transactions", + "parameters": [ { - "lang": "Shell", - "label": "cURL", - "source": "curl \"https://ipfs.blockfrost.io/api/v0/ipfs/add\" \\\n -X POST \\\n -H \"project_id: $PROJECT_ID\" \\\n -F \"file=@./README.md\"\n" + "in": "path", + "name": "asset", + "required": true, + "schema": { + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], - "requestBody": { - "content": { - "multipart/form-data": { - "schema": { - "type": "object", - "properties": { - "file": { - "type": "string", - "format": "binary" - } - } - } - } - } - }, "responses": { "200": { - "description": "Returns information about added IPFS object", + "description": "Return the information about the history of a specific asset", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "example": "README.md", - "description": "Name of the file" - }, - "ipfs_hash": { - "type": "string", - "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", - "description": "IPFS hash of the file" - }, - "size": { - "type": "string", - "example": "125297", - "description": "IPFS node size in Bytes" - } - }, - "required": [ - "name", - "ipfs_hash", - "size" - ] + "$ref": "#/components/schemas/asset_transactions" } } } @@ -6362,37 +6303,70 @@ } } }, - "/ipfs/gateway/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], + "/assets/{asset}/addresses": { "get": { "tags": [ - "IPFS » Gateway" + "Cardano » Assets" ], - "summary": "Relay to an IPFS gateway", - "description": "Retrieve an object from the IPFS gateway (useful if you do not want to rely on a public gateway, such as `ipfs.blockfrost.dev`).\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Asset addresses", + "description": "List of a addresses containing a specific asset", "parameters": [ { "in": "path", + "name": "asset", "required": true, - "name": "IPFS_path", + "schema": { + "type": "string" + }, + "description": "Concatenation of the policy_id and hex-encoded asset_name", + "example": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "description": "Path to the IPFS object" - } + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Returns the object content", + "description": "Return the information about the history of a specific asset", "content": { - "application/octet-stream": { + "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/asset_addresses" } } } @@ -6418,55 +6392,70 @@ } } }, - "/ipfs/pin/add/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], - "post": { + "/assets/policy/{policy_id}": { + "get": { "tags": [ - "IPFS » Pins" + "Cardano » Assets" ], - "summary": "Pin an object", - "description": "Pinning is necessary to avoid regular garbage collection (deletion) of IPFS objects. Non-pinned objects are regularly being removed without prior notice. Pinned objects are counted in your user storage quota.", + "summary": "Assets of a specific policy", + "description": "List of asset minted under a specific policy", "parameters": [ { "in": "path", + "name": "policy_id", "required": true, - "name": "IPFS_path", + "schema": { + "type": "string" + }, + "description": "Specific policy_id", + "example": "476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "description": "Path to the IPFS object" - } + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Returns pinned object", + "description": "Return the information about a specific asset", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "ipfs_hash": { - "type": "string", - "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", - "description": "IPFS hash of the pinned object" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "example": "queued", - "description": "State of the pin action" - } - }, - "required": [ - "ipfs_hash", - "state" - ] + "$ref": "#/components/schemas/asset_policy" } } } @@ -6483,9 +6472,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425-2" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6495,18 +6481,13 @@ } } }, - "/ipfs/pin/list": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], + "/scripts": { "get": { "tags": [ - "IPFS » Pins" + "Cardano » Scripts" ], - "summary": "List pinned objects", - "description": "List objects pinned to local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Scripts", + "description": "List of scripts.", "parameters": [ { "in": "query", @@ -6549,51 +6530,11 @@ ], "responses": { "200": { - "description": "Returns pinned objects", + "description": "Return list of scripts", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "object", - "properties": { - "time_created": { - "type": "integer", - "description": "Creation time of the IPFS object on our backends", - "example": 1615551024 - }, - "time_pinned": { - "type": "integer", - "description": "Pin time of the IPFS object on our backends", - "example": 1615551024 - }, - "ipfs_hash": { - "type": "string", - "description": "IPFS hash of the pinned object", - "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" - }, - "size": { - "type": "string", - "description": "Size of the object in Bytes", - "example": "1615551024" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "description": "State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n", - "example": "pinned" - } - }, - "required": [ - "time_created", - "time_pinned", - "ipfs_hash", - "size", - "state" - ] - } + "$ref": "#/components/schemas/scripts" } } } @@ -6619,73 +6560,32 @@ } } }, - "/ipfs/pin/list/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], + "/scripts/{script_hash}": { "get": { "tags": [ - "IPFS » Pins" + "Cardano » Scripts" ], - "summary": "Get details about pinned object", - "description": "Get information about locally pinned IPFS object\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Specific script", + "description": "Information about a specific script", "parameters": [ { "in": "path", + "name": "script_hash", "required": true, - "name": "IPFS_path", "schema": { - "type": "string", - "description": "The path to the IPFS object" - } + "type": "string" + }, + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" } ], "responses": { "200": { - "description": "Returns the pins pinned", + "description": "Return the information about a specific script", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "time_created": { - "type": "integer", - "description": "Time of the creation of the IPFS object on our backends", - "example": 1615551024 - }, - "time_pinned": { - "type": "integer", - "description": "Time of the pin of the IPFS object on our backends", - "example": 1615551024 - }, - "ipfs_hash": { - "type": "string", - "description": "IPFS hash of the pinned object", - "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" - }, - "size": { - "type": "string", - "description": "Size of the object in Bytes", - "example": "1615551024" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "description": "State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n", - "example": "pinned" - } - }, - "required": [ - "time_created", - "time_pinned", - "ipfs_hash", - "size", - "state" - ] + "$ref": "#/components/schemas/script" } } } @@ -6711,55 +6611,32 @@ } } }, - "/ipfs/pin/remove/{IPFS_path}": { - "servers": [ - { - "url": "https://ipfs.blockfrost.io/api/v0" - } - ], - "post": { + "/scripts/{script_hash}/json": { + "get": { "tags": [ - "IPFS » Pins" + "Cardano » Scripts" ], - "summary": "Remove a IPFS pin", - "description": "Remove pinned objects from local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "summary": "Script JSON", + "description": "JSON representation of a `timelock` script", "parameters": [ { "in": "path", + "name": "script_hash", "required": true, - "name": "IPFS_path", "schema": { - "type": "string", - "description": "The path to the IPFS object" - } + "type": "string" + }, + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" } ], "responses": { "200": { - "description": "Returns the pins removed", + "description": "Return the JSON representation of a `timelock` script", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "ipfs_hash": { - "type": "string", - "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", - "description": "IPFS hash of the pinned object" - }, - "state": { - "type": "string", - "enum": [ - "queued|pinned|unpinned|failed|gc" - ], - "example": "unpinned", - "description": "State of the pin action" - } - }, - "required": [ - "ipfs_hash", - "state" - ] + "$ref": "#/components/schemas/script_json" } } } @@ -6785,20 +6662,32 @@ } } }, - "/metrics": { + "/scripts/{script_hash}/cbor": { "get": { "tags": [ - "Metrics" + "Cardano » Scripts" + ], + "summary": "Script CBOR", + "description": "CBOR representation of a `plutus` script", + "parameters": [ + { + "in": "path", + "name": "script_hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + } ], - "summary": "Blockfrost usage metrics", - "description": "History of your Blockfrost usage metrics in the past 30 days.", "responses": { "200": { - "description": "Return the last 30 days of metrics", + "description": "Return the CBOR representation of a `plutus` script", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/metrics" + "$ref": "#/components/schemas/script_cbor" } } } @@ -6824,20 +6713,70 @@ } } }, - "/metrics/endpoints": { + "/scripts/{script_hash}/redeemers": { "get": { "tags": [ - "Metrics" + "Cardano » Scripts" + ], + "summary": "Redeemers of a specific script", + "description": "List of redeemers of a specific script", + "parameters": [ + { + "in": "path", + "name": "script_hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hash of the script", + "example": "e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e" + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } ], - "summary": "Blockfrost endpoint usage metrics", - "description": "History of your Blockfrost usage metrics per endpoint in the past 30 days.\n", "responses": { "200": { - "description": "Return the last 30 days of metrics", + "description": "Return the information about redeemers of a specific script", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/metrics_endpoints" + "$ref": "#/components/schemas/script_redeemers" } } } @@ -6863,20 +6802,32 @@ } } }, - "/network": { + "/scripts/datum/{datum_hash}": { "get": { "tags": [ - "Cardano » Network" + "Cardano » Scripts" + ], + "summary": "Datum value", + "description": "Query JSON value of a datum by its hash", + "parameters": [ + { + "in": "path", + "name": "datum_hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hash of the datum", + "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" + } ], - "summary": "Network information", - "description": "Return detailed network information.", "responses": { "200": { - "description": "Return detailed network information.", + "description": "Return the datum value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/network" + "$ref": "#/components/schemas/script_datum" } } } @@ -6902,20 +6853,32 @@ } } }, - "/network/eras": { + "/scripts/datum/{datum_hash}/cbor": { "get": { "tags": [ - "Cardano » Network" + "Cardano » Scripts" + ], + "summary": "Datum CBOR value", + "description": "Query CBOR serialised datum by its hash", + "parameters": [ + { + "in": "path", + "name": "datum_hash", + "required": true, + "schema": { + "type": "string" + }, + "description": "Hash of the datum", + "example": "db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d" + } ], - "summary": "Query summary of blockchain eras", - "description": "Returns start and end of each era along with\nparameters that can vary between hard forks.\n", "responses": { "200": { - "description": "Returns era summaries content.", + "description": "Return the CBOR serialised datum value", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/network-eras" + "$ref": "#/components/schemas/script_datum_cbor" } } } @@ -6932,9 +6895,6 @@ "418": { "$ref": "#/components/responses/418" }, - "425": { - "$ref": "#/components/responses/425" - }, "429": { "$ref": "#/components/responses/429" }, @@ -6944,31 +6904,52 @@ } } }, - "/nutlink/{address}": { + "/utils/addresses/xpub/{xpub}/{role}/{index}": { "get": { "tags": [ - "Nut.link" + "Cardano » Utilities" ], - "summary": "Specific nut.link address", - "description": "List metadata about specific address", + "summary": "Derive an address", + "description": "Derive Shelley address from an xpub", "parameters": [ { "in": "path", + "name": "xpub", "required": true, - "name": "address", "schema": { - "type": "string", - "description": "Address of a metadata oracle" - } + "type": "string" + }, + "description": "Hex xpub", + "example": "d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a" + }, + { + "in": "path", + "name": "role", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Account role", + "example": 0 + }, + { + "in": "path", + "name": "index", + "required": true, + "schema": { + "type": "integer" + }, + "description": "Address index", + "example": 2 } ], "responses": { "200": { - "description": "Return the metadata about metadata oracle", + "description": "Return derivated Shelley address", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_address" + "$ref": "#/components/schemas/utils_addresses_xpub" } } } @@ -6994,69 +6975,54 @@ } } }, - "/nutlink/{address}/tickers": { - "get": { + "/utils/txs/evaluate": { + "post": { "tags": [ - "Nut.link" + "Cardano » Utilities" ], - "summary": "List of tickers of an oracle", - "description": "List of records of a specific oracle", + "summary": "Submit a transaction for execution units evaluation", + "description": "Submit an already serialized transaction to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { - "in": "path", + "in": "header", + "name": "Content-Type", "required": true, - "name": "address", "schema": { "type": "string", - "description": "Address of a metadata oracle" + "enum": [ + "application/cbor" + ] } - }, + } + ], + "x-codeSamples": [ { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "lang": "Shell", + "label": "cURL", + "source": "# Assuming `tx.data` is a CBOR serialized transaction on the file-system.\n# (encoded using base16 or base64)\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate\" \\\n -X POST \\\n -H \"Content-Type: application/cbor\" \\\n -H \"project_id: $PROJECT_ID\" \\\n --data @./tx.data\n" } ], + "requestBody": { + "description": "The transaction to submit, serialized in CBOR.\n", + "required": true, + "content": { + "application/cbor": { + "schema": { + "type": "string", + "description": "The transaction to submit, serialized in CBOR.\n" + }, + "example": "83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573\n" + } + } + }, "responses": { "200": { - "description": "Return the tickers provided by the metadata oracle", + "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_address_tickers" + "type": "object", + "additionalProperties": true } } } @@ -7073,6 +7039,9 @@ "418": { "$ref": "#/components/responses/418" }, + "425": { + "$ref": "#/components/responses/425" + }, "429": { "$ref": "#/components/responses/429" }, @@ -7082,78 +7051,132 @@ } } }, - "/nutlink/{address}/tickers/{ticker}": { - "get": { + "/utils/txs/evaluate/utxos": { + "post": { "tags": [ - "Nut.link" + "Cardano » Utilities" ], - "summary": "Specific ticker for an address", - "description": "List of records of a specific ticker", + "summary": "Submit a transaction for execution units evaluation (additional UTXO set)", + "description": "Submit a JSON payload with transaction CBOR and additional UTXO set to evaluate how much execution units it requires.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { - "in": "path", + "in": "header", + "name": "Content-Type", "required": true, - "name": "address", "schema": { "type": "string", - "description": "Address of a metadata oracle" + "enum": [ + "application/json" + ] } - }, - { - "in": "path", - "required": true, - "name": "ticker", - "schema": { - "type": "string", - "description": "Ticker for the pool record" + } + ], + "requestBody": { + "description": "JSON payload", + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "cbor": { + "type": "string", + "description": "Transaction CBOR (encoded using base64 or base16)." + }, + "additionalUtxoSet": { + "type": "array", + "description": "Additional UTXO as an array of tuples [TxIn, TxOut]. See https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set.", + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "anyOf": [ + { + "type": "object", + "description": "TxIn", + "properties": { + "txId": { + "type": "string", + "description": "Transaction hash for the input" + }, + "index": { + "type": "number", + "description": "Index of the output within the transaction" + } + } + }, + { + "type": "object", + "description": "TxOut", + "properties": { + "address": { + "type": "string", + "description": "Output address" + }, + "value": { + "type": "object", + "properties": { + "coins": { + "type": "number", + "description": "Lovelace amount" + }, + "assets": { + "type": "object", + "description": "Assets amount", + "additionalProperties": { + "type": "number" + } + } + }, + "required": [ + "coins" + ] + }, + "datum_hash": { + "type": "string" + }, + "datum": { + "type": "object", + "additionalProperties": true + }, + "script": { + "type": "object", + "additionalProperties": true + } + }, + "required": [ + "address", + "value" + ] + } + ] + } + } + } + }, + "required": [ + "cbor" + ] + } } - }, - { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, + } + }, + "x-codeSamples": [ { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "lang": "Shell", + "label": "cURL", + "source": "# Assuming TxCbor is a CBOR serialized transaction encoded using base16 or base64\n# For a structure of additional UTXO set see https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set\ncurl \"https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos\" \\\n -X POST \\\n -H \"Content-Type: application/json\" \\\n -H \"project_id: $PROJECT_ID\" \\\n -d '{\"cbor\":\"\",\"additionalUtxoSet\":[[, ]]}'\n" } ], "responses": { "200": { - "description": "Return the tickers provided by the metadata oracle", + "description": "

\n

\n Returns result of EvaluateTx function from Ogmios see EvaluateTx\n and API reference (EvaluateTxResponse) for related errors.\n
\n

\n", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_address_ticker" + "type": "object", + "additionalProperties": true } } } @@ -7170,6 +7193,9 @@ "418": { "$ref": "#/components/responses/418" }, + "425": { + "$ref": "#/components/responses/425" + }, "429": { "$ref": "#/components/responses/429" }, @@ -7179,69 +7205,70 @@ } } }, - "/nutlink/tickers/{ticker}": { - "get": { + "/ipfs/add": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], + "post": { "tags": [ - "Nut.link" + "IPFS » Add" ], - "summary": "Specific ticker", - "description": "List of records of a specific ticker", - "parameters": [ - { - "in": "path", - "required": true, - "name": "ticker", - "schema": { - "type": "string", - "description": "Ticker for the pool record" - } - }, + "summary": "Add a file to IPFS", + "operationId": "ipfs_add", + "description": "You need to `/ipfs/pin/add` an object to avoid it being garbage collected. This usage\nis being counted in your user account quota.\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "x-codeSamples": [ { - "in": "query", - "name": "count", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 100, - "default": 100 - }, - "description": "The number of results displayed on one page." - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "type": "integer", - "minimum": 1, - "maximum": 21474836, - "default": 1 - }, - "description": "The page number for listing the results." - }, - { - "in": "query", - "name": "order", - "required": false, - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + "lang": "Shell", + "label": "cURL", + "source": "curl \"https://ipfs.blockfrost.io/api/v0/ipfs/add\" \\\n -X POST \\\n -H \"project_id: $PROJECT_ID\" \\\n -F \"file=@./README.md\"\n" } ], + "requestBody": { + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "format": "binary" + } + } + } + } + } + }, "responses": { "200": { - "description": "Return the tickers provided by the metadata oracle", + "description": "Returns information about added IPFS object", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/nutlink_tickers_ticker" + "type": "object", + "properties": { + "name": { + "type": "string", + "example": "README.md", + "description": "Name of the file" + }, + "ipfs_hash": { + "type": "string", + "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", + "description": "IPFS hash of the file" + }, + "size": { + "type": "string", + "example": "125297", + "description": "IPFS node size in Bytes" + } + }, + "required": [ + "name", + "ipfs_hash", + "size" + ] } } } @@ -7267,633 +7294,1538 @@ } } }, - "/mithril/": { + "/ipfs/gateway/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], "get": { "tags": [ - "Cardano » Mithril" + "IPFS » Gateway" ], - "summary": "Get public specifications about the aggregator", - "description": "Returns the specifications related to the aggregator:\n * Open API version\n * URL of Mithril documentation\n * Capabilities of the aggregator\n * Cardano transactions prover capabilities\n", - "responses": { - "200": { - "description": "root found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AggregatorFeaturesMessage" - } - } - } - }, - "412": { - "description": "API version mismatch" - }, - "default": { - "description": "root error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } + "summary": "Relay to an IPFS gateway", + "description": "Retrieve an object from the IPFS gateway (useful if you do not want to rely on a public gateway, such as `ipfs.blockfrost.dev`).\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "parameters": [ + { + "in": "path", + "required": true, + "name": "IPFS_path", + "schema": { + "type": "string", + "description": "Path to the IPFS object" } } - } - } - }, - "/mithril/epoch-settings": { - "get": { - "tags": [ - "Cardano » Mithril" ], - "summary": "Get current epoch settings", - "description": "Returns the information related to the current epoch:\n * protocol parameters for current epoch\n * protocol parameters for next epoch (to setup cryptography, allowing signers to register)\n", "responses": { "200": { - "description": "epoch settings found", + "description": "Returns the object content", "content": { - "application/json": { + "application/octet-stream": { "schema": { - "$ref": "#/components/schemas/EpochSettingsMessage" + "type": "string", + "format": "binary" } } } }, - "412": { - "description": "API version mismatch" + "400": { + "$ref": "#/components/responses/400" }, - "default": { - "description": "epoch settings error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/certificate-pending": { - "get": { + "/ipfs/pin/add/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], + "post": { "tags": [ - "Cardano » Mithril" + "IPFS » Pins" + ], + "summary": "Pin an object", + "description": "Pinning is necessary to avoid regular garbage collection (deletion) of IPFS objects. Non-pinned objects are regularly being removed without prior notice. Pinned objects are counted in your user storage quota.", + "parameters": [ + { + "in": "path", + "required": true, + "name": "IPFS_path", + "schema": { + "type": "string", + "description": "Path to the IPFS object" + } + } ], - "summary": "Get current pending certificate information", - "description": "Returns the information related to the current pending certificate:\n * protocol parameters, for current and next epoch (to setup cryptography)\n * beacon information (where on the chain the pending certificate should be triggered)\n * entity type of the message that must be signed\n * verification keys of the signers, for current and next epoch\n", "responses": { "200": { - "description": "pending certificate found", + "description": "Returns pinned object", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CertificatePendingMessage" + "type": "object", + "properties": { + "ipfs_hash": { + "type": "string", + "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", + "description": "IPFS hash of the pinned object" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "example": "queued", + "description": "State of the pin action" + } + }, + "required": [ + "ipfs_hash", + "state" + ] } } } }, - "204": { - "description": "no pending certificate available" + "400": { + "$ref": "#/components/responses/400" }, - "412": { - "description": "API version mismatch" + "403": { + "$ref": "#/components/responses/403" }, - "default": { - "description": "pending certificate error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "425": { + "$ref": "#/components/responses/425-2" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/certificates": { + "/ipfs/pin/list": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], "get": { "tags": [ - "Cardano » Mithril" + "IPFS » Pins" ], - "summary": "Get most recent certificates", - "description": "Returns the list of the most recent certificates\n", - "responses": { - "200": { - "description": "certificates found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CertificateListMessage" - } - } - } + "summary": "List pinned objects", + "description": "List objects pinned to local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "parameters": [ + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." }, - "412": { - "description": "API version mismatch" + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." }, - "default": { - "description": "certificates retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - } - } - }, - "/mithril/certificate/{certificate_hash}": { - "get": { - "tags": [ - "Cardano » Mithril" - ], - "summary": "Get certificate by hash", - "description": "Returns the certificate identified by its hash\n", - "parameters": [ { - "name": "certificate_hash", - "in": "path", - "description": "Hash of the certificate to retrieve", - "required": true, + "in": "query", + "name": "order", + "required": false, "schema": { "type": "string", - "format": "bytes" + "enum": [ + "asc", + "desc" + ], + "default": "asc" }, - "example": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572" + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "certificate found", + "description": "Returns pinned objects", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CertificateMessage" + "type": "array", + "items": { + "type": "object", + "properties": { + "time_created": { + "type": "integer", + "description": "Creation time of the IPFS object on our backends", + "example": 1615551024 + }, + "time_pinned": { + "type": "integer", + "description": "Pin time of the IPFS object on our backends", + "example": 1615551024 + }, + "ipfs_hash": { + "type": "string", + "description": "IPFS hash of the pinned object", + "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" + }, + "size": { + "type": "string", + "description": "Size of the object in Bytes", + "example": "1615551024" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "description": "State of the pinned object, which is `queued` when we are retriving object. If this\nis successful the state is changed to `pinned` or `failed` if not. The state `gc` means the\npinned item has been garbage collected due to account being over storage quota or after it has\nbeen moved to `unpinned` state by removing the object pin.\n", + "example": "pinned" + } + }, + "required": [ + "time_created", + "time_pinned", + "ipfs_hash", + "size", + "state" + ] + } } } } }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, "404": { - "description": "certificate not found" + "$ref": "#/components/responses/404" }, - "412": { - "description": "API version mismatch" + "418": { + "$ref": "#/components/responses/418" }, - "default": { - "description": "pending certificate error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/artifact/snapshots": { + "/ipfs/pin/list/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], "get": { "tags": [ - "Cardano » Mithril" + "IPFS » Pins" + ], + "summary": "Get details about pinned object", + "description": "Get information about locally pinned IPFS object\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", + "parameters": [ + { + "in": "path", + "required": true, + "name": "IPFS_path", + "schema": { + "type": "string", + "description": "The path to the IPFS object" + } + } ], - "summary": "Get most recent snapshots", - "description": "Returns the list of the most recent snapshots\n", "responses": { "200": { - "description": "snapshots found", + "description": "Returns the pins pinned", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SnapshotListMessage" + "type": "object", + "properties": { + "time_created": { + "type": "integer", + "description": "Time of the creation of the IPFS object on our backends", + "example": 1615551024 + }, + "time_pinned": { + "type": "integer", + "description": "Time of the pin of the IPFS object on our backends", + "example": 1615551024 + }, + "ipfs_hash": { + "type": "string", + "description": "IPFS hash of the pinned object", + "example": "QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx" + }, + "size": { + "type": "string", + "description": "Size of the object in Bytes", + "example": "1615551024" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "description": "State of the pinned object. We define 5 states: `queued`, `pinned`, `unpinned`, `failed`, `gc`.\nWhen the object is pending retrieval (i.e. after `/ipfs/pin/add/{IPFS_path}`), the state is `queued`.\nIf the object is already successfully retrieved, state is changed to `pinned` or `failed` otherwise.\nWhen object is unpinned (i.e. after `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage collection.\nState `gc` means that a previously `unpinned` item has been garbage collected due to account being over storage quota.\n", + "example": "pinned" + } + }, + "required": [ + "time_created", + "time_pinned", + "ipfs_hash", + "size", + "state" + ] } } } }, - "412": { - "description": "API version mismatch" + "400": { + "$ref": "#/components/responses/400" }, - "default": { - "description": "snapshots retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/artifact/snapshot/{digest}": { - "get": { + "/ipfs/pin/remove/{IPFS_path}": { + "servers": [ + { + "url": "https://ipfs.blockfrost.io/api/v0" + } + ], + "post": { "tags": [ - "Cardano » Mithril" + "IPFS » Pins" ], - "summary": "Get snapshot information", - "description": "Returns the information of a snapshot and where to retrieve its binary content\n", + "summary": "Remove a IPFS pin", + "description": "Remove pinned objects from local storage\n\n

\n Hosted Endpoint only available for hosted variant.\n

\n", "parameters": [ { - "name": "digest", "in": "path", - "description": "Digest of the snapshot to retrieve", "required": true, + "name": "IPFS_path", "schema": { "type": "string", - "format": "bytes" - }, - "example": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732" + "description": "The path to the IPFS object" + } } ], "responses": { "200": { - "description": "snapshot found", + "description": "Returns the pins removed", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SnapshotMessage" + "type": "object", + "properties": { + "ipfs_hash": { + "type": "string", + "example": "QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8", + "description": "IPFS hash of the pinned object" + }, + "state": { + "type": "string", + "enum": [ + "queued|pinned|unpinned|failed|gc" + ], + "example": "unpinned", + "description": "State of the pin action" + } + }, + "required": [ + "ipfs_hash", + "state" + ] } } } }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, "404": { - "description": "snapshot not found" + "$ref": "#/components/responses/404" }, - "412": { - "description": "API version mismatch" + "418": { + "$ref": "#/components/responses/418" }, - "default": { - "description": "snapshot retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/artifact/snapshot/{digest}/download": { + "/metrics": { "get": { "tags": [ - "Cardano » Mithril" - ], - "summary": "Download the snapshot", - "description": "Returns the snapshot archive binary content\n", - "parameters": [ - { - "name": "digest", - "in": "path", - "description": "Digest of the snapshot to download", - "required": true, - "schema": { - "type": "string", - "format": "bytes" - }, - "example": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732" - } + "Metrics" ], + "summary": "Blockfrost usage metrics", + "description": "History of your Blockfrost usage metrics in the past 30 days.", "responses": { "200": { - "description": "snapshot found", + "description": "Return the last 30 days of metrics", "content": { - "application/gzip": { + "application/json": { "schema": { - "type": "string", - "format": "binary" + "$ref": "#/components/schemas/metrics" } } } }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, "404": { - "description": "snapshot not found" + "$ref": "#/components/responses/404" }, - "412": { - "description": "API version mismatch" + "418": { + "$ref": "#/components/responses/418" }, - "default": { - "description": "snapshot retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/artifact/mithril-stake-distributions": { + "/metrics/endpoints": { "get": { "tags": [ - "Cardano » Mithril" + "Metrics" ], - "summary": "Get most recent Mithril stake distributions", - "description": "Returns the list of the most recent Mithril stake distributions\n", + "summary": "Blockfrost endpoint usage metrics", + "description": "History of your Blockfrost usage metrics per endpoint in the past 30 days.\n", "responses": { "200": { - "description": "Mithril stake distribution found", + "description": "Return the last 30 days of metrics", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MithrilStakeDistributionListMessage" + "$ref": "#/components/schemas/metrics_endpoints" } } } }, - "412": { - "description": "API version mismatch" + "400": { + "$ref": "#/components/responses/400" }, - "default": { - "description": "Mithril stake distribution retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/artifact/mithril-stake-distribution/{hash}": { + "/network": { "get": { "tags": [ - "Cardano » Mithril" - ], - "summary": "Get Mithril stake distribution information", - "description": "Returns the information of a Mithril stake distribution\n", - "parameters": [ - { - "name": "hash", - "in": "path", - "description": "Hash of the Mithril stake distribution to retrieve", - "required": true, - "schema": { - "type": "string", - "format": "bytes" - }, - "example": "6da2b104ed68481ef829d72d72c2f6a20142916d17985e01774b14ed49f0fea1" - } + "Cardano » Network" ], + "summary": "Network information", + "description": "Return detailed network information.", "responses": { "200": { - "description": "Mithril stake distribution found", + "description": "Return detailed network information.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MithrilStakeDistributionMessage" + "$ref": "#/components/schemas/network" } } } }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, "404": { - "description": "Mithril stake distribution not found" + "$ref": "#/components/responses/404" }, - "412": { - "description": "API version mismatch" + "418": { + "$ref": "#/components/responses/418" }, - "default": { - "description": "Mithril stake distribution retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/artifact/cardano-transactions": { + "/network/eras": { "get": { "tags": [ - "Cardano » Mithril" + "Cardano » Network" ], - "summary": "Get most recent Cardano transactions set snapshots", - "description": "Returns the list of the most recent Cardano transactions set snapshots\n", + "summary": "Query summary of blockchain eras", + "description": "Returns start and end of each era along with\nparameters that can vary between hard forks.\n", "responses": { "200": { - "description": "Cardano transactions set snapshots found", + "description": "Returns era summaries content.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardanoTransactionSnapshotListMessage" + "$ref": "#/components/schemas/network-eras" } } } }, - "412": { - "description": "API version mismatch" + "400": { + "$ref": "#/components/responses/400" }, - "default": { - "description": "Cardano transactions set snapshots retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "425": { + "$ref": "#/components/responses/425" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/artifact/cardano-transaction/{hash}": { + "/nutlink/{address}": { "get": { "tags": [ - "Cardano » Mithril" + "Nut.link" ], - "summary": "Get Cardano transactions set snapshot information", - "description": "Returns the information of a Cardano transactions set snapshot\n", + "summary": "Specific nut.link address", + "description": "List metadata about specific address", "parameters": [ { - "name": "hash", "in": "path", - "description": "Hash of the Cardano transactions set snapshot to retrieve", "required": true, + "name": "address", "schema": { "type": "string", - "format": "bytes" - }, - "example": "6da2b104ed68481ef829d72d72c2f6a20142916d17985e01774b14ed49f0fea1" + "description": "Address of a metadata oracle" + } } ], "responses": { "200": { - "description": "Cardano transactions set snapshot found", + "description": "Return the metadata about metadata oracle", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardanoTransactionSnapshotMessage" + "$ref": "#/components/schemas/nutlink_address" } } } }, - "404": { - "description": "Cardano transactions set snapshot not found" + "400": { + "$ref": "#/components/responses/400" }, - "412": { - "description": "API version mismatch" + "403": { + "$ref": "#/components/responses/403" }, - "default": { - "description": "Cardano transactions set snapshot retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/proof/cardano-transaction": { + "/nutlink/{address}/tickers": { "get": { "tags": [ - "Cardano » Mithril" + "Nut.link" ], - "summary": "Get the proofs of a Cardano transaction list", - "description": "Returns the transaction hashes and the corresponding proofs\n", + "summary": "List of tickers of an oracle", + "description": "List of records of a specific oracle", "parameters": [ { - "name": "transaction_hashes", - "in": "query", - "description": "Hashes of the Cardano transactions to retrieve proofs for", + "in": "path", "required": true, + "name": "address", "schema": { - "type": "array", - "items": { - "type": "string", - "format": "bytes", - "example": "6dbb104ed68481ef829a26a20142916d17985e01774d72d72c2f" - } + "type": "string", + "description": "Address of a metadata oracle" + } + }, + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 }, - "explode": false + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Cardano transaction proofs found", + "description": "Return the tickers provided by the metadata oracle", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CardanoTransactionProofMessage" + "$ref": "#/components/schemas/nutlink_address_tickers" } } } }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, "404": { - "description": "No Cardano transactions were ever signed" + "$ref": "#/components/responses/404" }, - "412": { - "description": "API version mismatch" + "418": { + "$ref": "#/components/responses/418" }, - "default": { - "description": "Cardano transaction proofs retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/signers/registered/{epoch}": { + "/nutlink/{address}/tickers/{ticker}": { "get": { "tags": [ - "Cardano » Mithril" + "Nut.link" ], - "summary": "Get registered signers for an epoch", - "description": "Returns the signers that registered at a given Epoch\n", + "summary": "Specific ticker for an address", + "description": "List of records of a specific ticker", "parameters": [ { - "name": "epoch", "in": "path", - "description": "Cardano Epoch at which the signer registrations are registered", "required": true, + "name": "address", + "schema": { + "type": "string", + "description": "Address of a metadata oracle" + } + }, + { + "in": "path", + "required": true, + "name": "ticker", + "schema": { + "type": "string", + "description": "Ticker for the pool record" + } + }, + { + "in": "query", + "name": "count", + "required": false, "schema": { "type": "integer", - "format": "int64" + "minimum": 1, + "maximum": 100, + "default": 100 }, - "example": 419 + "description": "The number of results displayed on one page." + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" } ], "responses": { "200": { - "description": "Registered Signers found", + "description": "Return the tickers provided by the metadata oracle", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SignerRegistrationsMessage" + "$ref": "#/components/schemas/nutlink_address_ticker" } } } }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, "404": { - "description": "Registered Signers not found" + "$ref": "#/components/responses/404" }, - "412": { - "description": "API version mismatch" + "418": { + "$ref": "#/components/responses/418" }, - "default": { - "description": "Registered Signers retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" } } } }, - "/mithril/signers/tickers": { + "/nutlink/tickers/{ticker}": { "get": { "tags": [ - "Cardano » Mithril" + "Nut.link" ], - "summary": "Get the signers known by the aggregator", - "description": "Returns the signers party id and, if available, their pool ticker\n", - "responses": { - "200": { - "description": "Signers found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SignersTickersMessage" - } - } + "summary": "Specific ticker", + "description": "List of records of a specific ticker", + "parameters": [ + { + "in": "path", + "required": true, + "name": "ticker", + "schema": { + "type": "string", + "description": "Ticker for the pool record" } }, - "412": { - "description": "API version mismatch" + { + "in": "query", + "name": "count", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "default": 100 + }, + "description": "The number of results displayed on one page." }, - "default": { - "description": "Signers retrieval error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 21474836, + "default": 1 + }, + "description": "The page number for listing the results." + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "type": "string", + "enum": [ + "asc", + "desc" + ], + "default": "asc" + }, + "description": "The ordering of items from the point of view of the blockchain,\nnot the page listing itself. By default, we return oldest first, newest last.\n" + } + ], + "responses": { + "200": { + "description": "Return the tickers provided by the metadata oracle", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/nutlink_tickers_ticker" + } + } + } + }, + "400": { + "$ref": "#/components/responses/400" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + }, + "418": { + "$ref": "#/components/responses/418" + }, + "429": { + "$ref": "#/components/responses/429" + }, + "500": { + "$ref": "#/components/responses/500" + } + } + } + }, + "/mithril/": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get public specifications about the aggregator", + "description": "Returns the specifications related to the aggregator:\n * Open API version\n * URL of Mithril documentation\n * Capabilities of the aggregator\n * Cardano transactions prover capabilities\n", + "responses": { + "200": { + "description": "root found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AggregatorFeaturesMessage" + } + } + } + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "root error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/epoch-settings": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get current epoch settings", + "description": "Returns the information related to the current epoch:\n * protocol parameters for current epoch\n * protocol parameters for next epoch (to setup cryptography, allowing signers to register)\n", + "responses": { + "200": { + "description": "epoch settings found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EpochSettingsMessage" + } + } + } + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "epoch settings error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/certificate-pending": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get current pending certificate information", + "description": "Returns the information related to the current pending certificate:\n * protocol parameters, for current and next epoch (to setup cryptography)\n * beacon information (where on the chain the pending certificate should be triggered)\n * entity type of the message that must be signed\n * verification keys of the signers, for current and next epoch\n", + "responses": { + "200": { + "description": "pending certificate found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CertificatePendingMessage" + } + } + } + }, + "204": { + "description": "no pending certificate available" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "pending certificate error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/certificates": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get most recent certificates", + "description": "Returns the list of the most recent certificates\n", + "responses": { + "200": { + "description": "certificates found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CertificateListMessage" + } + } + } + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "certificates retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/certificate/{certificate_hash}": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get certificate by hash", + "description": "Returns the certificate identified by its hash\n", + "parameters": [ + { + "name": "certificate_hash", + "in": "path", + "description": "Hash of the certificate to retrieve", + "required": true, + "schema": { + "type": "string", + "format": "bytes" + }, + "example": "7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572" + } + ], + "responses": { + "200": { + "description": "certificate found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CertificateMessage" + } + } + } + }, + "404": { + "description": "certificate not found" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "pending certificate error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/artifact/snapshots": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get most recent snapshots", + "description": "Returns the list of the most recent snapshots\n", + "responses": { + "200": { + "description": "snapshots found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SnapshotListMessage" + } + } + } + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "snapshots retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/artifact/snapshot/{digest}": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get snapshot information", + "description": "Returns the information of a snapshot and where to retrieve its binary content\n", + "parameters": [ + { + "name": "digest", + "in": "path", + "description": "Digest of the snapshot to retrieve", + "required": true, + "schema": { + "type": "string", + "format": "bytes" + }, + "example": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732" + } + ], + "responses": { + "200": { + "description": "snapshot found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SnapshotMessage" + } + } + } + }, + "404": { + "description": "snapshot not found" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "snapshot retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/artifact/snapshot/{digest}/download": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Download the snapshot", + "description": "Returns the snapshot archive binary content\n", + "parameters": [ + { + "name": "digest", + "in": "path", + "description": "Digest of the snapshot to download", + "required": true, + "schema": { + "type": "string", + "format": "bytes" + }, + "example": "6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732" + } + ], + "responses": { + "200": { + "description": "snapshot found", + "content": { + "application/gzip": { + "schema": { + "type": "string", + "format": "binary" + } + } + } + }, + "404": { + "description": "snapshot not found" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "snapshot retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/artifact/mithril-stake-distributions": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get most recent Mithril stake distributions", + "description": "Returns the list of the most recent Mithril stake distributions\n", + "responses": { + "200": { + "description": "Mithril stake distribution found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MithrilStakeDistributionListMessage" + } + } + } + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "Mithril stake distribution retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/artifact/mithril-stake-distribution/{hash}": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get Mithril stake distribution information", + "description": "Returns the information of a Mithril stake distribution\n", + "parameters": [ + { + "name": "hash", + "in": "path", + "description": "Hash of the Mithril stake distribution to retrieve", + "required": true, + "schema": { + "type": "string", + "format": "bytes" + }, + "example": "6da2b104ed68481ef829d72d72c2f6a20142916d17985e01774b14ed49f0fea1" + } + ], + "responses": { + "200": { + "description": "Mithril stake distribution found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MithrilStakeDistributionMessage" + } + } + } + }, + "404": { + "description": "Mithril stake distribution not found" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "Mithril stake distribution retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/artifact/cardano-transactions": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get most recent Cardano transactions set snapshots", + "description": "Returns the list of the most recent Cardano transactions set snapshots\n", + "responses": { + "200": { + "description": "Cardano transactions set snapshots found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CardanoTransactionSnapshotListMessage" + } + } + } + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "Cardano transactions set snapshots retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/artifact/cardano-transaction/{hash}": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get Cardano transactions set snapshot information", + "description": "Returns the information of a Cardano transactions set snapshot\n", + "parameters": [ + { + "name": "hash", + "in": "path", + "description": "Hash of the Cardano transactions set snapshot to retrieve", + "required": true, + "schema": { + "type": "string", + "format": "bytes" + }, + "example": "6da2b104ed68481ef829d72d72c2f6a20142916d17985e01774b14ed49f0fea1" + } + ], + "responses": { + "200": { + "description": "Cardano transactions set snapshot found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CardanoTransactionSnapshotMessage" + } + } + } + }, + "404": { + "description": "Cardano transactions set snapshot not found" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "Cardano transactions set snapshot retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/proof/cardano-transaction": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get the proofs of a Cardano transaction list", + "description": "Returns the transaction hashes and the corresponding proofs\n", + "parameters": [ + { + "name": "transaction_hashes", + "in": "query", + "description": "Hashes of the Cardano transactions to retrieve proofs for", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "bytes", + "example": "6dbb104ed68481ef829a26a20142916d17985e01774d72d72c2f" + } + }, + "explode": false + } + ], + "responses": { + "200": { + "description": "Cardano transaction proofs found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CardanoTransactionProofMessage" + } + } + } + }, + "404": { + "description": "No Cardano transactions were ever signed" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "Cardano transaction proofs retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/signers/registered/{epoch}": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get registered signers for an epoch", + "description": "Returns the signers that registered at a given Epoch\n", + "parameters": [ + { + "name": "epoch", + "in": "path", + "description": "Cardano Epoch at which the signer registrations are registered", + "required": true, + "schema": { + "type": "integer", + "format": "int64" + }, + "example": 419 + } + ], + "responses": { + "200": { + "description": "Registered Signers found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SignerRegistrationsMessage" + } + } + } + }, + "404": { + "description": "Registered Signers not found" + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "Registered Signers retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + } + } + }, + "/mithril/signers/tickers": { + "get": { + "tags": [ + "Cardano » Mithril" + ], + "summary": "Get the signers known by the aggregator", + "description": "Returns the signers party id and, if available, their pool ticker\n", + "responses": { + "200": { + "description": "Signers found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SignersTickersMessage" + } + } + } + }, + "412": { + "description": "API version mismatch" + }, + "default": { + "description": "Signers retrieval error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } } } } @@ -7909,265 +8841,1329 @@ "onchain_metadata_cip68_nft_222": { "$ref": "#/components/schemas/asset_onchain_metadata_cip68_nft_222" }, - "onchain_metadata_cip68_rft_444": { - "$ref": "#/components/schemas/asset_onchain_metadata_cip68_rft_444" + "onchain_metadata_cip68_rft_444": { + "$ref": "#/components/schemas/asset_onchain_metadata_cip68_rft_444" + }, + "block_content": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "example": 1641338934, + "description": "Block creation time in UNIX time" + }, + "height": { + "type": "integer", + "nullable": true, + "example": 15243593, + "description": "Block number" + }, + "hash": { + "type": "string", + "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", + "description": "Hash of the block" + }, + "slot": { + "type": "integer", + "nullable": true, + "example": 412162133, + "description": "Slot number" + }, + "epoch": { + "type": "integer", + "nullable": true, + "example": 425, + "description": "Epoch number" + }, + "epoch_slot": { + "type": "integer", + "nullable": true, + "example": 12, + "description": "Slot within the epoch" + }, + "slot_leader": { + "type": "string", + "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", + "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" + }, + "size": { + "type": "integer", + "example": 3, + "description": "Block size in Bytes" + }, + "tx_count": { + "type": "integer", + "example": 1, + "description": "Number of transactions in the block" + }, + "output": { + "type": "string", + "nullable": true, + "example": "128314491794", + "description": "Total output within the block in Lovelaces" + }, + "fees": { + "type": "string", + "nullable": true, + "example": "592661", + "description": "Total fees within the block in Lovelaces" + }, + "block_vrf": { + "type": "string", + "nullable": true, + "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", + "description": "VRF key of the block", + "minLength": 65, + "maxLength": 65 + }, + "op_cert": { + "type": "string", + "nullable": true, + "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", + "description": "The hash of the operational certificate of the block producer" + }, + "op_cert_counter": { + "type": "string", + "nullable": true, + "example": "18", + "description": "The value of the counter used to produce the operational certificate" + }, + "previous_block": { + "type": "string", + "nullable": true, + "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", + "description": "Hash of the previous block" + }, + "next_block": { + "type": "string", + "nullable": true, + "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", + "description": "Hash of the next block" + }, + "confirmations": { + "type": "integer", + "example": 4698, + "description": "Number of block confirmations" + } + }, + "required": [ + "time", + "height", + "hash", + "slot", + "epoch", + "epoch_slot", + "slot_leader", + "size", + "tx_count", + "output", + "fees", + "block_vrf", + "op_cert", + "op_cert_counter", + "previous_block", + "next_block", + "confirmations" + ] + }, + "block_content_txs": { + "type": "array", + "items": { + "type": "string", + "description": "Hash of the transaction" + }, + "example": [ + "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", + "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + ] + }, + "block_content_array": { + "type": "array", + "items": { + "$ref": "#/components/schemas/block_content" + } + }, + "block_content_addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Address that was affected in the specified block" + }, + "transactions": { + "type": "array", + "description": "List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string" + } + }, + "required": [ + "tx_hash" + ] + } + } + }, + "required": [ + "address", + "transactions" + ] + }, + "example": [ + { + "address": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + "transactions": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" + } + ] + }, + { + "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + "transactions": [ + { + "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0" + } + ] + } + ] + }, + "genesis_content": { + "type": "object", + "properties": { + "active_slots_coefficient": { + "type": "number", + "example": 0.05, + "description": "The proportion of slots in which blocks should be issued" + }, + "update_quorum": { + "type": "integer", + "example": 5, + "description": "Determines the quorum needed for votes on the protocol parameter updates" + }, + "max_lovelace_supply": { + "type": "string", + "example": "45000000000000000", + "description": "The total number of lovelace in the system" + }, + "network_magic": { + "type": "integer", + "example": 764824073, + "description": "Network identifier" + }, + "epoch_length": { + "type": "integer", + "example": 432000, + "description": "Number of slots in an epoch" + }, + "system_start": { + "type": "integer", + "example": 1506203091, + "description": "Time of slot 0 in UNIX time" + }, + "slots_per_kes_period": { + "type": "integer", + "example": 129600, + "description": "Number of slots in an KES period" + }, + "slot_length": { + "type": "integer", + "example": 1, + "description": "Duration of one slot in seconds" + }, + "max_kes_evolutions": { + "type": "integer", + "example": 62, + "description": "The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate" + }, + "security_param": { + "type": "integer", + "example": 2160, + "description": "Security parameter k" + } + }, + "required": [ + "active_slots_coefficient", + "update_quorum", + "max_lovelace_supply", + "network_magic", + "epoch_length", + "system_start", + "slots_per_kes_period", + "slot_length", + "max_kes_evolutions", + "security_param" + ] + }, + "dreps": { + "type": "array", + "items": { + "type": "object", + "properties": { + "drep_id": { + "type": "string", + "description": "The Bech32 encoded DRep address" + }, + "hex": { + "type": "string", + "description": "The raw bytes of the DRep" + } + }, + "required": [ + "drep_id", + "hex" + ] + }, + "example": [ + { + "drep_id": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "hex": "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23" + }, + { + "drep_id": "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4", + "hex": "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758" + } + ] }, - "block_content": { + "drep": { "type": "object", "properties": { - "time": { - "type": "integer", - "example": 1641338934, - "description": "Block creation time in UNIX time" + "drep_id": { + "type": "string", + "description": "Bech32 encoded DRep address" }, - "height": { + "hex": { + "type": "string", + "description": "The raw bytes of the DRep" + }, + "amount": { + "type": "string", + "description": "The total amount of voting power this DRep is delegated." + }, + "active": { + "type": "boolean", + "description": "Registration state of the DRep" + }, + "active_epoch": { "type": "integer", "nullable": true, - "example": 15243593, - "description": "Block number" + "description": "Epoch of the most recent action - registration or deregistration" + }, + "has_script": { + "type": "boolean", + "description": "Flag which shows if this DRep credentials are a script hash" + } + }, + "required": [ + "drep_id", + "hex", + "amount", + "active", + "active_epoch", + "has_script" + ], + "example": { + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + "amount": "2000000", + "active": true, + "active_epoch": 420, + "has_script": true + } + }, + "drep_delegators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Bech32 encoded stake addresses" + }, + "amount": { + "type": "string", + "description": "Currently delegated amount" + } + }, + "required": [ + "address", + "amount" + ] + }, + "example": [ + { + "address": "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha", + "amount": "1137959159981411" + }, + { + "address": "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u", + "amount": "16958865648" + }, + { + "address": "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck", + "amount": "18605647" + } + ] + }, + "drep_metadata": { + "type": "object", + "properties": { + "drep_id": { + "type": "string", + "description": "Bech32 encoded addresses" + }, + "hex": { + "type": "string", + "description": "The raw bytes of the DRep" + }, + "url": { + "type": "string", + "example": "https://stakenuts.com/drep.json", + "description": "URL to the drep metadata" }, "hash": { "type": "string", - "example": "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a", - "description": "Hash of the block" + "example": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c\"", + "description": "Hash of the metadata file" }, - "slot": { - "type": "integer", - "nullable": true, - "example": 412162133, - "description": "Slot number" + "json_metadata": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": true + }, + { + "type": "array", + "items": {} + }, + { + "type": "integer" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Content of the JSON metadata (validated CIP-119)" }, - "epoch": { - "type": "integer", - "nullable": true, - "example": 425, - "description": "Epoch number" + "bytes": { + "type": "string", + "description": "Content of the metadata (raw)" + } + }, + "required": [ + "drep_id", + "hex", + "url", + "hash", + "json_metadata", + "bytes" + ], + "example": { + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + "url": "https://aaa.xyz/drep.json", + "hash": "a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de", + "json_metadata": { + "@context": { + "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + "CIP119": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#", + "hashAlgorithm": "CIP100:hashAlgorithm", + "body": { + "@id": "CIP119:body", + "@context": { + "references": { + "@id": "CIP119:references", + "@container": "@set", + "@context": { + "GovernanceMetadata": "CIP100:GovernanceMetadataReference", + "Other": "CIP100:OtherReference", + "label": "CIP100:reference-label", + "uri": "CIP100:reference-uri" + } + }, + "paymentAddress": "CIP119:paymentAddress", + "givenName": "CIP119:givenName", + "image": { + "@id": "CIP119:image", + "@context": { + "ImageObject": "https://schema.org/ImageObject" + } + }, + "objectives": "CIP119:objectives", + "motivations": "CIP119:motivations", + "qualifications": "CIP119:qualifications" + } + } + }, + "hahsAlgorithm": "blake2b-256", + "body": { + "paymentAddress": "addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34", + "givenName": "Ryan Williams", + "image": { + "@type": "ImageObject", + "contentUrl": "https://avatars.githubusercontent.com/u/44342099?v=4", + "sha256": "2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e" + }, + "objectives": "Buy myself an island.", + "motivations": "I really would like to own an island.", + "qualifications": "I have my 100m swimming badge, so I would be qualified to be able to swim around island.", + "references": [ + { + "@type": "Other", + "label": "A cool island for Ryan", + "uri": "https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu" + }, + { + "@type": "Link", + "label": "Ryan's Twitter", + "uri": "https://twitter.com/Ryun1_" + } + ] + } }, - "epoch_slot": { - "type": "integer", - "nullable": true, - "example": 12, - "description": "Slot within the epoch" + "bytes": "\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6" + } + }, + "drep_updates": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Transaction ID" + }, + "cert_index": { + "type": "integer", + "description": "Certificate within the transaction" + }, + "action": { + "type": "string", + "enum": [ + "registered", + "deregistered" + ], + "description": "Action in the certificate" + } + }, + "required": [ + "tx_hash", + "cert_index", + "action" + ] + }, + "example": [ + { + "tx_hash": "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393", + "cert_index": 0, + "action": "registered" + }, + { + "tx_hash": "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e", + "cert_index": 0, + "action": "deregistered" + } + ] + }, + "drep_votes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the proposal transaction." + }, + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the proposal transaction." + }, + "vote": { + "type": "string", + "enum": [ + "yes", + "no", + "abstain" + ], + "description": "The Vote. Can be one of yes, no, abstain." + } + }, + "required": [ + "tx_hash", + "cert_index", + "vote" + ] + }, + "example": [ + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 2, + "vote": "yes" + }, + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 3, + "vote": "abstain" + } + ] + }, + "proposals": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the proposal transaction." + }, + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the proposal transaction." + }, + "governance_type": { + "type": "string", + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals" + ], + "description": "Type of proposal." + } + }, + "required": [ + "tx_hash", + "cert_index", + "governance_type" + ] + }, + "example": [ + { + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "cert_index": 1, + "governance_type": "treasury_withdrawals" }, - "slot_leader": { + { + "tx_hash": "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60", + "cert_index": 4, + "governance_type": "no_confidence" + } + ] + }, + "proposal": { + "type": "object", + "properties": { + "tx_hash": { "type": "string", - "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy", - "description": "Bech32 ID of the slot leader or specific block description in case there is no slot leader" - }, - "size": { - "type": "integer", - "example": 3, - "description": "Block size in Bytes" + "description": "Hash of the proposal transaction." }, - "tx_count": { + "cert_index": { "type": "integer", - "example": 1, - "description": "Number of transactions in the block" + "description": "Index of the certificate within the proposal transaction." }, - "output": { + "governance_type": { "type": "string", - "nullable": true, - "example": "128314491794", - "description": "Total output within the block in Lovelaces" + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals" + ], + "description": "Type of proposal." }, - "fees": { - "type": "string", + "governance_description": { + "additionalProperties": true, + "type": "object", "nullable": true, - "example": "592661", - "description": "Total fees within the block in Lovelaces" + "description": "An object describing the content of this GovActionProposal in a readable way." }, - "block_vrf": { + "deposit": { "type": "string", - "nullable": true, - "example": "vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty", - "description": "VRF key of the block", - "minLength": 65, - "maxLength": 65 + "description": "The deposit amount paid for this proposal." }, - "op_cert": { + "return_address": { "type": "string", - "nullable": true, - "example": "da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c", - "description": "The hash of the operational certificate of the block producer" + "description": "Bech32 stake address of the reward address to receive the deposit when it is repaid." }, - "op_cert_counter": { - "type": "string", - "nullable": true, - "example": "18", - "description": "The value of the counter used to produce the operational certificate" + "ratified_epoch": { + "type": "integer", + "nullable": true }, - "previous_block": { - "type": "string", - "nullable": true, - "example": "43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05", - "description": "Hash of the previous block" + "enacted_epoch": { + "type": "integer", + "nullable": true }, - "next_block": { + "dropped_epoch": { + "type": "integer", + "nullable": true + }, + "expired_epoch": { + "type": "integer", + "nullable": true + }, + "expiration": { + "type": "integer", + "description": "Shows the epoch at which this governance action will expire." + } + }, + "required": [ + "tx_hash", + "cert_index", + "governance_type", + "deposit", + "return_address", + "governance_description", + "ratified_epoch", + "enacted_epoch", + "dropped_epoch", + "expired_epoch", + "expiration" + ], + "example": { + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + "cert_index": 1, + "governance_type": "treasury_withdrawals", + "deposit": 12000, + "return_address": "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz", + "governance_description": "TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash \"71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60\")},Coin 20000000)])", + "ratified_epoch": null, + "enacted_epoch": 123, + "dropped_epoch": null, + "expired_epoch": null, + "expiration": 120 + } + }, + "proposal_parameters": { + "type": "object", + "properties": { + "tx_hash": { "type": "string", - "nullable": true, - "example": "8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa", - "description": "Hash of the next block" + "description": "Off-chain metadata of a proposal with a specific transaction hash" }, - "confirmations": { + "cert_index": { "type": "integer", - "example": 4698, - "description": "Number of block confirmations" + "description": "Off-chain metadata of a proposal with a specific transaction cert_index" + }, + "parameters": { + "type": "object", + "properties": { + "epoch": { + "type": "integer", + "example": 225, + "description": "Epoch number" + }, + "min_fee_a": { + "type": "integer", + "example": 44, + "description": "The linear factor for the minimum fee calculation for given epoch" + }, + "min_fee_b": { + "type": "integer", + "example": 155381, + "description": "The constant factor for the minimum fee calculation" + }, + "max_block_size": { + "type": "integer", + "example": 65536, + "description": "Maximum block body size in Bytes" + }, + "max_tx_size": { + "type": "integer", + "example": 16384, + "description": "Maximum transaction size" + }, + "max_block_header_size": { + "type": "integer", + "example": 1100, + "description": "Maximum block header size" + }, + "key_deposit": { + "type": "string", + "example": "2000000", + "description": "The amount of a key registration deposit in Lovelaces" + }, + "pool_deposit": { + "type": "string", + "example": "500000000", + "description": "The amount of a pool registration deposit in Lovelaces" + }, + "e_max": { + "type": "integer", + "example": 18, + "description": "Epoch bound on pool retirement" + }, + "n_opt": { + "type": "integer", + "example": 150, + "description": "Desired number of pools" + }, + "a0": { + "type": "number", + "example": 0.3, + "description": "Pool pledge influence" + }, + "rho": { + "type": "number", + "example": 0.003, + "description": "Monetary expansion" + }, + "tau": { + "type": "number", + "example": 0.2, + "description": "Treasury expansion" + }, + "decentralisation_param": { + "type": "number", + "example": 0.5, + "description": "Percentage of blocks produced by federated nodes" + }, + "extra_entropy": { + "type": "string", + "nullable": true, + "example": null, + "description": "Seed for extra entropy" + }, + "protocol_major_ver": { + "type": "integer", + "example": 2, + "description": "Accepted protocol major version" + }, + "protocol_minor_ver": { + "type": "integer", + "example": 0, + "description": "Accepted protocol minor version" + }, + "min_utxo": { + "type": "string", + "example": "1000000", + "description": "Minimum UTXO value" + }, + "min_pool_cost": { + "type": "string", + "example": "340000000", + "description": "Minimum stake cost forced on the pool" + }, + "nonce": { + "type": "string", + "example": "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81", + "description": "Epoch number only used once" + }, + "cost_models": { + "additionalProperties": true, + "type": "object", + "nullable": true, + "example": { + "PlutusV1": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0 + }, + "PlutusV2": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0 + } + }, + "description": "Cost models parameters for Plutus Core scripts" + }, + "price_mem": { + "type": "number", + "nullable": true, + "example": 0.0577, + "description": "The per word cost of script memory usage" + }, + "price_step": { + "type": "number", + "nullable": true, + "example": 0.0000721, + "description": "The cost of script execution step usage" + }, + "max_tx_ex_mem": { + "type": "string", + "nullable": true, + "example": "10000000", + "description": "The maximum number of execution memory allowed to be used in a single transaction" + }, + "max_tx_ex_steps": { + "type": "string", + "nullable": true, + "example": "10000000000", + "description": "The maximum number of execution steps allowed to be used in a single transaction" + }, + "max_block_ex_mem": { + "type": "string", + "nullable": true, + "example": "50000000", + "description": "The maximum number of execution memory allowed to be used in a single block" + }, + "max_block_ex_steps": { + "type": "string", + "nullable": true, + "example": "40000000000", + "description": "The maximum number of execution steps allowed to be used in a single block" + }, + "max_val_size": { + "type": "string", + "nullable": true, + "example": "5000", + "description": "The maximum Val size" + }, + "collateral_percent": { + "type": "integer", + "nullable": true, + "example": 150, + "description": "The percentage of the transactions fee which must be provided as collateral when including non-native scripts" + }, + "max_collateral_inputs": { + "type": "integer", + "nullable": true, + "example": 3, + "description": "The maximum number of collateral inputs allowed in a transaction" + }, + "coins_per_utxo_size": { + "type": "string", + "nullable": true, + "example": "34482", + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later." + }, + "coins_per_utxo_word": { + "type": "string", + "nullable": true, + "example": "34482", + "deprecated": true, + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later." + }, + "pvt_motion_no_confidence": { + "type": "number", + "nullable": true, + "description": "Pool Voting threshold for motion of no-confidence. New in 13.2-Conway." + }, + "pvt_committee_normal": { + "type": "number", + "nullable": true, + "description": "Pool Voting threshold for new committee/threshold (normal state). New in 13.2-Conway." + }, + "pvt_committee_no_confidence": { + "type": "number", + "nullable": true, + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway." + }, + "pvt_hard_fork_initiation": { + "type": "number", + "nullable": true, + "description": "Pool Voting threshold for hard-fork initiation. New in 13.2-Conway." + }, + "dvt_motion_no_confidence": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for motion of no-confidence. New in 13.2-Conway." + }, + "dvt_committee_normal": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for new committee/threshold (normal state). New in 13.2-Conway." + }, + "dvt_committee_no_confidence": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway." + }, + "dvt_update_to_constitution": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for update to the Constitution. New in 13.2-Conway." + }, + "dvt_hard_fork_initiation": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for hard-fork initiation. New in 13.2-Conway." + }, + "dvt_p_p_network_group": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for protocol parameter changes, network group. New in 13.2-Conway." + }, + "dvt_p_p_economic_group": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for protocol parameter changes, economic group. New in 13.2-Conway." + }, + "dvt_p_p_technical_group": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for protocol parameter changes, technical group. New in 13.2-Conway." + }, + "dvt_p_p_gov_group": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for protocol parameter changes, governance group. New in 13.2-Conway." + }, + "dvt_treasury_withdrawal": { + "type": "number", + "nullable": true, + "description": "DRep Vote threshold for treasury withdrawal. New in 13.2-Conway." + }, + "committee_min_size": { + "type": "string", + "nullable": true, + "format": "word64type", + "description": "Minimal constitutional committee size. New in 13.2-Conway." + }, + "committee_max_term_length": { + "type": "string", + "nullable": true, + "format": "word64type", + "description": "Constitutional committee term limits. New in 13.2-Conway." + }, + "gov_action_lifetime": { + "type": "string", + "nullable": true, + "format": "word64type", + "description": "Governance action expiration. New in 13.2-Conway." + }, + "gov_action_deposit": { + "type": "string", + "nullable": true, + "format": "word64type", + "description": "Governance action deposit. New in 13.2-Conway." + }, + "drep_deposit": { + "type": "string", + "nullable": true, + "format": "word64type", + "description": "DRep deposit amount. New in 13.2-Conway." + }, + "drep_activity": { + "type": "string", + "nullable": true, + "format": "word64type", + "description": "DRep activity period. New in 13.2-Conway." + }, + "pvtpp_security_group": { + "type": "number", + "nullable": true + }, + "min_fee_ref_script_cost_per_byte": { + "type": "number", + "nullable": true + } + }, + "required": [ + "min_fee_a", + "min_fee_b", + "max_block_size", + "max_tx_size", + "max_block_header_size", + "key_deposit", + "pool_deposit", + "e_max", + "n_opt", + "a0", + "rho", + "tau", + "decentralisation_param", + "extra_entropy", + "protocol_major_ver", + "protocol_minor_ver", + "min_utxo", + "min_pool_cost", + "nonce", + "cost_models", + "price_mem", + "price_step", + "max_tx_ex_mem", + "max_tx_ex_steps", + "max_block_ex_mem", + "max_block_ex_steps", + "max_val_size", + "collateral_percent", + "max_collateral_inputs", + "coins_per_utxo_size", + "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "pvtpp_security_group", + "min_fee_ref_script_cost_per_byte" + ] } }, "required": [ - "time", - "height", - "hash", - "slot", - "epoch", - "epoch_slot", - "slot_leader", - "size", - "tx_count", - "output", - "fees", - "block_vrf", - "op_cert", - "op_cert_counter", - "previous_block", - "next_block", - "confirmations" + "tx_hash", + "cert_index", + "parameters" ] }, - "block_content_txs": { + "proposal_withdrawals": { "type": "array", "items": { - "type": "string", - "description": "Hash of the transaction" + "type": "object", + "properties": { + "stake_address": { + "type": "string", + "example": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + "description": "Bech32 stake address" + }, + "amount": { + "type": "string", + "description": "Withdrawal amount in Lovelaces" + } + }, + "required": [ + "stake_address", + "amount" + ] }, "example": [ - "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", - "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", - "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", - "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" - ] - }, - "block_content_array": { - "type": "array", - "items": { - "$ref": "#/components/schemas/block_content" - } + { + "stake_address": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + "amount": "454541212442" + }, + { + "stake_address": "stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2", + "amount": "97846969" + } + ] }, - "block_content_addresses": { + "proposal_votes": { "type": "array", "items": { "type": "object", "properties": { - "address": { + "tx_hash": { "type": "string", - "description": "Address that was affected in the specified block" + "description": "Hash of the voting transaction." }, - "transactions": { - "type": "array", - "description": "List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending.", - "items": { - "type": "object", - "properties": { - "tx_hash": { - "type": "string" - } - }, - "required": [ - "tx_hash" - ] - } + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the voting transaction." + }, + "voter_role": { + "type": "string", + "enum": [ + "constitutional_committee", + "drep", + "spo" + ], + "description": "The role of the voter. Can be one of constitutional_committee, drep, spo." + }, + "voter": { + "type": "string", + "description": "The actual voter." + }, + "vote": { + "type": "string", + "enum": [ + "yes", + "no", + "abstain" + ], + "description": "The Vote. Can be one of yes, no, abstain." } }, "required": [ - "address", - "transactions" + "tx_hash", + "cert_index", + "voter_role", + "voter", + "vote" ] }, "example": [ { - "address": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", - "transactions": [ - { - "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" - } - ] + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 2, + "voter_role": "drep", + "voter": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "vote": "yes" }, { - "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", - "transactions": [ - { - "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0" - } - ] + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 3, + "voter_role": "constitutional_committee", + "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + "vote": "abstain" } ] }, - "genesis_content": { + "proposal_metadata": { "type": "object", "properties": { - "active_slots_coefficient": { - "type": "number", - "example": 0.05, - "description": "The proportion of slots in which blocks should be issued" - }, - "update_quorum": { - "type": "integer", - "example": 5, - "description": "Determines the quorum needed for votes on the protocol parameter updates" - }, - "max_lovelace_supply": { + "tx_hash": { "type": "string", - "example": "45000000000000000", - "description": "The total number of lovelace in the system" - }, - "network_magic": { - "type": "integer", - "example": 764824073, - "description": "Network identifier" - }, - "epoch_length": { - "type": "integer", - "example": 432000, - "description": "Number of slots in an epoch" + "description": "Off-chain metadata of a proposal with a specific transaction hash" }, - "system_start": { + "cert_index": { "type": "integer", - "example": 1506203091, - "description": "Time of slot 0 in UNIX time" + "description": "Off-chain metadata of a proposal with a specific transaction cert_index" }, - "slots_per_kes_period": { - "type": "integer", - "example": 129600, - "description": "Number of slots in an KES period" + "url": { + "type": "string", + "example": "https://abc.xyz/gov.json", + "description": "URL to the proposal metadata" }, - "slot_length": { - "type": "integer", - "example": 1, - "description": "Duration of one slot in seconds" + "hash": { + "type": "string", + "example": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c\"", + "description": "Hash of the metadata file" }, - "max_kes_evolutions": { - "type": "integer", - "example": 62, - "description": "The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate" + "json_metadata": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": true + }, + { + "type": "array", + "items": {} + }, + { + "type": "integer" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Content of the JSON metadata (validated CIP-108)" }, - "security_param": { - "type": "integer", - "example": 2160, - "description": "Security parameter k" + "bytes": { + "type": "string", + "description": "Content of the metadata (raw)" } }, "required": [ - "active_slots_coefficient", - "update_quorum", - "max_lovelace_supply", - "network_magic", - "epoch_length", - "system_start", - "slots_per_kes_period", - "slot_length", - "max_kes_evolutions", - "security_param" - ] + "tx_hash", + "cert_index", + "url", + "hash", + "json_metadata", + "bytes" + ], + "example": { + "tx_hash": "257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8", + "cert_index": 2, + "url": "https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json", + "hash": "ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81", + "json_metadata": { + "body": { + "title": "Hardfork to Protocol version 10", + "abstract": "Let's have sanchoNet in full governance as soon as possible", + "rationale": "Let's keep testing stuff", + "motivation": "PV9 is not as fun as PV10", + "references": [ + { + "uri": "", + "@type": "Other", + "label": "Hardfork to PV10" + } + ] + }, + "authors": [ + { + "name": "Carlos", + "witness": { + "publicKey": "7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a", + "signature": "a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01", + "witnessAlgorithm": "ed25519" + } + } + ], + "@context": { + "body": { + "@id": "CIP108:body", + "@context": { + "title": "CIP108:title", + "abstract": "CIP108:abstract", + "rationale": "CIP108:rationale", + "motivation": "CIP108:motivation", + "references": { + "@id": "CIP108:references", + "@context": { + "uri": "CIP100:reference-uri", + "Other": "CIP100:OtherReference", + "label": "CIP100:reference-label", + "referenceHash": { + "@id": "CIP108:referenceHash", + "@context": { + "hashDigest": "CIP108:hashDigest", + "hashAlgorithm": "CIP100:hashAlgorithm" + } + }, + "GovernanceMetadata": "CIP100:GovernanceMetadataReference" + }, + "@container": "@set" + } + } + }, + "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + "CIP108": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#", + "authors": { + "@id": "CIP100:authors", + "@context": { + "name": "http://xmlns.com/foaf/0.1/name", + "witness": { + "@id": "CIP100:witness", + "@context": { + "publicKey": "CIP100:publicKey", + "signature": "CIP100:signature", + "witnessAlgorithm": "CIP100:witnessAlgorithm" + } + } + }, + "@container": "@set" + }, + "@language": "en-us", + "hashAlgorithm": "CIP100:hashAlgorithm" + }, + "hashAlgorithm": "blake2b-256" + }, + "bytes": "\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d" + } }, "epoch_content": { "type": "object", @@ -8422,8 +10418,116 @@ "type": "string", "nullable": true, "example": "34482", - "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.", - "deprecated": true + "deprecated": true, + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later." + }, + "pvt_motion_no_confidence": { + "type": "number", + "nullable": true, + "description": "Pool Voting threshold for motion of no-confidence." + }, + "pvt_committee_normal": { + "nullable": true, + "type": "number", + "description": "Pool Voting threshold for new committee/threshold (normal state)." + }, + "pvt_committee_no_confidence": { + "nullable": true, + "type": "number", + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence)." + }, + "pvt_hard_fork_initiation": { + "nullable": true, + "type": "number", + "description": "Pool Voting threshold for hard-fork initiation." + }, + "dvt_motion_no_confidence": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for motion of no-confidence." + }, + "dvt_committee_normal": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for new committee/threshold (normal state)." + }, + "dvt_committee_no_confidence": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence)." + }, + "dvt_update_to_constitution": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for update to the Constitution." + }, + "dvt_hard_fork_initiation": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for hard-fork initiation." + }, + "dvt_p_p_network_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, network group." + }, + "dvt_p_p_economic_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, economic group." + }, + "dvt_p_p_technical_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, technical group." + }, + "dvt_p_p_gov_group": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for protocol parameter changes, governance group." + }, + "dvt_treasury_withdrawal": { + "nullable": true, + "type": "number", + "description": "DRep Vote threshold for treasury withdrawal." + }, + "committee_min_size": { + "type": "string", + "nullable": true, + "description": "Minimal constitutional committee size." + }, + "committee_max_term_length": { + "type": "string", + "nullable": true, + "description": "Constitutional committee term limits." + }, + "gov_action_lifetime": { + "type": "string", + "nullable": true, + "description": "Governance action expiration." + }, + "gov_action_deposit": { + "type": "string", + "nullable": true, + "description": "Governance action deposit." + }, + "drep_deposit": { + "type": "string", + "nullable": true, + "description": "DRep deposit amount." + }, + "drep_activity": { + "type": "string", + "nullable": true, + "description": "DRep activity period." + }, + "pvtpp_security_group": { + "type": "number", + "nullable": true + }, + "min_fee_ref_script_cost_per_byte": { + "type": "number", + "nullable": true } }, "required": [ @@ -8458,7 +10562,29 @@ "collateral_percent", "max_collateral_inputs", "coins_per_utxo_size", - "coins_per_utxo_word" + "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "pvtpp_security_group", + "min_fee_ref_script_cost_per_byte" ] }, "epoch_content_array": { @@ -9440,7 +11566,13 @@ "type": "string", "nullable": true, "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", - "description": "Bech32 pool ID that owns the account" + "description": "Bech32 pool ID to which this account is delegated" + }, + "drep_id": { + "type": "string", + "nullable": true, + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "description": "Bech32 drep ID to which this account is delegated" } }, "required": [ @@ -9453,7 +11585,8 @@ "reserves_sum", "treasury_sum", "withdrawable_amount", - "pool_id" + "pool_id", + "drep_id" ] }, "account_reward_content": { @@ -11275,6 +13408,43 @@ } ] }, + "pool_votes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tx_hash": { + "type": "string", + "description": "Hash of the proposal transaction." + }, + "cert_index": { + "type": "integer", + "description": "Index of the certificate within the proposal transaction." + }, + "vote": { + "type": "string", + "enum": [ + "yes", + "no", + "abstain" + ], + "description": "The Vote. Can be one of yes, no, abstain." + } + }, + "required": [ + "tx_hash", + "cert_index", + "vote" + ] + }, + "example": [ + { + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "cert_index": 2, + "vote": "yes" + } + ] + }, "assets": { "type": "array", "items": { diff --git a/openapi.yaml b/openapi.yaml index eb1f2795..6e642996 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - version: 0.1.64 + version: 0.1.65 title: Blockfrost.io ~ API Documentation x-logo: url: 'https://staging.blockfrost.io/images/logo.svg' @@ -336,6 +336,7 @@ tags: - name: Cardano » Assets - name: Cardano » Blocks - name: Cardano » Epochs + - name: Cardano » Governance - name: Cardano » Ledger - name: Cardano » Mempool - name: Cardano » Metadata @@ -929,103 +930,110 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /epochs/latest: - get: - tags: - - Cardano » Epochs - summary: Latest epoch - description: 'Return the information about the latest, therefore current, epoch.' - responses: - '200': - description: Return the data about the epoch - content: - application/json: - schema: - $ref: '#/components/schemas/epoch_content' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /epochs/latest/parameters: + /governance/dreps: get: tags: - - Cardano » Epochs - summary: Latest epoch protocol parameters - description: Return the protocol parameters for the latest epoch. + - Cardano » Governance + summary: Delegate Representatives (DReps) + description: Return the information about Delegate Representatives (DReps) + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. + + Ordering in this case is based on the time of the first mint + transaction. responses: '200': - description: Return the data about the epoch + description: Paginated array with the Delegate Representatives (DReps) data content: application/json: schema: - $ref: '#/components/schemas/epoch_param_content' + $ref: '#/components/schemas/dreps' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/epochs/{number}': + '/governance/dreps/{drep_id}': get: tags: - - Cardano » Epochs - summary: Specific epoch - description: Return the content of the requested epoch. + - Cardano » Governance + summary: Specific DRep + description: DRep information. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the epoch - example: 225 + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc responses: '200': - description: Return the epoch data. + description: Return the DRep information content content: application/json: schema: - $ref: '#/components/schemas/epoch_content' + $ref: '#/components/schemas/drep' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/epochs/{number}/next': + '/governance/dreps/{drep_id}/delegators': get: tags: - - Cardano » Epochs - summary: Listing of next epochs - description: Return the list of epochs following a specific epoch. + - Cardano » Governance + summary: DRep delegators + description: List of Drep delegators. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the requested epoch. - example: 225 + type: string + description: Bech32 or hexadecimal drep ID. + example: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn - in: query name: count required: false @@ -1044,150 +1052,82 @@ paths: maximum: 21474836 default: 1 description: The page number for listing the results. - responses: - '200': - description: Return the data about the epoch - content: - application/json: - schema: - $ref: '#/components/schemas/epoch_content_array' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - '/epochs/{number}/previous': - get: - tags: - - Cardano » Epochs - summary: Listing of previous epochs - description: Return the list of epochs preceding a specific epoch. - parameters: - - in: path - name: number - required: true - schema: - type: integer - description: Number of the epoch - example: 225 - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - in: query - name: page + name: order required: false schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Return the epoch data + description: Return the DRep delegations content: application/json: schema: - $ref: '#/components/schemas/epoch_content_array' + $ref: '#/components/schemas/drep_delegators' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/epochs/{number}/stakes': + '/governance/dreps/{drep_id}/metadata': get: tags: - - Cardano » Epochs - summary: Stake distribution - description: Return the active stake distribution for the specified epoch. + - Cardano » Governance + summary: DRep metadata + description: DRep metadata information. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the epoch - example: 225 - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. + type: string + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc responses: '200': - description: Return the data about the epoch + description: Return the DRep metadata content. content: application/json: schema: - $ref: '#/components/schemas/epoch_stake_content' + $ref: '#/components/schemas/drep_metadata' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/epochs/{number}/stakes/{pool_id}': + '/governance/dreps/{drep_id}/updates': get: tags: - - Cardano » Epochs - summary: Stake distribution by pool - description: >- - Return the active stake distribution for the epoch specified by stake - pool. + - Cardano » Governance + summary: DRep updates + description: List of certificate updates to the DRep. parameters: - in: path - name: number - required: true - schema: - type: integer - description: Number of the epoch - example: 225 - - in: path + name: drep_id required: true - name: pool_id schema: type: string - description: Stake pool ID to filter - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 or hexadecimal DRep ID. + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc - in: query name: count required: false @@ -1206,39 +1146,51 @@ paths: maximum: 21474836 default: 1 description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Return the data about the epoch + description: Return the Drep updates history content: application/json: schema: - $ref: '#/components/schemas/epoch_stake_pool_content' + $ref: '#/components/schemas/drep_updates' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/epochs/{number}/blocks': + '/governance/dreps/{drep_id}/votes': get: tags: - - Cardano » Epochs - summary: Block distribution - description: Return the blocks minted for the epoch specified. + - Cardano » Governance + summary: DRep votes + description: History of Drep votes. parameters: - in: path - name: number + name: drep_id required: true schema: - type: integer - description: Number of the epoch - example: 225 + type: string + description: Bech32 or hexadecimal drep ID. + example: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn - in: query name: count required: false @@ -1273,44 +1225,28 @@ paths: newest last. responses: '200': - description: Return the data about the epoch + description: Return the DRep votes content: application/json: schema: - $ref: '#/components/schemas/epoch_block_content' + $ref: '#/components/schemas/drep_votes' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/epochs/{number}/blocks/{pool_id}': + /governance/proposals: get: tags: - - Cardano » Epochs - summary: Block distribution by pool - description: Return the block minted for the epoch specified by stake pool. + - Cardano » Governance + summary: Proposals + description: Return the information about Proposals parameters: - - in: path - name: number - required: true - schema: - type: integer - description: Number of the epoch - example: 225 - - in: path - required: true - name: pool_id - schema: - type: string - description: Stake pool ID to filter - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - in: query name: count required: false @@ -1343,80 +1279,92 @@ paths: not the page listing itself. By default, we return oldest first, newest last. + + Ordering in this case is based on the time of the first mint + transaction. responses: '200': - description: Return the data about the epoch + description: Paginated array with the proposal data content: application/json: schema: - $ref: '#/components/schemas/epoch_block_content' + $ref: '#/components/schemas/proposals' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/epochs/{number}/parameters': + '/governance/proposals/{tx_hash}/{cert_index}': get: tags: - - Cardano » Epochs - summary: Protocol parameters - description: Return the protocol parameters for the epoch specified. + - Cardano » Governance + summary: Specific proposal + description: Proposal information. parameters: - in: path - name: number + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index required: true schema: type: integer - description: Number of the epoch - example: 225 + description: Transaction index. + example: 1 responses: '200': - description: Return the data about the epoch + description: Return the proposal information content content: application/json: schema: - $ref: '#/components/schemas/epoch_param_content' + $ref: '#/components/schemas/proposal' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}': + '/governance/proposals/{tx_hash}/{cert_index}/parameters': get: tags: - - Cardano » Transactions - summary: Specific transaction - description: Return content of the requested transaction. + - Cardano » Governance + summary: Specific parameters proposal + description: Parameters proposal details. parameters: - in: path - name: hash + name: tx_hash required: true schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 responses: '200': - description: Return the contents of the transaction. + description: Return the proposal parameters content content: application/json: schema: - $ref: '#/components/schemas/tx_content' + $ref: '#/components/schemas/proposal_parameters' '400': $ref: '#/components/responses/400' '403': @@ -1429,28 +1377,34 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/utxos': + '/governance/proposals/{tx_hash}/{cert_index}/withdrawals': get: tags: - - Cardano » Transactions - summary: Transaction UTXOs - description: Return the inputs and UTXOs of the specific transaction. + - Cardano » Governance + summary: Specific withdrawals proposal + description: Parameters withdrawals details. parameters: - in: path - name: hash + name: tx_hash required: true schema: type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 responses: '200': - description: Return the contents of the transaction. + description: Return the proposal withdrawals content content: application/json: schema: - $ref: '#/components/schemas/tx_content_utxo' + $ref: '#/components/schemas/proposal_withdrawals' '400': $ref: '#/components/responses/400' '403': @@ -1463,104 +1417,127 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/stakes': + '/governance/proposals/{tx_hash}/{cert_index}/votes': get: tags: - - Cardano » Transactions - summary: Transaction stake addresses certificates - description: > - Obtain information about (de)registration of stake addresses within a - transaction. + - Cardano » Governance + summary: Proposal votes + description: History of Proposal votes. parameters: - in: path - name: hash + name: tx_hash required: true schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Transaction hash. + example: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: > - Obtain information about (de)registration of stake addresses within - a transaction. + description: Return the Proposal votes content: application/json: schema: - $ref: '#/components/schemas/tx_content_stake_addr' + $ref: '#/components/schemas/proposal_votes' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/delegations': + '/governance/proposals/{tx_hash}/{cert_index}/metadata': get: tags: - - Cardano » Transactions - summary: Transaction delegation certificates - description: > - Obtain information about delegation certificates of a specific - transaction. + - Cardano » Governance + summary: Specific proposal metadata + description: Proposal metadata information. parameters: - in: path - name: hash + name: tx_hash required: true schema: type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Transaction hash of the proposal. + example: 2403339d2f344202fb3583353e11a693a82860e59e65939dcb0e2ac72336d631 + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index of the proposal. + example: 0 responses: '200': - description: >- - Obtain information about delegation certificates of a specific - transaction + description: Return the proposal information content content: application/json: schema: - $ref: '#/components/schemas/tx_content_delegations' + $ref: '#/components/schemas/proposal_metadata' '400': $ref: '#/components/responses/400' '403': $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/withdrawals': + /epochs/latest: get: tags: - - Cardano » Transactions - summary: Transaction withdrawal - description: Obtain information about withdrawals of a specific transaction. - parameters: - - in: path - name: hash - required: true - schema: - type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + - Cardano » Epochs + summary: Latest epoch + description: 'Return the information about the latest, therefore current, epoch.' responses: '200': - description: Obtain information about withdrawals of a specific transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_withdrawals' + $ref: '#/components/schemas/epoch_content' '400': $ref: '#/components/responses/400' '403': @@ -1573,32 +1550,19 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/mirs': + /epochs/latest/parameters: get: tags: - - Cardano » Transactions - summary: Transaction MIRs - description: >- - Obtain information about Move Instantaneous Rewards (MIRs) of a specific - transaction. - parameters: - - in: path - name: hash - required: true - schema: - type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction. - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + - Cardano » Epochs + summary: Latest epoch protocol parameters + description: Return the protocol parameters for the latest epoch. responses: '200': - description: >- - Obtain information about Move Instantaneous Rewards (MIRs) of a - specific transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_mirs' + $ref: '#/components/schemas/epoch_param_content' '400': $ref: '#/components/responses/400' '403': @@ -1611,32 +1575,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/pool_updates': + '/epochs/{number}': get: tags: - - Cardano » Transactions - summary: Transaction stake pool registration and update certificates - description: > - Obtain information about stake pool registration and update certificates - of a specific transaction. + - Cardano » Epochs + summary: Specific epoch + description: Return the content of the requested epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + type: integer + description: Number of the epoch + example: 225 responses: '200': - description: >- - Obtain information about stake pool certificates of a specific - transaction + description: Return the epoch data. content: application/json: schema: - $ref: '#/components/schemas/tx_content_pool_certs' + $ref: '#/components/schemas/epoch_content' '400': $ref: '#/components/responses/400' '403': @@ -1649,32 +1608,45 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/pool_retires': + '/epochs/{number}/next': get: tags: - - Cardano » Transactions - summary: Transaction stake pool retirement certificates - description: > - Obtain information about stake pool retirements within a specific - transaction. + - Cardano » Epochs + summary: Listing of next epochs + description: Return the list of epochs following a specific epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + type: integer + description: Number of the requested epoch. + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. responses: '200': - description: > - Obtain information about stake pool retirements within a specific - transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_pool_retires' + $ref: '#/components/schemas/epoch_content_array' '400': $ref: '#/components/responses/400' '403': @@ -1687,28 +1659,45 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/metadata': + '/epochs/{number}/previous': get: tags: - - Cardano » Transactions - summary: Transaction metadata - description: Obtain the transaction metadata. + - Cardano » Epochs + summary: Listing of previous epochs + description: Return the list of epochs preceding a specific epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b - responses: - '200': - description: Obtain metadata information associated with a specific transaction. - content: - application/json: - schema: - $ref: '#/components/schemas/tx_content_metadata' + type: integer + description: Number of the epoch + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results + responses: + '200': + description: Return the epoch data + content: + application/json: + schema: + $ref: '#/components/schemas/epoch_content_array' '400': $ref: '#/components/responses/400' '403': @@ -1721,28 +1710,45 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/metadata/cbor': + '/epochs/{number}/stakes': get: tags: - - Cardano » Transactions - summary: Transaction metadata in CBOR - description: Obtain the transaction metadata in CBOR. + - Cardano » Epochs + summary: Stake distribution + description: Return the active stake distribution for the specified epoch. parameters: - in: path - name: hash + name: number required: true schema: - type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + type: integer + description: Number of the epoch + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. responses: '200': - description: Obtain metadata information associated with a specific transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_metadata_cbor' + $ref: '#/components/schemas/epoch_stake_content' '400': $ref: '#/components/responses/400' '403': @@ -1755,28 +1761,54 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/redeemers': + '/epochs/{number}/stakes/{pool_id}': get: tags: - - Cardano » Transactions - summary: Transaction redeemers - description: Obtain the transaction redeemers. + - Cardano » Epochs + summary: Stake distribution by pool + description: >- + Return the active stake distribution for the epoch specified by stake + pool. parameters: - in: path - name: hash + name: number + required: true + schema: + type: integer + description: Number of the epoch + example: 225 + - in: path required: true + name: pool_id schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Stake pool ID to filter + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. responses: '200': - description: Obtain information about redeemers within a specific transaction. + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_redeemers' + $ref: '#/components/schemas/epoch_stake_pool_content' '400': $ref: '#/components/responses/400' '403': @@ -1789,28 +1821,59 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/required_signers': + '/epochs/{number}/blocks': get: tags: - - Cardano » Transactions - summary: Transaction required signers - description: Obtain the extra transaction witnesses. + - Cardano » Epochs + summary: Block distribution + description: Return the blocks minted for the epoch specified. parameters: - in: path - name: hash + name: number required: true + schema: + type: integer + description: Number of the epoch + example: 225 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Query required signers (extra transaction witnesses) + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_required_signers' + $ref: '#/components/schemas/epoch_block_content' '400': $ref: '#/components/responses/400' '403': @@ -1823,28 +1886,66 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/txs/{hash}/cbor': + '/epochs/{number}/blocks/{pool_id}': get: tags: - - Cardano » Transactions - summary: Transaction CBOR - description: Obtain the CBOR serialized transaction + - Cardano » Epochs + summary: Block distribution by pool + description: Return the block minted for the epoch specified by stake pool. parameters: - in: path - name: hash + name: number + required: true + schema: + type: integer + description: Number of the epoch + example: 225 + - in: path required: true + name: pool_id schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Hash of the transaction - example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Stake pool ID to filter + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Query transaction CBOR + description: Return the data about the epoch content: application/json: schema: - $ref: '#/components/schemas/tx_content_cbor' + $ref: '#/components/schemas/epoch_block_content' '400': $ref: '#/components/responses/400' '403': @@ -1857,64 +1958,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /tx/submit: - post: + '/epochs/{number}/parameters': + get: tags: - - Cardano » Transactions - summary: Submit a transaction - description: | - Submit an already serialized transaction to the network. - -

- Hosted Endpoint only available for hosted variant. -

- x-codeSamples: - - lang: Shell - label: cURL - source: | - # Assuming `data` is a serialized transaction on the file-system. - curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ - -X POST \ - -H "Content-Type: application/cbor" \ - -H "project_id: $PROJECT_ID" \ - --data-binary @./data - - lang: Shell - label: cardano-cli - source: > - # Assuming `tx.signed` is signed transaction constructed by - cardano-cli - - xxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw - - curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ - -X POST \ - -H "Content-Type: application/cbor" \ - -H "project_id: $PROJECT_ID" \ - --data-binary @./tx.submit-api.raw - requestBody: - description: | - The transaction to submit, serialized in CBOR. - required: true - content: - application/cbor: - schema: - type: string - description: | - The transaction to submit, serialized in CBOR. - example: > - 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 + - Cardano » Epochs + summary: Protocol parameters + description: Return the protocol parameters for the epoch specified. + parameters: + - in: path + name: number + required: true + schema: + type: integer + description: Number of the epoch + example: 225 responses: '200': - description: Return the ID of the submitted transaction. + description: Return the data about the epoch content: application/json: schema: - type: string - format: hex - minLength: 64 - maxLength: 64 - example: >- - d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908 + $ref: '#/components/schemas/epoch_param_content' '400': $ref: '#/components/responses/400' '403': @@ -1923,34 +1987,32 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}': + '/txs/{hash}': get: tags: - - Cardano » Accounts - summary: Specific account address - description: | - Obtain information about a specific stake account. + - Cardano » Transactions + summary: Specific transaction + description: Return content of the requested transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account content. + description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/account_content' + $ref: '#/components/schemas/tx_content' '400': $ref: '#/components/responses/400' '403': @@ -1963,60 +2025,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/rewards': + '/txs/{hash}/utxos': get: tags: - - Cardano » Accounts - summary: Account reward history - description: | - Obtain information about the reward history of a specific account. + - Cardano » Transactions + summary: Transaction UTXOs + description: Return the inputs and UTXOs of the specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account content. + description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/account_reward_content' + $ref: '#/components/schemas/tx_content_utxo' '400': $ref: '#/components/responses/400' '403': @@ -2029,60 +2059,32 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/history': + '/txs/{hash}/stakes': get: tags: - - Cardano » Accounts - summary: Account history - description: | - Obtain information about the history of a specific account. + - Cardano » Transactions + summary: Transaction stake addresses certificates + description: > + Obtain information about (de)registration of stake addresses within a + transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account content. + description: > + Obtain information about (de)registration of stake addresses within + a transaction. content: application/json: schema: - $ref: '#/components/schemas/account_history_content' + $ref: '#/components/schemas/tx_content_stake_addr' '400': $ref: '#/components/responses/400' '403': @@ -2095,59 +2097,32 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/delegations': + '/txs/{hash}/delegations': get: tags: - - Cardano » Accounts - summary: Account delegation history - description: Obtain information about the delegation of a specific account. + - Cardano » Transactions + summary: Transaction delegation certificates + description: > + Obtain information about delegation certificates of a specific + transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account delegations content + description: >- + Obtain information about delegation certificates of a specific + transaction content: application/json: schema: - $ref: '#/components/schemas/account_delegation_content' + $ref: '#/components/schemas/tx_content_delegations' '400': $ref: '#/components/responses/400' '403': @@ -2160,61 +2135,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/registrations': + '/txs/{hash}/withdrawals': get: tags: - - Cardano » Accounts - summary: Account registration history - description: > - Obtain information about the registrations and deregistrations of a - specific account. + - Cardano » Transactions + summary: Transaction withdrawal + description: Obtain information about withdrawals of a specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account registration content. + description: Obtain information about withdrawals of a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_registration_content' + $ref: '#/components/schemas/tx_content_withdrawals' '400': $ref: '#/components/responses/400' '403': @@ -2227,60 +2169,32 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/withdrawals': + '/txs/{hash}/mirs': get: tags: - - Cardano » Accounts - summary: Account withdrawal history - description: | - Obtain information about the withdrawals of a specific account. + - Cardano » Transactions + summary: Transaction MIRs + description: >- + Obtain information about Move Instantaneous Rewards (MIRs) of a specific + transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction. + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account withdrawal content. + description: >- + Obtain information about Move Instantaneous Rewards (MIRs) of a + specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_withdrawal_content' + $ref: '#/components/schemas/tx_content_mirs' '400': $ref: '#/components/responses/400' '403': @@ -2293,60 +2207,32 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/mirs': + '/txs/{hash}/pool_updates': get: tags: - - Cardano » Accounts - summary: Account MIR history - description: | - Obtain information about the MIRs of a specific account. + - Cardano » Transactions + summary: Transaction stake pool registration and update certificates + description: > + Obtain information about stake pool registration and update certificates + of a specific transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account MIR content. + description: >- + Obtain information about stake pool certificates of a specific + transaction content: application/json: schema: - $ref: '#/components/schemas/account_mir_content' + $ref: '#/components/schemas/tx_content_pool_certs' '400': $ref: '#/components/responses/400' '403': @@ -2359,64 +2245,32 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/addresses': + '/txs/{hash}/pool_retires': get: tags: - - Cardano » Accounts - summary: Account associated addresses + - Cardano » Transactions + summary: Transaction stake pool retirement certificates description: > - Obtain information about the addresses of a specific account. - - Be careful, as an account could be part of a mangled address and - does not necessarily mean the addresses are owned by user as the - account. + Obtain information about stake pool retirements within a specific + transaction. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account addresses content + description: > + Obtain information about stake pool retirements within a specific + transaction. content: application/json: schema: - $ref: '#/components/schemas/account_addresses_content' + $ref: '#/components/schemas/tx_content_pool_retires' '400': $ref: '#/components/responses/400' '403': @@ -2429,65 +2283,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/addresses/assets': + '/txs/{hash}/metadata': get: tags: - - Cardano » Accounts - summary: Assets associated with the account addresses - description: > - Obtain information about assets associated with addresses of a specific - account. - - Be careful, as an account could be part of a mangled address and - does not necessarily mean the addresses are owned by user as the - account. + - Cardano » Transactions + summary: Transaction metadata + description: Obtain the transaction metadata. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 stake address. - example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the account addresses content + description: Obtain metadata information associated with a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_addresses_assets' + $ref: '#/components/schemas/tx_content_metadata' '400': $ref: '#/components/responses/400' '403': @@ -2500,34 +2317,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/accounts/{stake_address}/addresses/total': + '/txs/{hash}/metadata/cbor': get: tags: - - Cardano » Accounts - summary: Detailed information about account associated addresses - description: > - Obtain summed details about all addresses associated with a given - account. - - Be careful, as an account could be part of a mangled address and - does not necessarily mean the addresses are owned by user as the - account. + - Cardano » Transactions + summary: Transaction metadata in CBOR + description: Obtain the transaction metadata in CBOR. parameters: - in: path - name: stake_address + name: hash required: true schema: type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the Address details. + description: Obtain metadata information associated with a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/account_addresses_total' + $ref: '#/components/schemas/tx_content_metadata_cbor' '400': $ref: '#/components/responses/400' '403': @@ -2540,57 +2351,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /mempool: + '/txs/{hash}/redeemers': get: tags: - - Cardano » Mempool - summary: Mempool - description: | - Return transactions that are currently stored in Blockfrost mempool, - waiting to be included in a newly minted block. - Shows only transactions submitted via Blockfrost.io. - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Transactions + summary: Transaction redeemers + description: Obtain the transaction redeemers. parameters: - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false + - in: path + name: hash + required: true schema: type: string - enum: - - asc - - desc - default: asc - description: | - Ordered by the time of transaction submission. - By default, we return oldest first, newest last. + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the contents of the mempool + description: Obtain information about redeemers within a specific transaction. content: application/json: schema: - $ref: '#/components/schemas/mempool_content' + $ref: '#/components/schemas/tx_content_redeemers' '400': $ref: '#/components/responses/400' '403': @@ -2603,17 +2385,12 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/mempool/{hash}': + '/txs/{hash}/required_signers': get: tags: - - Cardano » Mempool - summary: Specific transaction in the mempool - description: | - Return content of the requested transaction. - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Transactions + summary: Transaction required signers + description: Obtain the extra transaction witnesses. parameters: - in: path name: hash @@ -2621,15 +2398,15 @@ paths: schema: type: string format: 64-character case-sensitive hexadecimal string. - description: Hash of the requested transaction - example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + description: Hash of the transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the contents of the transaction. + description: Query required signers (extra transaction witnesses) content: application/json: schema: - $ref: '#/components/schemas/mempool_tx_content' + $ref: '#/components/schemas/tx_content_required_signers' '400': $ref: '#/components/responses/400' '403': @@ -2642,31 +2419,161 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/mempool/addresses/{address}': + '/txs/{hash}/cbor': get: tags: - - Cardano » Mempool - summary: Mempool by address - description: > - List of mempool transactions where at least one of the transaction - inputs or outputs belongs to the address. - - Shows only transactions submitted via Blockfrost.io. - + - Cardano » Transactions + summary: Transaction CBOR + description: Obtain the CBOR serialized transaction + parameters: + - in: path + name: hash + required: true + schema: + type: string + format: 64-character case-sensitive hexadecimal string. + description: Hash of the transaction + example: 6e5f825c82c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b + responses: + '200': + description: Query transaction CBOR + content: + application/json: + schema: + $ref: '#/components/schemas/tx_content_cbor' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /tx/submit: + post: + tags: + - Cardano » Transactions + summary: Submit a transaction + description: | + Submit an already serialized transaction to the network.

Hosted Endpoint only available for hosted variant.

+ x-codeSamples: + - lang: Shell + label: cURL + source: | + # Assuming `data` is a serialized transaction on the file-system. + curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ + -X POST \ + -H "Content-Type: application/cbor" \ + -H "project_id: $PROJECT_ID" \ + --data-binary @./data + - lang: Shell + label: cardano-cli + source: > + # Assuming `tx.signed` is signed transaction constructed by + cardano-cli + + xxd -r -p <<< $(jq .cborHex tx.signed) > tx.submit-api.raw + + curl "https://cardano-mainnet.blockfrost.io/api/v0/tx/submit" \ + -X POST \ + -H "Content-Type: application/cbor" \ + -H "project_id: $PROJECT_ID" \ + --data-binary @./tx.submit-api.raw + requestBody: + description: | + The transaction to submit, serialized in CBOR. + required: true + content: + application/cbor: + schema: + type: string + description: | + The transaction to submit, serialized in CBOR. + example: > + 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 + responses: + '200': + description: Return the ID of the submitted transaction. + content: + application/json: + schema: + type: string + format: hex + minLength: 64 + maxLength: 64 + example: >- + d1662b24fa9fe985fc2dce47455df399cb2e31e1e1819339e885801cc3578908 + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/accounts/{stake_address}': + get: + tags: + - Cardano » Accounts + summary: Specific account address + description: | + Obtain information about a specific stake account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - format: 64-character case-sensitive hexadecimal string. - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc + responses: + '200': + description: Return the account content. + content: + application/json: + schema: + $ref: '#/components/schemas/account_content' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/accounts/{stake_address}/rewards': + get: + tags: + - Cardano » Accounts + summary: Account reward history + description: | + Obtain information about the reward history of a specific account. + parameters: + - in: path + name: stake_address + required: true + schema: + type: string + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2694,16 +2601,18 @@ paths: - asc - desc default: asc - description: | - Ordered by the time of transaction submission. - By default, we return oldest first, newest last. + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Return the contents of the mempool + description: Return the account content. content: application/json: schema: - $ref: '#/components/schemas/mempool_addresses_content' + $ref: '#/components/schemas/account_reward_content' '400': $ref: '#/components/responses/400' '403': @@ -2716,14 +2625,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /metadata/txs/labels: + '/accounts/{stake_address}/history': get: tags: - - Cardano » Metadata - summary: Transaction metadata labels + - Cardano » Accounts + summary: Account history description: | - List of all used transaction metadata labels. + Obtain information about the history of a specific account. parameters: + - in: path + name: stake_address + required: true + schema: + type: string + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2758,11 +2674,11 @@ paths: newest last. responses: '200': - description: Return the account metadata content in CBOR + description: Return the account content. content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_labels' + $ref: '#/components/schemas/account_history_content' '400': $ref: '#/components/responses/400' '403': @@ -2775,20 +2691,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/metadata/txs/labels/{label}': + '/accounts/{stake_address}/delegations': get: tags: - - Cardano » Metadata - summary: Transaction metadata content in JSON - description: Transaction metadata per label. + - Cardano » Accounts + summary: Account delegation history + description: Obtain information about the delegation of a specific account. parameters: - in: path - name: label + name: stake_address required: true schema: type: string - description: Metadata label - example: '1990' + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2823,11 +2739,11 @@ paths: newest last. responses: '200': - description: Return the account metadata content + description: Return the account delegations content content: application/json: schema: - $ref: '#/components/schemas/tx_metadata_label_json' + $ref: '#/components/schemas/account_delegation_content' '400': $ref: '#/components/responses/400' '403': @@ -2840,20 +2756,22 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/metadata/txs/labels/{label}/cbor': + '/accounts/{stake_address}/registrations': get: tags: - - Cardano » Metadata - summary: Transaction metadata content in CBOR - description: Transaction metadata per label. + - Cardano » Accounts + summary: Account registration history + description: > + Obtain information about the registrations and deregistrations of a + specific account. parameters: - in: path - name: label + name: stake_address required: true schema: type: string - description: Metadata label - example: '1990' + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -2888,45 +2806,11 @@ paths: newest last. responses: '200': - description: Return the account metadata content in CBOR - content: - application/json: - schema: - $ref: '#/components/schemas/tx_metadata_label_cbor' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - '/addresses/{address}': - get: - tags: - - Cardano » Addresses - summary: Specific address - description: Obtain information about a specific address. - parameters: - - in: path - name: address - required: true - schema: - type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - responses: - '200': - description: Return the address content. + description: Return the account registration content. content: application/json: schema: - $ref: '#/components/schemas/address_content' + $ref: '#/components/schemas/account_registration_content' '400': $ref: '#/components/responses/400' '403': @@ -2939,90 +2823,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/addresses/{address}/extended': + '/accounts/{stake_address}/withdrawals': get: tags: - - Cardano » Addresses - summary: Extended information of a specific address + - Cardano » Accounts + summary: Account withdrawal history description: | - Obtain extended information about a specific address. - parameters: - - in: path - name: address - required: true - schema: - type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - responses: - '200': - description: Return the address content. - content: - application/json: - schema: - $ref: '#/components/schemas/address_content_extended' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - '/addresses/{address}/total': - get: - tags: - - Cardano » Addresses - summary: Address details - description: Obtain details about an address. - parameters: - - in: path - name: address - required: true - schema: - type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - responses: - '200': - description: Return the Address details. - content: - application/json: - schema: - $ref: '#/components/schemas/address_content_total' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - '/addresses/{address}/utxos': - get: - tags: - - Cardano » Addresses - summary: Address UTXOs - description: UTXOs of the address. + Obtain information about the withdrawals of a specific account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -3057,11 +2872,11 @@ paths: newest last. responses: '200': - description: Return the address content + description: Return the account withdrawal content. content: application/json: schema: - $ref: '#/components/schemas/address_utxo_content' + $ref: '#/components/schemas/account_withdrawal_content' '400': $ref: '#/components/responses/400' '403': @@ -3074,29 +2889,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/addresses/{address}/utxos/{asset}': + '/accounts/{stake_address}/mirs': get: tags: - - Cardano » Addresses - summary: Address UTXOs of a given asset - description: UTXOs of the address. + - Cardano » Accounts + summary: Account MIR history + description: | + Obtain information about the MIRs of a specific account. parameters: - in: path - name: address - required: true - schema: - type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - - in: path - name: asset + name: stake_address required: true schema: type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: >- - b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -3131,11 +2938,11 @@ paths: newest last. responses: '200': - description: Return the address content + description: Return the account MIR content. content: application/json: schema: - $ref: '#/components/schemas/address_utxo_content' + $ref: '#/components/schemas/account_mir_content' '400': $ref: '#/components/responses/400' '403': @@ -3148,22 +2955,25 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/addresses/{address}/txs': + '/accounts/{stake_address}/addresses': get: - deprecated: true tags: - - Cardano » Addresses - summary: Address txs - description: Transactions on the address. + - Cardano » Accounts + summary: Account associated addresses + description: > + Obtain information about the addresses of a specific account. + + Be careful, as an account could be part of a mangled address and + does not necessarily mean the addresses are owned by user as the + account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -3172,7 +2982,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of transactions per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3198,11 +3008,11 @@ paths: newest last. responses: '200': - description: Return the address content + description: Return the account addresses content content: application/json: schema: - $ref: '#/components/schemas/address_txs_content' + $ref: '#/components/schemas/account_addresses_content' '400': $ref: '#/components/responses/400' '403': @@ -3215,21 +3025,26 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/addresses/{address}/transactions': + '/accounts/{stake_address}/addresses/assets': get: tags: - - Cardano » Addresses - summary: Address transactions - description: Transactions on the address. + - Cardano » Accounts + summary: Assets associated with the account addresses + description: > + Obtain information about assets associated with addresses of a specific + account. + + Be careful, as an account could be part of a mangled address and + does not necessarily mean the addresses are owned by user as the + account. parameters: - in: path - name: address + name: stake_address required: true schema: type: string - description: Bech32 address. - example: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + description: Bech32 stake address. + example: stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc - in: query name: count required: false @@ -3238,7 +3053,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of addresses per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3262,35 +3077,53 @@ paths: not the page listing itself. By default, we return oldest first, newest last. - - in: query - name: from - required: false - schema: - type: string - description: > - The block number and optionally also index from which (inclusive) to - start search for results, concatenated using colon. + responses: + '200': + description: Return the account addresses content + content: + application/json: + schema: + $ref: '#/components/schemas/account_addresses_assets' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/accounts/{stake_address}/addresses/total': + get: + tags: + - Cardano » Accounts + summary: Detailed information about account associated addresses + description: > + Obtain summed details about all addresses associated with a given + account. - Has to be lower than or equal to `to` parameter. - example: '8929261' - - in: query - name: to - required: false + Be careful, as an account could be part of a mangled address and + does not necessarily mean the addresses are owned by user as the + account. + parameters: + - in: path + name: stake_address + required: true schema: type: string - description: > - The block number and optionally also index where (inclusive) to end - the search for results, concatenated using colon. - - Has to be higher than or equal to `from` parameter. - example: '9999269:10' + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: '200': - description: Return the address content + description: Return the Address details. content: application/json: schema: - $ref: '#/components/schemas/address_transactions_content' + $ref: '#/components/schemas/account_addresses_total' '400': $ref: '#/components/responses/400' '403': @@ -3303,12 +3136,19 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools: + /mempool: get: tags: - - Cardano » Pools - summary: List of stake pools - description: List of registered stake pools. + - Cardano » Mempool + summary: Mempool + description: | + Return transactions that are currently stored in Blockfrost mempool, + waiting to be included in a newly minted block. + Shows only transactions submitted via Blockfrost.io. + +

+ Hosted Endpoint only available for hosted variant. +

parameters: - in: query name: count @@ -3318,7 +3158,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of pools per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3337,18 +3177,55 @@ paths: - asc - desc default: asc - description: > - The ordering of items from the point of view of the blockchain, + description: | + Ordered by the time of transaction submission. + By default, we return oldest first, newest last. + responses: + '200': + description: Return the contents of the mempool + content: + application/json: + schema: + $ref: '#/components/schemas/mempool_content' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/mempool/{hash}': + get: + tags: + - Cardano » Mempool + summary: Specific transaction in the mempool + description: | + Return content of the requested transaction. - not the page listing itself. By default, we return oldest first, - newest last. +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + name: hash + required: true + schema: + type: string + format: 64-character case-sensitive hexadecimal string. + description: Hash of the requested transaction + example: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b responses: '200': - description: Return the list of pools. + description: Return the contents of the transaction. content: application/json: schema: - $ref: '#/components/schemas/pool_list' + $ref: '#/components/schemas/mempool_tx_content' '400': $ref: '#/components/responses/400' '403': @@ -3361,13 +3238,31 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/extended: + '/mempool/addresses/{address}': get: tags: - - Cardano » Pools - summary: List of stake pools with additional information - description: List of registered stake pools with additional information. + - Cardano » Mempool + summary: Mempool by address + description: > + List of mempool transactions where at least one of the transaction + inputs or outputs belongs to the address. + + Shows only transactions submitted via Blockfrost.io. + + +

+ Hosted Endpoint only available for hosted variant. +

parameters: + - in: path + name: address + required: true + schema: + type: string + format: 64-character case-sensitive hexadecimal string. + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - in: query name: count required: false @@ -3376,7 +3271,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of pools per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3395,18 +3290,16 @@ paths: - asc - desc default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + description: | + Ordered by the time of transaction submission. + By default, we return oldest first, newest last. responses: '200': - description: Return the list of pools. + description: Return the contents of the mempool content: application/json: schema: - $ref: '#/components/schemas/pool_list_extended' + $ref: '#/components/schemas/mempool_addresses_content' '400': $ref: '#/components/responses/400' '403': @@ -3419,12 +3312,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/retired: + /metadata/txs/labels: get: tags: - - Cardano » Pools - summary: List of retired stake pools - description: List of already retired pools. + - Cardano » Metadata + summary: Transaction metadata labels + description: | + List of all used transaction metadata labels. parameters: - in: query name: count @@ -3434,7 +3328,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of pools per page. + description: The number of results displayed on one page. - in: query name: page required: false @@ -3460,11 +3354,11 @@ paths: newest last. responses: '200': - description: Return the pool information content + description: Return the account metadata content in CBOR content: application/json: schema: - $ref: '#/components/schemas/pool_list_retire' + $ref: '#/components/schemas/tx_metadata_labels' '400': $ref: '#/components/responses/400' '403': @@ -3477,13 +3371,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /pools/retiring: + '/metadata/txs/labels/{label}': get: tags: - - Cardano » Pools - summary: List of retiring stake pools - description: List of stake pools retiring in the upcoming epochs + - Cardano » Metadata + summary: Transaction metadata content in JSON + description: Transaction metadata per label. parameters: + - in: path + name: label + required: true + schema: + type: string + description: Metadata label + example: '1990' - in: query name: count required: false @@ -3518,44 +3419,11 @@ paths: newest last. responses: '200': - description: Return the pool information content - content: - application/json: - schema: - $ref: '#/components/schemas/pool_list_retire' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - '/pools/{pool_id}': - get: - tags: - - Cardano » Pools - summary: Specific stake pool - description: Pool information. - parameters: - - in: path - name: pool_id - required: true - schema: - type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - responses: - '200': - description: Return the pool information content + description: Return the account metadata content content: application/json: schema: - $ref: '#/components/schemas/pool' + $ref: '#/components/schemas/tx_metadata_label_json' '400': $ref: '#/components/responses/400' '403': @@ -3568,21 +3436,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/pools/{pool_id}/history': + '/metadata/txs/labels/{label}/cbor': get: tags: - - Cardano » Pools - summary: Stake pool history - description: | - History of stake pool parameters over epochs. + - Cardano » Metadata + summary: Transaction metadata content in CBOR + description: Transaction metadata per label. parameters: - in: path - name: pool_id + name: label required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Metadata label + example: '1990' - in: query name: count required: false @@ -3600,7 +3467,7 @@ paths: minimum: 1 maximum: 21474836 default: 1 - description: The page number for listing the results + description: The page number for listing the results. - in: query name: order required: false @@ -3617,11 +3484,11 @@ paths: newest last. responses: '200': - description: Return the pool information content. + description: Return the account metadata content in CBOR content: application/json: schema: - $ref: '#/components/schemas/pool_history' + $ref: '#/components/schemas/tx_metadata_label_cbor' '400': $ref: '#/components/responses/400' '403': @@ -3634,30 +3501,63 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/pools/{pool_id}/metadata': + '/addresses/{address}': get: tags: - - Cardano » Pools - summary: Stake pool metadata + - Cardano » Addresses + summary: Specific address + description: Obtain information about a specific address. + parameters: + - in: path + name: address + required: true + schema: + type: string + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + responses: + '200': + description: Return the address content. + content: + application/json: + schema: + $ref: '#/components/schemas/address_content' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/addresses/{address}/extended': + get: + tags: + - Cardano » Addresses + summary: Extended information of a specific address description: | - Stake pool registration metadata. + Obtain extended information about a specific address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: '200': - description: Return the pool metadata content. + description: Return the address content. content: application/json: schema: - anyOf: - - $ref: '#/components/schemas/pool_metadata' - - $ref: '#/components/schemas/empty_object' + $ref: '#/components/schemas/address_content_extended' '400': $ref: '#/components/responses/400' '403': @@ -3670,27 +3570,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/pools/{pool_id}/relays': + '/addresses/{address}/total': get: tags: - - Cardano » Pools - summary: Stake pool relays - description: Relays of a stake pool. + - Cardano » Addresses + summary: Address details + description: Obtain details about an address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz responses: '200': - description: Return the pool relays information content. + description: Return the Address details. content: application/json: schema: - $ref: '#/components/schemas/pool_relays' + $ref: '#/components/schemas/address_content_total' '400': $ref: '#/components/responses/400' '403': @@ -3703,20 +3604,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/pools/{pool_id}/delegators': + '/addresses/{address}/utxos': get: tags: - - Cardano » Pools - summary: Stake pool delegators - description: List of current stake pools delegators. + - Cardano » Addresses + summary: Address UTXOs + description: UTXOs of the address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - in: query name: count required: false @@ -3751,11 +3653,11 @@ paths: newest last. responses: '200': - description: Return the pool delegations. + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/pool_delegators' + $ref: '#/components/schemas/address_utxo_content' '400': $ref: '#/components/responses/400' '403': @@ -3768,20 +3670,29 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/pools/{pool_id}/blocks': + '/addresses/{address}/utxos/{asset}': get: tags: - - Cardano » Pools - summary: Stake pool blocks - description: List of stake pools blocks. + - Cardano » Addresses + summary: Address UTXOs of a given asset + description: UTXOs of the address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + - in: path + name: asset + required: true + schema: + type: string + description: Concatenation of the policy_id and hex-encoded asset_name + example: >- + b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -3816,11 +3727,11 @@ paths: newest last. responses: '200': - description: Return the pool block list + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/pool_blocks' + $ref: '#/components/schemas/address_utxo_content' '400': $ref: '#/components/responses/400' '403': @@ -3833,20 +3744,22 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/pools/{pool_id}/updates': + '/addresses/{address}/txs': get: + deprecated: true tags: - - Cardano » Pools - summary: Stake pool updates - description: List of certificate updates to the stake pool. + - Cardano » Addresses + summary: Address txs + description: Transactions on the address. parameters: - in: path - name: pool_id + name: address required: true schema: type: string - description: Bech32 or hexadecimal pool ID. - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - in: query name: count required: false @@ -3855,7 +3768,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of transactions per page. - in: query name: page required: false @@ -3881,11 +3794,11 @@ paths: newest last. responses: '200': - description: Return the pool updates history + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/pool_updates' + $ref: '#/components/schemas/address_txs_content' '400': $ref: '#/components/responses/400' '403': @@ -3898,15 +3811,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /assets: + '/addresses/{address}/transactions': get: tags: - - Cardano » Assets - summary: Assets - description: | - List of assets. If an asset is completely burned, - it will stay on the list with quantity 0 (order of assets is immutable). + - Cardano » Addresses + summary: Address transactions + description: Transactions on the address. parameters: + - in: path + name: address + required: true + schema: + type: string + description: Bech32 address. + example: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - in: query name: count required: false @@ -3915,7 +3834,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of addresses per page. - in: query name: page required: false @@ -3939,50 +3858,35 @@ paths: not the page listing itself. By default, we return oldest first, newest last. + - in: query + name: from + required: false + schema: + type: string + description: > + The block number and optionally also index from which (inclusive) to + start search for results, concatenated using colon. - Ordering in this case is based on the time of the first mint - transaction. - responses: - '200': - description: Return list of assets - content: - application/json: - schema: - $ref: '#/components/schemas/assets' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - '/assets/{asset}': - get: - tags: - - Cardano » Assets - summary: Specific asset - description: Information about a specific asset - parameters: - - in: path - name: asset - required: true + Has to be lower than or equal to `to` parameter. + example: '8929261' + - in: query + name: to + required: false schema: type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: >- - b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + description: > + The block number and optionally also index where (inclusive) to end + the search for results, concatenated using colon. + + Has to be higher than or equal to `from` parameter. + example: '9999269:10' responses: '200': - description: Return the information about a specific asset + description: Return the address content content: application/json: schema: - $ref: '#/components/schemas/asset' + $ref: '#/components/schemas/address_transactions_content' '400': $ref: '#/components/responses/400' '403': @@ -3995,21 +3899,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/assets/{asset}/history': + /pools: get: tags: - - Cardano » Assets - summary: Asset history - description: History of a specific asset + - Cardano » Pools + summary: List of stake pools + description: List of registered stake pools. parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: >- - b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -4018,7 +3914,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of pools per page. - in: query name: page required: false @@ -4044,11 +3940,11 @@ paths: newest last. responses: '200': - description: Return the information about the history of a specific asset + description: Return the list of pools. content: application/json: schema: - $ref: '#/components/schemas/asset_history' + $ref: '#/components/schemas/pool_list' '400': $ref: '#/components/responses/400' '403': @@ -4061,22 +3957,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/assets/{asset}/txs': + /pools/extended: get: - deprecated: true tags: - - Cardano » Assets - summary: Asset txs - description: List of a specific asset transactions + - Cardano » Pools + summary: List of stake pools with additional information + description: List of registered stake pools with additional information. parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: >- - b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -4085,7 +3972,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of pools per page. - in: query name: page required: false @@ -4111,11 +3998,11 @@ paths: newest last. responses: '200': - description: Return the information about the history of a specific asset + description: Return the list of pools. content: application/json: schema: - $ref: '#/components/schemas/asset_txs' + $ref: '#/components/schemas/pool_list_extended' '400': $ref: '#/components/responses/400' '403': @@ -4128,21 +4015,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/assets/{asset}/transactions': + /pools/retired: get: tags: - - Cardano » Assets - summary: Asset transactions - description: List of a specific asset transactions + - Cardano » Pools + summary: List of retired stake pools + description: List of already retired pools. parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: >- - b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -4151,7 +4030,7 @@ paths: minimum: 1 maximum: 100 default: 100 - description: The number of results displayed on one page. + description: The number of pools per page. - in: query name: page required: false @@ -4177,11 +4056,11 @@ paths: newest last. responses: '200': - description: Return the information about the history of a specific asset + description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/asset_transactions' + $ref: '#/components/schemas/pool_list_retire' '400': $ref: '#/components/responses/400' '403': @@ -4194,21 +4073,13 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/assets/{asset}/addresses': + /pools/retiring: get: tags: - - Cardano » Assets - summary: Asset addresses - description: List of a addresses containing a specific asset + - Cardano » Pools + summary: List of retiring stake pools + description: List of stake pools retiring in the upcoming epochs parameters: - - in: path - name: asset - required: true - schema: - type: string - description: Concatenation of the policy_id and hex-encoded asset_name - example: >- - b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -4243,11 +4114,11 @@ paths: newest last. responses: '200': - description: Return the information about the history of a specific asset + description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/asset_addresses' + $ref: '#/components/schemas/pool_list_retire' '400': $ref: '#/components/responses/400' '403': @@ -4260,59 +4131,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/assets/policy/{policy_id}': + '/pools/{pool_id}': get: tags: - - Cardano » Assets - summary: Assets of a specific policy - description: List of asset minted under a specific policy + - Cardano » Pools + summary: Specific stake pool + description: Pool information. parameters: - in: path - name: policy_id + name: pool_id required: true schema: type: string - description: Specific policy_id - example: 476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3 - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: '200': - description: Return the information about a specific asset + description: Return the pool information content content: application/json: schema: - $ref: '#/components/schemas/asset_policy' + $ref: '#/components/schemas/pool' '400': $ref: '#/components/responses/400' '403': @@ -4325,13 +4164,21 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /scripts: + '/pools/{pool_id}/history': get: tags: - - Cardano » Scripts - summary: Scripts - description: List of scripts. + - Cardano » Pools + summary: Stake pool history + description: | + History of stake pool parameters over epochs. parameters: + - in: path + name: pool_id + required: true + schema: + type: string + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - in: query name: count required: false @@ -4349,7 +4196,7 @@ paths: minimum: 1 maximum: 21474836 default: 1 - description: The page number for listing the results. + description: The page number for listing the results - in: query name: order required: false @@ -4366,11 +4213,11 @@ paths: newest last. responses: '200': - description: Return list of scripts + description: Return the pool information content. content: application/json: schema: - $ref: '#/components/schemas/scripts' + $ref: '#/components/schemas/pool_history' '400': $ref: '#/components/responses/400' '403': @@ -4383,27 +4230,30 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/scripts/{script_hash}': + '/pools/{pool_id}/metadata': get: tags: - - Cardano » Scripts - summary: Specific script - description: Information about a specific script + - Cardano » Pools + summary: Stake pool metadata + description: | + Stake pool registration metadata. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: '200': - description: Return the information about a specific script + description: Return the pool metadata content. content: application/json: schema: - $ref: '#/components/schemas/script' + anyOf: + - $ref: '#/components/schemas/pool_metadata' + - $ref: '#/components/schemas/empty_object' '400': $ref: '#/components/responses/400' '403': @@ -4416,27 +4266,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/scripts/{script_hash}/json': + '/pools/{pool_id}/relays': get: tags: - - Cardano » Scripts - summary: Script JSON - description: JSON representation of a `timelock` script + - Cardano » Pools + summary: Stake pool relays + description: Relays of a stake pool. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy responses: '200': - description: Return the JSON representation of a `timelock` script + description: Return the pool relays information content. content: application/json: schema: - $ref: '#/components/schemas/script_json' + $ref: '#/components/schemas/pool_relays' '400': $ref: '#/components/responses/400' '403': @@ -4449,27 +4299,59 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/scripts/{script_hash}/cbor': + '/pools/{pool_id}/delegators': get: tags: - - Cardano » Scripts - summary: Script CBOR - description: CBOR representation of a `plutus` script + - Cardano » Pools + summary: Stake pool delegators + description: List of current stake pools delegators. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Return the CBOR representation of a `plutus` script + description: Return the pool delegations. content: application/json: schema: - $ref: '#/components/schemas/script_cbor' + $ref: '#/components/schemas/pool_delegators' '400': $ref: '#/components/responses/400' '403': @@ -4482,20 +4364,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/scripts/{script_hash}/redeemers': + '/pools/{pool_id}/blocks': get: tags: - - Cardano » Scripts - summary: Redeemers of a specific script - description: List of redeemers of a specific script + - Cardano » Pools + summary: Stake pool blocks + description: List of stake pools blocks. parameters: - in: path - name: script_hash + name: pool_id required: true schema: type: string - description: Hash of the script - example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - in: query name: count required: false @@ -4530,11 +4412,11 @@ paths: newest last. responses: '200': - description: Return the information about redeemers of a specific script + description: Return the pool block list content: application/json: schema: - $ref: '#/components/schemas/script_redeemers' + $ref: '#/components/schemas/pool_blocks' '400': $ref: '#/components/responses/400' '403': @@ -4547,60 +4429,124 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/scripts/datum/{datum_hash}': + '/pools/{pool_id}/updates': get: tags: - - Cardano » Scripts - summary: Datum value - description: Query JSON value of a datum by its hash + - Cardano » Pools + summary: Stake pool updates + description: List of certificate updates to the stake pool. parameters: - in: path - name: datum_hash + name: pool_id required: true schema: type: string - description: Hash of the datum - example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d - responses: - '200': - description: Return the datum value - content: - application/json: - schema: - $ref: '#/components/schemas/script_datum' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. + responses: + '200': + description: Return the pool updates history + content: + application/json: + schema: + $ref: '#/components/schemas/pool_updates' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/scripts/datum/{datum_hash}/cbor': + '/pools/{pool_id}/votes': get: tags: - - Cardano » Scripts - summary: Datum CBOR value - description: Query CBOR serialised datum by its hash + - Cardano » Pools + summary: Stake pool votes + description: History of stake pools votes. parameters: - in: path - name: datum_hash + name: pool_id required: true schema: type: string - description: Hash of the datum - example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d + description: Bech32 or hexadecimal pool ID. + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Return the CBOR serialised datum value + description: Return the pool votes. content: application/json: schema: - $ref: '#/components/schemas/script_datum_cbor' + $ref: '#/components/schemas/pool_votes' '400': $ref: '#/components/responses/400' '403': @@ -4613,42 +4559,57 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/utils/addresses/xpub/{xpub}/{role}/{index}': + /assets: get: tags: - - Cardano » Utilities - summary: Derive an address - description: Derive Shelley address from an xpub + - Cardano » Assets + summary: Assets + description: | + List of assets. If an asset is completely burned, + it will stay on the list with quantity 0 (order of assets is immutable). parameters: - - in: path - name: xpub - required: true - schema: - type: string - description: Hex xpub - example: >- - d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a - - in: path - name: role - required: true + - in: query + name: count + required: false schema: type: integer - description: Account role - example: 0 - - in: path - name: index - required: true + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false schema: type: integer - description: Address index - example: 2 + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. + + Ordering in this case is based on the time of the first mint + transaction. responses: '200': - description: Return derivated Shelley address + description: Return list of assets content: application/json: schema: - $ref: '#/components/schemas/utils_addresses_xpub' + $ref: '#/components/schemas/assets' '400': $ref: '#/components/responses/400' '403': @@ -4661,68 +4622,28 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /utils/txs/evaluate: - post: + '/assets/{asset}': + get: tags: - - Cardano » Utilities - summary: Submit a transaction for execution units evaluation - description: > - Submit an already serialized transaction to evaluate how much execution - units it requires. - - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Specific asset + description: Information about a specific asset parameters: - - in: header - name: Content-Type + - in: path + name: asset required: true schema: type: string - enum: - - application/cbor - x-codeSamples: - - lang: Shell - label: cURL - source: > - # Assuming `tx.data` is a CBOR serialized transaction on the - file-system. - - # (encoded using base16 or base64) - - curl - "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate" \ - -X POST \ - -H "Content-Type: application/cbor" \ - -H "project_id: $PROJECT_ID" \ - --data @./tx.data - requestBody: - description: | - The transaction to submit, serialized in CBOR. - required: true - content: - application/cbor: - schema: - type: string - description: | - The transaction to submit, serialized in CBOR. - example: > - 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 + description: Concatenation of the policy_id and hex-encoded asset_name + example: >- + b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e responses: '200': - description: | -

-

- Returns result of EvaluateTx function from Ogmios see EvaluateTx - and API reference (EvaluateTxResponse) for related errors. -
-

+ description: Return the information about a specific asset content: application/json: schema: - type: object - additionalProperties: true + $ref: '#/components/schemas/asset' '400': $ref: '#/components/responses/400' '403': @@ -4731,129 +4652,64 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /utils/txs/evaluate/utxos: - post: + '/assets/{asset}/history': + get: tags: - - Cardano » Utilities - summary: >- - Submit a transaction for execution units evaluation (additional UTXO - set) - description: > - Submit a JSON payload with transaction CBOR and additional UTXO set to - evaluate how much execution units it requires. - - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Asset history + description: History of a specific asset parameters: - - in: header - name: Content-Type + - in: path + name: asset required: true schema: type: string - enum: - - application/json - requestBody: - description: JSON payload - required: true - content: - application/json: - schema: - type: object - properties: - cbor: - type: string - description: Transaction CBOR (encoded using base64 or base16). - additionalUtxoSet: - type: array - description: >- - Additional UTXO as an array of tuples [TxIn, TxOut]. See - https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set. - items: - type: array - minItems: 2 - maxItems: 2 - items: - anyOf: - - type: object - description: TxIn - properties: - txId: - type: string - description: Transaction hash for the input - index: - type: number - description: Index of the output within the transaction - - type: object - description: TxOut - properties: - address: - type: string - description: Output address - value: - type: object - properties: - coins: - type: number - description: Lovelace amount - assets: - type: object - description: Assets amount - additionalProperties: - type: number - required: - - coins - datum_hash: - type: string - datum: - type: object - additionalProperties: true - script: - type: object - additionalProperties: true - required: - - address - - value - required: - - cbor - x-codeSamples: - - lang: Shell - label: cURL - source: > - # Assuming TxCbor is a CBOR serialized transaction encoded using - base16 or base64 - - # For a structure of additional UTXO set see - https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set + description: Concatenation of the policy_id and hex-encoded asset_name + example: >- + b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, - curl - "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos" - \ - -X POST \ - -H "Content-Type: application/json" \ - -H "project_id: $PROJECT_ID" \ - -d '{"cbor":"","additionalUtxoSet":[[, ]]}' + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: | -

-

- Returns result of EvaluateTx function from Ogmios see EvaluateTx - and API reference (EvaluateTxResponse) for related errors. -
-

+ description: Return the information about the history of a specific asset content: application/json: schema: - type: object - additionalProperties: true + $ref: '#/components/schemas/asset_history' '400': $ref: '#/components/responses/400' '403': @@ -4862,71 +4718,65 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/add: - servers: - - url: 'https://ipfs.blockfrost.io/api/v0' - post: + '/assets/{asset}/txs': + get: + deprecated: true tags: - - IPFS » Add - summary: Add a file to IPFS - operationId: ipfs_add - description: > - You need to `/ipfs/pin/add` an object to avoid it being garbage - collected. This usage - - is being counted in your user account quota. - + - Cardano » Assets + summary: Asset txs + description: List of a specific asset transactions + parameters: + - in: path + name: asset + required: true + schema: + type: string + description: Concatenation of the policy_id and hex-encoded asset_name + example: >- + b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, -

- Hosted Endpoint only available for hosted variant. -

- x-codeSamples: - - lang: Shell - label: cURL - source: | - curl "https://ipfs.blockfrost.io/api/v0/ipfs/add" \ - -X POST \ - -H "project_id: $PROJECT_ID" \ - -F "file=@./README.md" - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: string - format: binary + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Returns information about added IPFS object + description: Return the information about the history of a specific asset content: application/json: schema: - type: object - properties: - name: - type: string - example: README.md - description: Name of the file - ipfs_hash: - type: string - example: QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr - description: IPFS hash of the file - size: - type: string - example: '125297' - description: IPFS node size in Bytes - required: - - name - - ipfs_hash - - size + $ref: '#/components/schemas/asset_txs' '400': $ref: '#/components/responses/400' '403': @@ -4939,87 +4789,60 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/ipfs/gateway/{IPFS_path}': - servers: - - url: 'https://ipfs.blockfrost.io/api/v0' + '/assets/{asset}/transactions': get: tags: - - IPFS » Gateway - summary: Relay to an IPFS gateway - description: > - Retrieve an object from the IPFS gateway (useful if you do not want to - rely on a public gateway, such as `ipfs.blockfrost.dev`). - - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Asset transactions + description: List of a specific asset transactions parameters: - in: path + name: asset required: true - name: IPFS_path schema: type: string - description: Path to the IPFS object - responses: - '200': - description: Returns the object content - content: - application/octet-stream: - schema: - type: string - format: binary - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - '/ipfs/pin/add/{IPFS_path}': - servers: - - url: 'https://ipfs.blockfrost.io/api/v0' - post: - tags: - - IPFS » Pins - summary: Pin an object - description: >- - Pinning is necessary to avoid regular garbage collection (deletion) of - IPFS objects. Non-pinned objects are regularly being removed without - prior notice. Pinned objects are counted in your user storage quota. - parameters: - - in: path - required: true - name: IPFS_path + description: Concatenation of the policy_id and hex-encoded asset_name + example: >- + b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false schema: type: string - description: Path to the IPFS object + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Returns pinned object + description: Return the information about the history of a specific asset content: application/json: schema: - type: object - properties: - ipfs_hash: - type: string - example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 - description: IPFS hash of the pinned object - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - example: queued - description: State of the pin action - required: - - ipfs_hash - - state + $ref: '#/components/schemas/asset_transactions' '400': $ref: '#/components/responses/400' '403': @@ -5028,26 +4851,25 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425-2' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /ipfs/pin/list: - servers: - - url: 'https://ipfs.blockfrost.io/api/v0' + '/assets/{asset}/addresses': get: tags: - - IPFS » Pins - summary: List pinned objects - description: | - List objects pinned to local storage - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Asset addresses + description: List of a addresses containing a specific asset parameters: + - in: path + name: asset + required: true + schema: + type: string + description: Concatenation of the policy_id and hex-encoded asset_name + example: >- + b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e - in: query name: count required: false @@ -5082,53 +4904,11 @@ paths: newest last. responses: '200': - description: Returns pinned objects + description: Return the information about the history of a specific asset content: application/json: schema: - type: array - items: - type: object - properties: - time_created: - type: integer - description: Creation time of the IPFS object on our backends - example: 1615551024 - time_pinned: - type: integer - description: Pin time of the IPFS object on our backends - example: 1615551024 - ipfs_hash: - type: string - description: IPFS hash of the pinned object - example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx - size: - type: string - description: Size of the object in Bytes - example: '1615551024' - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - description: > - State of the pinned object, which is `queued` when we - are retriving object. If this - - is successful the state is changed to `pinned` or - `failed` if not. The state `gc` means the - - pinned item has been garbage collected due to account - being over storage quota or after it has - - been moved to `unpinned` state by removing the object - pin. - example: pinned - required: - - time_created - - time_pinned - - ipfs_hash - - size - - state + $ref: '#/components/schemas/asset_addresses' '400': $ref: '#/components/responses/400' '403': @@ -5141,78 +4921,59 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/ipfs/pin/list/{IPFS_path}': - servers: - - url: 'https://ipfs.blockfrost.io/api/v0' + '/assets/policy/{policy_id}': get: tags: - - IPFS » Pins - summary: Get details about pinned object - description: | - Get information about locally pinned IPFS object - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Assets + summary: Assets of a specific policy + description: List of asset minted under a specific policy parameters: - in: path + name: policy_id required: true - name: IPFS_path schema: type: string - description: The path to the IPFS object + description: Specific policy_id + example: 476039a0949cf0b22f6a800f56780184c44533887ca6e821007840c3 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Returns the pins pinned + description: Return the information about a specific asset content: application/json: schema: - type: object - properties: - time_created: - type: integer - description: Time of the creation of the IPFS object on our backends - example: 1615551024 - time_pinned: - type: integer - description: Time of the pin of the IPFS object on our backends - example: 1615551024 - ipfs_hash: - type: string - description: IPFS hash of the pinned object - example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx - size: - type: string - description: Size of the object in Bytes - example: '1615551024' - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - description: > - State of the pinned object. We define 5 states: `queued`, - `pinned`, `unpinned`, `failed`, `gc`. - - When the object is pending retrieval (i.e. after - `/ipfs/pin/add/{IPFS_path}`), the state is `queued`. - - If the object is already successfully retrieved, state is - changed to `pinned` or `failed` otherwise. - - When object is unpinned (i.e. after - `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage - collection. - - State `gc` means that a previously `unpinned` item has - been garbage collected due to account being over storage - quota. - example: pinned - required: - - time_created - - time_pinned - - ipfs_hash - - size - - state + $ref: '#/components/schemas/asset_policy' '400': $ref: '#/components/responses/400' '403': @@ -5225,99 +4986,52 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/ipfs/pin/remove/{IPFS_path}': - servers: - - url: 'https://ipfs.blockfrost.io/api/v0' - post: + /scripts: + get: tags: - - IPFS » Pins - summary: Remove a IPFS pin - description: | - Remove pinned objects from local storage - -

- Hosted Endpoint only available for hosted variant. -

+ - Cardano » Scripts + summary: Scripts + description: List of scripts. parameters: - - in: path - required: true - name: IPFS_path + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false schema: type: string - description: The path to the IPFS object - responses: - '200': - description: Returns the pins removed - content: - application/json: - schema: - type: object - properties: - ipfs_hash: - type: string - example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 - description: IPFS hash of the pinned object - state: - type: string - enum: - - queued|pinned|unpinned|failed|gc - example: unpinned - description: State of the pin action - required: - - ipfs_hash - - state - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /metrics: - get: - tags: - - Metrics - summary: Blockfrost usage metrics - description: History of your Blockfrost usage metrics in the past 30 days. - responses: - '200': - description: Return the last 30 days of metrics - content: - application/json: - schema: - $ref: '#/components/schemas/metrics' - '400': - $ref: '#/components/responses/400' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '418': - $ref: '#/components/responses/418' - '429': - $ref: '#/components/responses/429' - '500': - $ref: '#/components/responses/500' - /metrics/endpoints: - get: - tags: - - Metrics - summary: Blockfrost endpoint usage metrics - description: > - History of your Blockfrost usage metrics per endpoint in the past 30 - days. + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. responses: '200': - description: Return the last 30 days of metrics + description: Return list of scripts content: application/json: schema: - $ref: '#/components/schemas/metrics_endpoints' + $ref: '#/components/schemas/scripts' '400': $ref: '#/components/responses/400' '403': @@ -5330,19 +5044,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /network: + '/scripts/{script_hash}': get: tags: - - Cardano » Network - summary: Network information - description: Return detailed network information. + - Cardano » Scripts + summary: Specific script + description: Information about a specific script + parameters: + - in: path + name: script_hash + required: true + schema: + type: string + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: '200': - description: Return detailed network information. + description: Return the information about a specific script content: application/json: schema: - $ref: '#/components/schemas/network' + $ref: '#/components/schemas/script' '400': $ref: '#/components/responses/400' '403': @@ -5355,21 +5077,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /network/eras: + '/scripts/{script_hash}/json': get: tags: - - Cardano » Network - summary: Query summary of blockchain eras - description: | - Returns start and end of each era along with - parameters that can vary between hard forks. + - Cardano » Scripts + summary: Script JSON + description: JSON representation of a `timelock` script + parameters: + - in: path + name: script_hash + required: true + schema: + type: string + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: '200': - description: Returns era summaries content. + description: Return the JSON representation of a `timelock` script content: application/json: schema: - $ref: '#/components/schemas/network-eras' + $ref: '#/components/schemas/script_json' '400': $ref: '#/components/responses/400' '403': @@ -5378,32 +5106,31 @@ paths: $ref: '#/components/responses/404' '418': $ref: '#/components/responses/418' - '425': - $ref: '#/components/responses/425' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/nutlink/{address}': + '/scripts/{script_hash}/cbor': get: tags: - - Nut.link - summary: Specific nut.link address - description: List metadata about specific address + - Cardano » Scripts + summary: Script CBOR + description: CBOR representation of a `plutus` script parameters: - in: path + name: script_hash required: true - name: address schema: type: string - description: Address of a metadata oracle + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e responses: '200': - description: Return the metadata about metadata oracle + description: Return the CBOR representation of a `plutus` script content: application/json: schema: - $ref: '#/components/schemas/nutlink_address' + $ref: '#/components/schemas/script_cbor' '400': $ref: '#/components/responses/400' '403': @@ -5416,19 +5143,20 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/nutlink/{address}/tickers': + '/scripts/{script_hash}/redeemers': get: tags: - - Nut.link - summary: List of tickers of an oracle - description: List of records of a specific oracle + - Cardano » Scripts + summary: Redeemers of a specific script + description: List of redeemers of a specific script parameters: - in: path + name: script_hash required: true - name: address schema: type: string - description: Address of a metadata oracle + description: Hash of the script + example: e1457a0c47dfb7a2f6b8fbb059bdceab163c05d34f195b87b9f2b30e - in: query name: count required: false @@ -5463,11 +5191,11 @@ paths: newest last. responses: '200': - description: Return the tickers provided by the metadata oracle + description: Return the information about redeemers of a specific script content: application/json: schema: - $ref: '#/components/schemas/nutlink_address_tickers' + $ref: '#/components/schemas/script_redeemers' '400': $ref: '#/components/responses/400' '403': @@ -5480,64 +5208,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/nutlink/{address}/tickers/{ticker}': + '/scripts/datum/{datum_hash}': get: tags: - - Nut.link - summary: Specific ticker for an address - description: List of records of a specific ticker + - Cardano » Scripts + summary: Datum value + description: Query JSON value of a datum by its hash parameters: - in: path + name: datum_hash required: true - name: address - schema: - type: string - description: Address of a metadata oracle - - in: path - required: true - name: ticker - schema: - type: string - description: Ticker for the pool record - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false schema: type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + description: Hash of the datum + example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d responses: '200': - description: Return the tickers provided by the metadata oracle + description: Return the datum value content: application/json: schema: - $ref: '#/components/schemas/nutlink_address_ticker' + $ref: '#/components/schemas/script_datum' '400': $ref: '#/components/responses/400' '403': @@ -5550,58 +5241,27 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - '/nutlink/tickers/{ticker}': + '/scripts/datum/{datum_hash}/cbor': get: tags: - - Nut.link - summary: Specific ticker - description: List of records of a specific ticker + - Cardano » Scripts + summary: Datum CBOR value + description: Query CBOR serialised datum by its hash parameters: - in: path + name: datum_hash required: true - name: ticker schema: type: string - description: Ticker for the pool record - - in: query - name: count - required: false - schema: - type: integer - minimum: 1 - maximum: 100 - default: 100 - description: The number of results displayed on one page. - - in: query - name: page - required: false - schema: - type: integer - minimum: 1 - maximum: 21474836 - default: 1 - description: The page number for listing the results. - - in: query - name: order - required: false - schema: - type: string - enum: - - asc - - desc - default: asc - description: > - The ordering of items from the point of view of the blockchain, - - not the page listing itself. By default, we return oldest first, - newest last. + description: Hash of the datum + example: db583ad85881a96c73fbb26ab9e24d1120bb38f45385664bb9c797a2ea8d9a2d responses: '200': - description: Return the tickers provided by the metadata oracle + description: Return the CBOR serialised datum value content: application/json: schema: - $ref: '#/components/schemas/nutlink_tickers_ticker' + $ref: '#/components/schemas/script_datum_cbor' '400': $ref: '#/components/responses/400' '403': @@ -5614,197 +5274,1198 @@ paths: $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' - /mithril/: - get: - tags: - - Cardano » Mithril - summary: Get public specifications about the aggregator - description: | - Returns the specifications related to the aggregator: - * Open API version - * URL of Mithril documentation - * Capabilities of the aggregator - * Cardano transactions prover capabilities - responses: - '200': - description: root found - content: - application/json: - schema: - $ref: '#/components/schemas/AggregatorFeaturesMessage' - '412': - description: API version mismatch - default: - description: root error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /mithril/epoch-settings: - get: - tags: - - Cardano » Mithril - summary: Get current epoch settings - description: | - Returns the information related to the current epoch: - * protocol parameters for current epoch - * protocol parameters for next epoch (to setup cryptography, allowing signers to register) - responses: - '200': - description: epoch settings found - content: - application/json: - schema: - $ref: '#/components/schemas/EpochSettingsMessage' - '412': - description: API version mismatch - default: - description: epoch settings error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /mithril/certificate-pending: - get: - tags: - - Cardano » Mithril - summary: Get current pending certificate information - description: | - Returns the information related to the current pending certificate: - * protocol parameters, for current and next epoch (to setup cryptography) - * beacon information (where on the chain the pending certificate should be triggered) - * entity type of the message that must be signed - * verification keys of the signers, for current and next epoch - responses: - '200': - description: pending certificate found - content: - application/json: - schema: - $ref: '#/components/schemas/CertificatePendingMessage' - '204': - description: no pending certificate available - '412': - description: API version mismatch - default: - description: pending certificate error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /mithril/certificates: - get: - tags: - - Cardano » Mithril - summary: Get most recent certificates - description: | - Returns the list of the most recent certificates - responses: - '200': - description: certificates found - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateListMessage' - '412': - description: API version mismatch - default: - description: certificates retrieval error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - '/mithril/certificate/{certificate_hash}': + '/utils/addresses/xpub/{xpub}/{role}/{index}': get: tags: - - Cardano » Mithril - summary: Get certificate by hash - description: | - Returns the certificate identified by its hash + - Cardano » Utilities + summary: Derive an address + description: Derive Shelley address from an xpub parameters: - - name: certificate_hash - in: path - description: Hash of the certificate to retrieve + - in: path + name: xpub required: true schema: type: string - format: bytes - example: 7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572 + description: Hex xpub + example: >- + d507c8f866691bd96e131334c355188b1a1d0b2fa0ab11545075aab332d77d9eb19657ad13ee581b56b0f8d744d66ca356b93d42fe176b3de007d53e9c4c4e7a + - in: path + name: role + required: true + schema: + type: integer + description: Account role + example: 0 + - in: path + name: index + required: true + schema: + type: integer + description: Address index + example: 2 responses: '200': - description: certificate found + description: Return derivated Shelley address content: application/json: schema: - $ref: '#/components/schemas/CertificateMessage' + $ref: '#/components/schemas/utils_addresses_xpub' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' '404': - description: certificate not found - '412': - description: API version mismatch - default: - description: pending certificate error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - /mithril/artifact/snapshots: - get: - tags: - - Cardano » Mithril - summary: Get most recent snapshots - description: | - Returns the list of the most recent snapshots - responses: - '200': - description: snapshots found - content: - application/json: - schema: - $ref: '#/components/schemas/SnapshotListMessage' - '412': - description: API version mismatch - default: - description: snapshots retrieval error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - '/mithril/artifact/snapshot/{digest}': - get: + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /utils/txs/evaluate: + post: tags: - - Cardano » Mithril - summary: Get snapshot information + - Cardano » Utilities + summary: Submit a transaction for execution units evaluation description: > - Returns the information of a snapshot and where to retrieve its binary - content + Submit an already serialized transaction to evaluate how much execution + units it requires. + + +

+ Hosted Endpoint only available for hosted variant. +

parameters: - - name: digest - in: path - description: Digest of the snapshot to retrieve + - in: header + name: Content-Type required: true schema: type: string - format: bytes - example: 6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732 - responses: - '200': - description: snapshot found - content: - application/json: - schema: - $ref: '#/components/schemas/SnapshotMessage' - '404': - description: snapshot not found - '412': - description: API version mismatch - default: - description: snapshot retrieval error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - '/mithril/artifact/snapshot/{digest}/download': - get: + enum: + - application/cbor + x-codeSamples: + - lang: Shell + label: cURL + source: > + # Assuming `tx.data` is a CBOR serialized transaction on the + file-system. + + # (encoded using base16 or base64) + + curl + "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate" \ + -X POST \ + -H "Content-Type: application/cbor" \ + -H "project_id: $PROJECT_ID" \ + --data @./tx.data + requestBody: + description: | + The transaction to submit, serialized in CBOR. + required: true + content: + application/cbor: + schema: + type: string + description: | + The transaction to submit, serialized in CBOR. + example: > + 83a400818258208911f640d452c3be4ff3d89db63b41ce048c056951286e2e28bbf8a51588ab44000181825839009493315cd92eb5d8c4304e67b7e16ae36d61d34502694657811a2c8e32c728d3861e164cab28cb8f006448139c8f1740ffb8e7aa9e5232dc1a10b2531f021a00029519075820cb798b0bce50604eaf2e0dc89367896b18f0a6ef6b32b57e3c9f83f8ee71e608a1008182582073fea80d424276ad0978d4fe5310e8bc2d485f5f6bb3bf87612989f112ad5a7d5840c40425229749a9434763cf01b492057fd56d7091a6372eaa777a1c9b1ca508c914e6a4ee9c0d40fc10952ed668e9ad65378a28b149de6bd4204bd9f095b0a902a11907b0a1667469636b657281a266736f757263656b736f757263655f6e616d656576616c7565736675676961742076656e69616d206d696e7573 + responses: + '200': + description: | +

+

+ Returns result of EvaluateTx function from Ogmios see EvaluateTx + and API reference (EvaluateTxResponse) for related errors. +
+

+ content: + application/json: + schema: + type: object + additionalProperties: true + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /utils/txs/evaluate/utxos: + post: + tags: + - Cardano » Utilities + summary: >- + Submit a transaction for execution units evaluation (additional UTXO + set) + description: > + Submit a JSON payload with transaction CBOR and additional UTXO set to + evaluate how much execution units it requires. + + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: header + name: Content-Type + required: true + schema: + type: string + enum: + - application/json + requestBody: + description: JSON payload + required: true + content: + application/json: + schema: + type: object + properties: + cbor: + type: string + description: Transaction CBOR (encoded using base64 or base16). + additionalUtxoSet: + type: array + description: >- + Additional UTXO as an array of tuples [TxIn, TxOut]. See + https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set. + items: + type: array + minItems: 2 + maxItems: 2 + items: + anyOf: + - type: object + description: TxIn + properties: + txId: + type: string + description: Transaction hash for the input + index: + type: number + description: Index of the output within the transaction + - type: object + description: TxOut + properties: + address: + type: string + description: Output address + value: + type: object + properties: + coins: + type: number + description: Lovelace amount + assets: + type: object + description: Assets amount + additionalProperties: + type: number + required: + - coins + datum_hash: + type: string + datum: + type: object + additionalProperties: true + script: + type: object + additionalProperties: true + required: + - address + - value + required: + - cbor + x-codeSamples: + - lang: Shell + label: cURL + source: > + # Assuming TxCbor is a CBOR serialized transaction encoded using + base16 or base64 + + # For a structure of additional UTXO set see + https://ogmios.dev/mini-protocols/local-tx-submission/#additional-utxo-set + + curl + "https://cardano-mainnet.blockfrost.io/api/v0/utils/txs/evaluate/utxos" + \ + -X POST \ + -H "Content-Type: application/json" \ + -H "project_id: $PROJECT_ID" \ + -d '{"cbor":"","additionalUtxoSet":[[, ]]}' + responses: + '200': + description: | +

+

+ Returns result of EvaluateTx function from Ogmios see EvaluateTx + and API reference (EvaluateTxResponse) for related errors. +
+

+ content: + application/json: + schema: + type: object + additionalProperties: true + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /ipfs/add: + servers: + - url: 'https://ipfs.blockfrost.io/api/v0' + post: + tags: + - IPFS » Add + summary: Add a file to IPFS + operationId: ipfs_add + description: > + You need to `/ipfs/pin/add` an object to avoid it being garbage + collected. This usage + + is being counted in your user account quota. + + +

+ Hosted Endpoint only available for hosted variant. +

+ x-codeSamples: + - lang: Shell + label: cURL + source: | + curl "https://ipfs.blockfrost.io/api/v0/ipfs/add" \ + -X POST \ + -H "project_id: $PROJECT_ID" \ + -F "file=@./README.md" + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: string + format: binary + responses: + '200': + description: Returns information about added IPFS object + content: + application/json: + schema: + type: object + properties: + name: + type: string + example: README.md + description: Name of the file + ipfs_hash: + type: string + example: QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr + description: IPFS hash of the file + size: + type: string + example: '125297' + description: IPFS node size in Bytes + required: + - name + - ipfs_hash + - size + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/ipfs/gateway/{IPFS_path}': + servers: + - url: 'https://ipfs.blockfrost.io/api/v0' + get: + tags: + - IPFS » Gateway + summary: Relay to an IPFS gateway + description: > + Retrieve an object from the IPFS gateway (useful if you do not want to + rely on a public gateway, such as `ipfs.blockfrost.dev`). + + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: Path to the IPFS object + responses: + '200': + description: Returns the object content + content: + application/octet-stream: + schema: + type: string + format: binary + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/ipfs/pin/add/{IPFS_path}': + servers: + - url: 'https://ipfs.blockfrost.io/api/v0' + post: + tags: + - IPFS » Pins + summary: Pin an object + description: >- + Pinning is necessary to avoid regular garbage collection (deletion) of + IPFS objects. Non-pinned objects are regularly being removed without + prior notice. Pinned objects are counted in your user storage quota. + parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: Path to the IPFS object + responses: + '200': + description: Returns pinned object + content: + application/json: + schema: + type: object + properties: + ipfs_hash: + type: string + example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 + description: IPFS hash of the pinned object + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + example: queued + description: State of the pin action + required: + - ipfs_hash + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425-2' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /ipfs/pin/list: + servers: + - url: 'https://ipfs.blockfrost.io/api/v0' + get: + tags: + - IPFS » Pins + summary: List pinned objects + description: | + List objects pinned to local storage + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. + responses: + '200': + description: Returns pinned objects + content: + application/json: + schema: + type: array + items: + type: object + properties: + time_created: + type: integer + description: Creation time of the IPFS object on our backends + example: 1615551024 + time_pinned: + type: integer + description: Pin time of the IPFS object on our backends + example: 1615551024 + ipfs_hash: + type: string + description: IPFS hash of the pinned object + example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx + size: + type: string + description: Size of the object in Bytes + example: '1615551024' + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + description: > + State of the pinned object, which is `queued` when we + are retriving object. If this + + is successful the state is changed to `pinned` or + `failed` if not. The state `gc` means the + + pinned item has been garbage collected due to account + being over storage quota or after it has + + been moved to `unpinned` state by removing the object + pin. + example: pinned + required: + - time_created + - time_pinned + - ipfs_hash + - size + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/ipfs/pin/list/{IPFS_path}': + servers: + - url: 'https://ipfs.blockfrost.io/api/v0' + get: + tags: + - IPFS » Pins + summary: Get details about pinned object + description: | + Get information about locally pinned IPFS object + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: The path to the IPFS object + responses: + '200': + description: Returns the pins pinned + content: + application/json: + schema: + type: object + properties: + time_created: + type: integer + description: Time of the creation of the IPFS object on our backends + example: 1615551024 + time_pinned: + type: integer + description: Time of the pin of the IPFS object on our backends + example: 1615551024 + ipfs_hash: + type: string + description: IPFS hash of the pinned object + example: QmdVMnULrY95mth2XkwjxDtMHvzuzmvUPTotKE1tgqKbCx + size: + type: string + description: Size of the object in Bytes + example: '1615551024' + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + description: > + State of the pinned object. We define 5 states: `queued`, + `pinned`, `unpinned`, `failed`, `gc`. + + When the object is pending retrieval (i.e. after + `/ipfs/pin/add/{IPFS_path}`), the state is `queued`. + + If the object is already successfully retrieved, state is + changed to `pinned` or `failed` otherwise. + + When object is unpinned (i.e. after + `/ipfs/pin/remove/{IPFS_path}`) it is marked for garbage + collection. + + State `gc` means that a previously `unpinned` item has + been garbage collected due to account being over storage + quota. + example: pinned + required: + - time_created + - time_pinned + - ipfs_hash + - size + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/ipfs/pin/remove/{IPFS_path}': + servers: + - url: 'https://ipfs.blockfrost.io/api/v0' + post: + tags: + - IPFS » Pins + summary: Remove a IPFS pin + description: | + Remove pinned objects from local storage + +

+ Hosted Endpoint only available for hosted variant. +

+ parameters: + - in: path + required: true + name: IPFS_path + schema: + type: string + description: The path to the IPFS object + responses: + '200': + description: Returns the pins removed + content: + application/json: + schema: + type: object + properties: + ipfs_hash: + type: string + example: QmPojRfAXYAXV92Dof7gtSgaVuxEk64xx9CKvprqu9VwA8 + description: IPFS hash of the pinned object + state: + type: string + enum: + - queued|pinned|unpinned|failed|gc + example: unpinned + description: State of the pin action + required: + - ipfs_hash + - state + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /metrics: + get: + tags: + - Metrics + summary: Blockfrost usage metrics + description: History of your Blockfrost usage metrics in the past 30 days. + responses: + '200': + description: Return the last 30 days of metrics + content: + application/json: + schema: + $ref: '#/components/schemas/metrics' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /metrics/endpoints: + get: + tags: + - Metrics + summary: Blockfrost endpoint usage metrics + description: > + History of your Blockfrost usage metrics per endpoint in the past 30 + days. + responses: + '200': + description: Return the last 30 days of metrics + content: + application/json: + schema: + $ref: '#/components/schemas/metrics_endpoints' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /network: + get: + tags: + - Cardano » Network + summary: Network information + description: Return detailed network information. + responses: + '200': + description: Return detailed network information. + content: + application/json: + schema: + $ref: '#/components/schemas/network' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /network/eras: + get: + tags: + - Cardano » Network + summary: Query summary of blockchain eras + description: | + Returns start and end of each era along with + parameters that can vary between hard forks. + responses: + '200': + description: Returns era summaries content. + content: + application/json: + schema: + $ref: '#/components/schemas/network-eras' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '425': + $ref: '#/components/responses/425' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/nutlink/{address}': + get: + tags: + - Nut.link + summary: Specific nut.link address + description: List metadata about specific address + parameters: + - in: path + required: true + name: address + schema: + type: string + description: Address of a metadata oracle + responses: + '200': + description: Return the metadata about metadata oracle + content: + application/json: + schema: + $ref: '#/components/schemas/nutlink_address' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/nutlink/{address}/tickers': + get: + tags: + - Nut.link + summary: List of tickers of an oracle + description: List of records of a specific oracle + parameters: + - in: path + required: true + name: address + schema: + type: string + description: Address of a metadata oracle + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. + responses: + '200': + description: Return the tickers provided by the metadata oracle + content: + application/json: + schema: + $ref: '#/components/schemas/nutlink_address_tickers' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/nutlink/{address}/tickers/{ticker}': + get: + tags: + - Nut.link + summary: Specific ticker for an address + description: List of records of a specific ticker + parameters: + - in: path + required: true + name: address + schema: + type: string + description: Address of a metadata oracle + - in: path + required: true + name: ticker + schema: + type: string + description: Ticker for the pool record + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. + responses: + '200': + description: Return the tickers provided by the metadata oracle + content: + application/json: + schema: + $ref: '#/components/schemas/nutlink_address_ticker' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + '/nutlink/tickers/{ticker}': + get: + tags: + - Nut.link + summary: Specific ticker + description: List of records of a specific ticker + parameters: + - in: path + required: true + name: ticker + schema: + type: string + description: Ticker for the pool record + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: + - asc + - desc + default: asc + description: > + The ordering of items from the point of view of the blockchain, + + not the page listing itself. By default, we return oldest first, + newest last. + responses: + '200': + description: Return the tickers provided by the metadata oracle + content: + application/json: + schema: + $ref: '#/components/schemas/nutlink_tickers_ticker' + '400': + $ref: '#/components/responses/400' + '403': + $ref: '#/components/responses/403' + '404': + $ref: '#/components/responses/404' + '418': + $ref: '#/components/responses/418' + '429': + $ref: '#/components/responses/429' + '500': + $ref: '#/components/responses/500' + /mithril/: + get: + tags: + - Cardano » Mithril + summary: Get public specifications about the aggregator + description: | + Returns the specifications related to the aggregator: + * Open API version + * URL of Mithril documentation + * Capabilities of the aggregator + * Cardano transactions prover capabilities + responses: + '200': + description: root found + content: + application/json: + schema: + $ref: '#/components/schemas/AggregatorFeaturesMessage' + '412': + description: API version mismatch + default: + description: root error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /mithril/epoch-settings: + get: + tags: + - Cardano » Mithril + summary: Get current epoch settings + description: | + Returns the information related to the current epoch: + * protocol parameters for current epoch + * protocol parameters for next epoch (to setup cryptography, allowing signers to register) + responses: + '200': + description: epoch settings found + content: + application/json: + schema: + $ref: '#/components/schemas/EpochSettingsMessage' + '412': + description: API version mismatch + default: + description: epoch settings error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /mithril/certificate-pending: + get: + tags: + - Cardano » Mithril + summary: Get current pending certificate information + description: | + Returns the information related to the current pending certificate: + * protocol parameters, for current and next epoch (to setup cryptography) + * beacon information (where on the chain the pending certificate should be triggered) + * entity type of the message that must be signed + * verification keys of the signers, for current and next epoch + responses: + '200': + description: pending certificate found + content: + application/json: + schema: + $ref: '#/components/schemas/CertificatePendingMessage' + '204': + description: no pending certificate available + '412': + description: API version mismatch + default: + description: pending certificate error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /mithril/certificates: + get: + tags: + - Cardano » Mithril + summary: Get most recent certificates + description: | + Returns the list of the most recent certificates + responses: + '200': + description: certificates found + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateListMessage' + '412': + description: API version mismatch + default: + description: certificates retrieval error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + '/mithril/certificate/{certificate_hash}': + get: + tags: + - Cardano » Mithril + summary: Get certificate by hash + description: | + Returns the certificate identified by its hash + parameters: + - name: certificate_hash + in: path + description: Hash of the certificate to retrieve + required: true + schema: + type: string + format: bytes + example: 7905e83ab5d7bc082c1bbc3033bfd19c539078830d19080d1f241c70aa532572 + responses: + '200': + description: certificate found + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateMessage' + '404': + description: certificate not found + '412': + description: API version mismatch + default: + description: pending certificate error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + /mithril/artifact/snapshots: + get: + tags: + - Cardano » Mithril + summary: Get most recent snapshots + description: | + Returns the list of the most recent snapshots + responses: + '200': + description: snapshots found + content: + application/json: + schema: + $ref: '#/components/schemas/SnapshotListMessage' + '412': + description: API version mismatch + default: + description: snapshots retrieval error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + '/mithril/artifact/snapshot/{digest}': + get: + tags: + - Cardano » Mithril + summary: Get snapshot information + description: > + Returns the information of a snapshot and where to retrieve its binary + content + parameters: + - name: digest + in: path + description: Digest of the snapshot to retrieve + required: true + schema: + type: string + format: bytes + example: 6367ee65d0d1272e6e70736a1ea2cae34015874517f6328364f6b73930966732 + responses: + '200': + description: snapshot found + content: + application/json: + schema: + $ref: '#/components/schemas/SnapshotMessage' + '404': + description: snapshot not found + '412': + description: API version mismatch + default: + description: snapshot retrieval error + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + '/mithril/artifact/snapshot/{digest}/download': + get: tags: - Cardano » Mithril summary: Download the snapshot @@ -6051,211 +6712,1078 @@ components: block_content: type: object properties: - time: - type: integer - example: 1641338934 - description: Block creation time in UNIX time - height: + time: + type: integer + example: 1641338934 + description: Block creation time in UNIX time + height: + type: integer + nullable: true + example: 15243593 + description: Block number + hash: + type: string + example: 4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a + description: Hash of the block + slot: + type: integer + nullable: true + example: 412162133 + description: Slot number + epoch: + type: integer + nullable: true + example: 425 + description: Epoch number + epoch_slot: + type: integer + nullable: true + example: 12 + description: Slot within the epoch + slot_leader: + type: string + example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy + description: >- + Bech32 ID of the slot leader or specific block description in case + there is no slot leader + size: + type: integer + example: 3 + description: Block size in Bytes + tx_count: + type: integer + example: 1 + description: Number of transactions in the block + output: + type: string + nullable: true + example: '128314491794' + description: Total output within the block in Lovelaces + fees: + type: string + nullable: true + example: '592661' + description: Total fees within the block in Lovelaces + block_vrf: + type: string + nullable: true + example: vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty + description: VRF key of the block + minLength: 65 + maxLength: 65 + op_cert: + type: string + nullable: true + example: da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c + description: The hash of the operational certificate of the block producer + op_cert_counter: + type: string + nullable: true + example: '18' + description: The value of the counter used to produce the operational certificate + previous_block: + type: string + nullable: true + example: 43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05 + description: Hash of the previous block + next_block: + type: string + nullable: true + example: 8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa + description: Hash of the next block + confirmations: + type: integer + example: 4698 + description: Number of block confirmations + required: + - time + - height + - hash + - slot + - epoch + - epoch_slot + - slot_leader + - size + - tx_count + - output + - fees + - block_vrf + - op_cert + - op_cert_counter + - previous_block + - next_block + - confirmations + block_content_txs: + type: array + items: + type: string + description: Hash of the transaction + example: + - 8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b + - 4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036 + - 52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f + - e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b + block_content_array: + type: array + items: + $ref: '#/components/schemas/block_content' + block_content_addresses: + type: array + items: + type: object + properties: + address: + type: string + description: Address that was affected in the specified block + transactions: + type: array + description: >- + List of transactions containing the address either in their inputs + or outputs. Sorted by transaction index within a block, ascending. + items: + type: object + properties: + tx_hash: + type: string + required: + - tx_hash + required: + - address + - transactions + example: + - address: >- + addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv + transactions: + - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 + - address: >- + addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz + transactions: + - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0 + genesis_content: + type: object + properties: + active_slots_coefficient: + type: number + example: 0.05 + description: The proportion of slots in which blocks should be issued + update_quorum: + type: integer + example: 5 + description: >- + Determines the quorum needed for votes on the protocol parameter + updates + max_lovelace_supply: + type: string + example: '45000000000000000' + description: The total number of lovelace in the system + network_magic: + type: integer + example: 764824073 + description: Network identifier + epoch_length: + type: integer + example: 432000 + description: Number of slots in an epoch + system_start: + type: integer + example: 1506203091 + description: Time of slot 0 in UNIX time + slots_per_kes_period: + type: integer + example: 129600 + description: Number of slots in an KES period + slot_length: + type: integer + example: 1 + description: Duration of one slot in seconds + max_kes_evolutions: + type: integer + example: 62 + description: >- + The maximum number of time a KES key can be evolved before a pool + operator must create a new operational certificate + security_param: + type: integer + example: 2160 + description: Security parameter k + required: + - active_slots_coefficient + - update_quorum + - max_lovelace_supply + - network_magic + - epoch_length + - system_start + - slots_per_kes_period + - slot_length + - max_kes_evolutions + - security_param + dreps: + type: array + items: + type: object + properties: + drep_id: + type: string + description: The Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + required: + - drep_id + - hex + example: + - drep_id: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + hex: db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23 + - drep_id: drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4 + hex: c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758 + drep: + type: object + properties: + drep_id: + type: string + description: Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + amount: + type: string + description: The total amount of voting power this DRep is delegated. + active: + type: boolean + description: Registration state of the DRep + active_epoch: type: integer nullable: true - example: 15243593 - description: Block number + description: Epoch of the most recent action - registration or deregistration + has_script: + type: boolean + description: Flag which shows if this DRep credentials are a script hash + required: + - drep_id + - hex + - amount + - active + - active_epoch + - has_script + example: + drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + amount: '2000000' + active: true + active_epoch: 420 + has_script: true + drep_delegators: + type: array + items: + type: object + properties: + address: + type: string + description: Bech32 encoded stake addresses + amount: + type: string + description: Currently delegated amount + required: + - address + - amount + example: + - address: stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha + amount: '1137959159981411' + - address: stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u + amount: '16958865648' + - address: stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck + amount: '18605647' + drep_metadata: + type: object + properties: + drep_id: + type: string + description: Bech32 encoded addresses + hex: + type: string + description: The raw bytes of the DRep + url: + type: string + example: 'https://stakenuts.com/drep.json' + description: URL to the drep metadata hash: type: string - example: 4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a - description: Hash of the block - slot: - type: integer - nullable: true - example: 412162133 - description: Slot number - epoch: - type: integer - nullable: true - example: 425 - description: Epoch number - epoch_slot: - type: integer - nullable: true - example: 12 - description: Slot within the epoch - slot_leader: + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + json_metadata: + anyOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + - type: integer + - type: number + - type: boolean + - type: 'null' + description: Content of the JSON metadata (validated CIP-119) + bytes: type: string - example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2qnikdy - description: >- - Bech32 ID of the slot leader or specific block description in case - there is no slot leader - size: - type: integer - example: 3 - description: Block size in Bytes - tx_count: + description: Content of the metadata (raw) + required: + - drep_id + - hex + - url + - hash + - json_metadata + - bytes + example: + drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + url: 'https://aaa.xyz/drep.json' + hash: a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de + json_metadata: + '@context': + CIP100: >- + https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md# + CIP119: >- + https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md# + hashAlgorithm: 'CIP100:hashAlgorithm' + body: + '@id': 'CIP119:body' + '@context': + references: + '@id': 'CIP119:references' + '@container': '@set' + '@context': + GovernanceMetadata: 'CIP100:GovernanceMetadataReference' + Other: 'CIP100:OtherReference' + label: 'CIP100:reference-label' + uri: 'CIP100:reference-uri' + paymentAddress: 'CIP119:paymentAddress' + givenName: 'CIP119:givenName' + image: + '@id': 'CIP119:image' + '@context': + ImageObject: 'https://schema.org/ImageObject' + objectives: 'CIP119:objectives' + motivations: 'CIP119:motivations' + qualifications: 'CIP119:qualifications' + hahsAlgorithm: blake2b-256 + body: + paymentAddress: >- + addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34 + givenName: Ryan Williams + image: + '@type': ImageObject + contentUrl: 'https://avatars.githubusercontent.com/u/44342099?v=4' + sha256: 2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e + objectives: Buy myself an island. + motivations: I really would like to own an island. + qualifications: >- + I have my 100m swimming badge, so I would be qualified to be able + to swim around island. + references: + - '@type': Other + label: A cool island for Ryan + uri: >- + https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu + - '@type': Link + label: Ryan's Twitter + uri: 'https://twitter.com/Ryun1_' + bytes: >- + \x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6 + drep_updates: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Transaction ID + cert_index: + type: integer + description: Certificate within the transaction + action: + type: string + enum: + - registered + - deregistered + description: Action in the certificate + required: + - tx_hash + - cert_index + - action + example: + - tx_hash: f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393 + cert_index: 0 + action: registered + - tx_hash: dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e + cert_index: 0 + action: deregistered + drep_votes: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: + - 'yes' + - 'no' + - abstain + description: 'The Vote. Can be one of yes, no, abstain.' + required: + - tx_hash + - cert_index + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + vote: 'yes' + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 3 + vote: abstain + proposals: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + - hard_fork_initiation + - new_committee + - new_constitution + - info_action + - no_confidence + - parameter_change + - treasury_withdrawals + description: Type of proposal. + required: + - tx_hash + - cert_index + - governance_type + example: + - tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + cert_index: 1 + governance_type: treasury_withdrawals + - tx_hash: 71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60 + cert_index: 4 + governance_type: no_confidence + proposal: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: type: integer - example: 1 - description: Number of transactions in the block - output: + description: Index of the certificate within the proposal transaction. + governance_type: type: string + enum: + - hard_fork_initiation + - new_committee + - new_constitution + - info_action + - no_confidence + - parameter_change + - treasury_withdrawals + description: Type of proposal. + governance_description: + additionalProperties: true + type: object nullable: true - example: '128314491794' - description: Total output within the block in Lovelaces - fees: + description: >- + An object describing the content of this GovActionProposal in a + readable way. + deposit: type: string - nullable: true - example: '592661' - description: Total fees within the block in Lovelaces - block_vrf: + description: The deposit amount paid for this proposal. + return_address: type: string + description: >- + Bech32 stake address of the reward address to receive the deposit + when it is repaid. + ratified_epoch: + type: integer nullable: true - example: vrf_vk1wf2k6lhujezqcfe00l6zetxpnmh9n6mwhpmhm0dvfh3fxgmdnrfqkms8ty - description: VRF key of the block - minLength: 65 - maxLength: 65 - op_cert: - type: string + enacted_epoch: + type: integer nullable: true - example: da905277534faf75dae41732650568af545134ee08a3c0392dbefc8096ae177c - description: The hash of the operational certificate of the block producer - op_cert_counter: - type: string + dropped_epoch: + type: integer nullable: true - example: '18' - description: The value of the counter used to produce the operational certificate - previous_block: - type: string + expired_epoch: + type: integer nullable: true - example: 43ebccb3ac72c7cebd0d9b755a4b08412c9f5dcb81b8a0ad1e3c197d29d47b05 - description: Hash of the previous block - next_block: + expiration: + type: integer + description: Shows the epoch at which this governance action will expire. + required: + - tx_hash + - cert_index + - governance_type + - deposit + - return_address + - governance_description + - ratified_epoch + - enacted_epoch + - dropped_epoch + - expired_epoch + - expiration + example: + tx_hash: 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + cert_index: 1 + governance_type: treasury_withdrawals + deposit: 12000 + return_address: stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz + governance_description: >- + TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, + getRwdCred = KeyHashObj (KeyHash + "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60")},Coin + 20000000)]) + ratified_epoch: null + enacted_epoch: 123 + dropped_epoch: null + expired_epoch: null + expiration: 120 + proposal_parameters: + type: object + properties: + tx_hash: type: string - nullable: true - example: 8367f026cf4b03e116ff8ee5daf149b55ba5a6ec6dec04803b8dc317721d15fa - description: Hash of the next block - confirmations: + description: Off-chain metadata of a proposal with a specific transaction hash + cert_index: type: integer - example: 4698 - description: Number of block confirmations + description: >- + Off-chain metadata of a proposal with a specific transaction + cert_index + parameters: + type: object + properties: + epoch: + type: integer + example: 225 + description: Epoch number + min_fee_a: + type: integer + example: 44 + description: >- + The linear factor for the minimum fee calculation for given + epoch + min_fee_b: + type: integer + example: 155381 + description: The constant factor for the minimum fee calculation + max_block_size: + type: integer + example: 65536 + description: Maximum block body size in Bytes + max_tx_size: + type: integer + example: 16384 + description: Maximum transaction size + max_block_header_size: + type: integer + example: 1100 + description: Maximum block header size + key_deposit: + type: string + example: '2000000' + description: The amount of a key registration deposit in Lovelaces + pool_deposit: + type: string + example: '500000000' + description: The amount of a pool registration deposit in Lovelaces + e_max: + type: integer + example: 18 + description: Epoch bound on pool retirement + n_opt: + type: integer + example: 150 + description: Desired number of pools + a0: + type: number + example: 0.3 + description: Pool pledge influence + rho: + type: number + example: 0.003 + description: Monetary expansion + tau: + type: number + example: 0.2 + description: Treasury expansion + decentralisation_param: + type: number + example: 0.5 + description: Percentage of blocks produced by federated nodes + extra_entropy: + type: string + nullable: true + example: null + description: Seed for extra entropy + protocol_major_ver: + type: integer + example: 2 + description: Accepted protocol major version + protocol_minor_ver: + type: integer + example: 0 + description: Accepted protocol minor version + min_utxo: + type: string + example: '1000000' + description: Minimum UTXO value + min_pool_cost: + type: string + example: '340000000' + description: Minimum stake cost forced on the pool + nonce: + type: string + example: 1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81 + description: Epoch number only used once + cost_models: + additionalProperties: true + type: object + nullable: true + example: + PlutusV1: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + PlutusV2: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + description: Cost models parameters for Plutus Core scripts + price_mem: + type: number + nullable: true + example: 0.0577 + description: The per word cost of script memory usage + price_step: + type: number + nullable: true + example: 0.0000721 + description: The cost of script execution step usage + max_tx_ex_mem: + type: string + nullable: true + example: '10000000' + description: >- + The maximum number of execution memory allowed to be used in a + single transaction + max_tx_ex_steps: + type: string + nullable: true + example: '10000000000' + description: >- + The maximum number of execution steps allowed to be used in a + single transaction + max_block_ex_mem: + type: string + nullable: true + example: '50000000' + description: >- + The maximum number of execution memory allowed to be used in a + single block + max_block_ex_steps: + type: string + nullable: true + example: '40000000000' + description: >- + The maximum number of execution steps allowed to be used in a + single block + max_val_size: + type: string + nullable: true + example: '5000' + description: The maximum Val size + collateral_percent: + type: integer + nullable: true + example: 150 + description: >- + The percentage of the transactions fee which must be provided as + collateral when including non-native scripts + max_collateral_inputs: + type: integer + nullable: true + example: 3 + description: The maximum number of collateral inputs allowed in a transaction + coins_per_utxo_size: + type: string + nullable: true + example: '34482' + description: >- + Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage + and later. + coins_per_utxo_word: + type: string + nullable: true + example: '34482' + deprecated: true + description: >- + Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage + and later. + pvt_motion_no_confidence: + type: number + nullable: true + description: >- + Pool Voting threshold for motion of no-confidence. New in + 13.2-Conway. + pvt_committee_normal: + type: number + nullable: true + description: >- + Pool Voting threshold for new committee/threshold (normal + state). New in 13.2-Conway. + pvt_committee_no_confidence: + type: number + nullable: true + description: >- + Pool Voting threshold for new committee/threshold (state of + no-confidence). New in 13.2-Conway. + pvt_hard_fork_initiation: + type: number + nullable: true + description: >- + Pool Voting threshold for hard-fork initiation. New in + 13.2-Conway. + dvt_motion_no_confidence: + type: number + nullable: true + description: >- + DRep Vote threshold for motion of no-confidence. New in + 13.2-Conway. + dvt_committee_normal: + type: number + nullable: true + description: >- + DRep Vote threshold for new committee/threshold (normal state). + New in 13.2-Conway. + dvt_committee_no_confidence: + type: number + nullable: true + description: >- + DRep Vote threshold for new committee/threshold (state of + no-confidence). New in 13.2-Conway. + dvt_update_to_constitution: + type: number + nullable: true + description: >- + DRep Vote threshold for update to the Constitution. New in + 13.2-Conway. + dvt_hard_fork_initiation: + type: number + nullable: true + description: >- + DRep Vote threshold for hard-fork initiation. New in + 13.2-Conway. + dvt_p_p_network_group: + type: number + nullable: true + description: >- + DRep Vote threshold for protocol parameter changes, network + group. New in 13.2-Conway. + dvt_p_p_economic_group: + type: number + nullable: true + description: >- + DRep Vote threshold for protocol parameter changes, economic + group. New in 13.2-Conway. + dvt_p_p_technical_group: + type: number + nullable: true + description: >- + DRep Vote threshold for protocol parameter changes, technical + group. New in 13.2-Conway. + dvt_p_p_gov_group: + type: number + nullable: true + description: >- + DRep Vote threshold for protocol parameter changes, governance + group. New in 13.2-Conway. + dvt_treasury_withdrawal: + type: number + nullable: true + description: DRep Vote threshold for treasury withdrawal. New in 13.2-Conway. + committee_min_size: + type: string + nullable: true + format: word64type + description: Minimal constitutional committee size. New in 13.2-Conway. + committee_max_term_length: + type: string + nullable: true + format: word64type + description: Constitutional committee term limits. New in 13.2-Conway. + gov_action_lifetime: + type: string + nullable: true + format: word64type + description: Governance action expiration. New in 13.2-Conway. + gov_action_deposit: + type: string + nullable: true + format: word64type + description: Governance action deposit. New in 13.2-Conway. + drep_deposit: + type: string + nullable: true + format: word64type + description: DRep deposit amount. New in 13.2-Conway. + drep_activity: + type: string + nullable: true + format: word64type + description: DRep activity period. New in 13.2-Conway. + pvtpp_security_group: + type: number + nullable: true + min_fee_ref_script_cost_per_byte: + type: number + nullable: true + required: + - min_fee_a + - min_fee_b + - max_block_size + - max_tx_size + - max_block_header_size + - key_deposit + - pool_deposit + - e_max + - n_opt + - a0 + - rho + - tau + - decentralisation_param + - extra_entropy + - protocol_major_ver + - protocol_minor_ver + - min_utxo + - min_pool_cost + - nonce + - cost_models + - price_mem + - price_step + - max_tx_ex_mem + - max_tx_ex_steps + - max_block_ex_mem + - max_block_ex_steps + - max_val_size + - collateral_percent + - max_collateral_inputs + - coins_per_utxo_size + - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - pvtpp_security_group + - min_fee_ref_script_cost_per_byte required: - - time - - height - - hash - - slot - - epoch - - epoch_slot - - slot_leader - - size - - tx_count - - output - - fees - - block_vrf - - op_cert - - op_cert_counter - - previous_block - - next_block - - confirmations - block_content_txs: + - tx_hash + - cert_index + - parameters + proposal_withdrawals: type: array items: - type: string - description: Hash of the transaction + type: object + properties: + stake_address: + type: string + example: stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 + description: Bech32 stake address + amount: + type: string + description: Withdrawal amount in Lovelaces + required: + - stake_address + - amount example: - - 8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b - - 4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036 - - 52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f - - e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b - block_content_array: - type: array - items: - $ref: '#/components/schemas/block_content' - block_content_addresses: + - stake_address: stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 + amount: '454541212442' + - stake_address: stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2 + amount: '97846969' + proposal_votes: type: array items: type: object properties: - address: + tx_hash: type: string - description: Address that was affected in the specified block - transactions: - type: array + description: Hash of the voting transaction. + cert_index: + type: integer + description: Index of the certificate within the voting transaction. + voter_role: + type: string + enum: + - constitutional_committee + - drep + - spo description: >- - List of transactions containing the address either in their inputs - or outputs. Sorted by transaction index within a block, ascending. - items: - type: object - properties: - tx_hash: - type: string - required: - - tx_hash + The role of the voter. Can be one of constitutional_committee, + drep, spo. + voter: + type: string + description: The actual voter. + vote: + type: string + enum: + - 'yes' + - 'no' + - abstain + description: 'The Vote. Can be one of yes, no, abstain.' required: - - address - - transactions + - tx_hash + - cert_index + - voter_role + - voter + - vote example: - - address: >- - addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv - transactions: - - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0 - - address: >- - addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz - transactions: - - tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0 - genesis_content: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + voter_role: drep + voter: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + vote: 'yes' + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 3 + voter_role: constitutional_committee + voter: 53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4 + vote: abstain + proposal_metadata: type: object properties: - active_slots_coefficient: - type: number - example: 0.05 - description: The proportion of slots in which blocks should be issued - update_quorum: - type: integer - example: 5 - description: >- - Determines the quorum needed for votes on the protocol parameter - updates - max_lovelace_supply: + tx_hash: type: string - example: '45000000000000000' - description: The total number of lovelace in the system - network_magic: - type: integer - example: 764824073 - description: Network identifier - epoch_length: - type: integer - example: 432000 - description: Number of slots in an epoch - system_start: - type: integer - example: 1506203091 - description: Time of slot 0 in UNIX time - slots_per_kes_period: - type: integer - example: 129600 - description: Number of slots in an KES period - slot_length: - type: integer - example: 1 - description: Duration of one slot in seconds - max_kes_evolutions: + description: Off-chain metadata of a proposal with a specific transaction hash + cert_index: type: integer - example: 62 description: >- - The maximum number of time a KES key can be evolved before a pool - operator must create a new operational certificate - security_param: - type: integer - example: 2160 - description: Security parameter k + Off-chain metadata of a proposal with a specific transaction + cert_index + url: + type: string + example: 'https://abc.xyz/gov.json' + description: URL to the proposal metadata + hash: + type: string + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + json_metadata: + anyOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + - type: integer + - type: number + - type: boolean + - type: 'null' + description: Content of the JSON metadata (validated CIP-108) + bytes: + type: string + description: Content of the metadata (raw) required: - - active_slots_coefficient - - update_quorum - - max_lovelace_supply - - network_magic - - epoch_length - - system_start - - slots_per_kes_period - - slot_length - - max_kes_evolutions - - security_param + - tx_hash + - cert_index + - url + - hash + - json_metadata + - bytes + example: + tx_hash: 257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8 + cert_index: 2 + url: >- + https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json + hash: ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81 + json_metadata: + body: + title: Hardfork to Protocol version 10 + abstract: Let's have sanchoNet in full governance as soon as possible + rationale: Let's keep testing stuff + motivation: PV9 is not as fun as PV10 + references: + - uri: '' + '@type': Other + label: Hardfork to PV10 + authors: + - name: Carlos + witness: + publicKey: >- + 7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a + signature: >- + a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01 + witnessAlgorithm: ed25519 + '@context': + body: + '@id': 'CIP108:body' + '@context': + title: 'CIP108:title' + abstract: 'CIP108:abstract' + rationale: 'CIP108:rationale' + motivation: 'CIP108:motivation' + references: + '@id': 'CIP108:references' + '@context': + uri: 'CIP100:reference-uri' + Other: 'CIP100:OtherReference' + label: 'CIP100:reference-label' + referenceHash: + '@id': 'CIP108:referenceHash' + '@context': + hashDigest: 'CIP108:hashDigest' + hashAlgorithm: 'CIP100:hashAlgorithm' + GovernanceMetadata: 'CIP100:GovernanceMetadataReference' + '@container': '@set' + CIP100: >- + https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md# + CIP108: >- + https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md# + authors: + '@id': 'CIP100:authors' + '@context': + name: 'http://xmlns.com/foaf/0.1/name' + witness: + '@id': 'CIP100:witness' + '@context': + publicKey: 'CIP100:publicKey' + signature: 'CIP100:signature' + witnessAlgorithm: 'CIP100:witnessAlgorithm' + '@container': '@set' + '@language': en-us + hashAlgorithm: 'CIP100:hashAlgorithm' + hashAlgorithm: blake2b-256 + bytes: >- + \x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d epoch_content: type: object properties: @@ -6476,10 +8004,102 @@ components: type: string nullable: true example: '34482' + deprecated: true description: >- Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. - deprecated: true + pvt_motion_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for motion of no-confidence. + pvt_committee_normal: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (normal state). + pvt_committee_no_confidence: + nullable: true + type: number + description: >- + Pool Voting threshold for new committee/threshold (state of + no-confidence). + pvt_hard_fork_initiation: + nullable: true + type: number + description: Pool Voting threshold for hard-fork initiation. + dvt_motion_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for motion of no-confidence. + dvt_committee_normal: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (normal state). + dvt_committee_no_confidence: + nullable: true + type: number + description: >- + DRep Vote threshold for new committee/threshold (state of + no-confidence). + dvt_update_to_constitution: + nullable: true + type: number + description: DRep Vote threshold for update to the Constitution. + dvt_hard_fork_initiation: + nullable: true + type: number + description: DRep Vote threshold for hard-fork initiation. + dvt_p_p_network_group: + nullable: true + type: number + description: 'DRep Vote threshold for protocol parameter changes, network group.' + dvt_p_p_economic_group: + nullable: true + type: number + description: 'DRep Vote threshold for protocol parameter changes, economic group.' + dvt_p_p_technical_group: + nullable: true + type: number + description: 'DRep Vote threshold for protocol parameter changes, technical group.' + dvt_p_p_gov_group: + nullable: true + type: number + description: >- + DRep Vote threshold for protocol parameter changes, governance + group. + dvt_treasury_withdrawal: + nullable: true + type: number + description: DRep Vote threshold for treasury withdrawal. + committee_min_size: + type: string + nullable: true + description: Minimal constitutional committee size. + committee_max_term_length: + type: string + nullable: true + description: Constitutional committee term limits. + gov_action_lifetime: + type: string + nullable: true + description: Governance action expiration. + gov_action_deposit: + type: string + nullable: true + description: Governance action deposit. + drep_deposit: + type: string + nullable: true + description: DRep deposit amount. + drep_activity: + type: string + nullable: true + description: DRep activity period. + pvtpp_security_group: + type: number + nullable: true + min_fee_ref_script_cost_per_byte: + type: number + nullable: true required: - epoch - min_fee_a @@ -6513,6 +8133,28 @@ components: - max_collateral_inputs - coins_per_utxo_size - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - pvtpp_security_group + - min_fee_ref_script_cost_per_byte epoch_content_array: type: array items: @@ -7281,7 +8923,12 @@ components: type: string nullable: true example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - description: Bech32 pool ID that owns the account + description: Bech32 pool ID to which this account is delegated + drep_id: + type: string + nullable: true + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + description: Bech32 drep ID to which this account is delegated required: - stake_address - active @@ -7293,6 +8940,7 @@ components: - treasury_sum - withdrawable_amount - pool_id + - drep_id account_reward_content: type: array items: @@ -8648,6 +10296,32 @@ components: - tx_hash: e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0 cert_index: 1 action: registered + pool_votes: + type: array + items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: + - 'yes' + - 'no' + - abstain + description: 'The Vote. Can be one of yes, no, abstain.' + required: + - tx_hash + - cert_index + - vote + example: + - tx_hash: b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5 + cert_index: 2 + vote: 'yes' assets: type: array items: diff --git a/package.json b/package.json index 5c6d845b..f9c4ec0e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@blockfrost/openapi", - "version": "0.1.64", + "version": "0.1.65-beta.14", "description": "OpenAPI specifications for blockfrost.io", "repository": "git@github.com:blockfrost/openapi.git", "author": "admin@blockfrost.io", diff --git a/shell.nix b/shell.nix index 32c994ac..4f47d711 100644 --- a/shell.nix +++ b/shell.nix @@ -10,8 +10,9 @@ stdenv.mkDerivation { export PATH="$PATH:$(pwd)/node_modules/.bin" yarn echo "Rebuilding docs" + yarn build yarn run bundle && yarn run generate-docs && yarn run generate-types - echo -e "\nDON'T FORGET TO RUN THIS BEFORE OPENING PR:" - echo "yarn run bundle && yarn run generate-docs && yarn run generate-types" + echo -e "\nDON'T FORGET TO RUN yarn build && yarn run bundle && yarn run generate-docs && yarn run generate-types" + echo "yarn build && yarn run bundle && yarn run generate-docs && yarn run generate-types" ''; } diff --git a/src/definitions.yaml b/src/definitions.yaml index 9aad2f23..91b8f47d 100644 --- a/src/definitions.yaml +++ b/src/definitions.yaml @@ -1,6 +1,6 @@ openapi: 3.0.0 info: - version: "0.1.64" + version: "0.1.65" title: Blockfrost.io ~ API Documentation x-logo: url: https://staging.blockfrost.io/images/logo.svg @@ -264,6 +264,7 @@ tags: - name: Cardano » Assets - name: Cardano » Blocks - name: Cardano » Epochs + - name: Cardano » Governance - name: Cardano » Ledger - name: Cardano » Mempool - name: Cardano » Metadata @@ -295,12 +296,16 @@ paths: /: $ref: ./paths/api/root/index.yaml + # health + /health: $ref: ./paths/api/health/index.yaml /health/clock: $ref: ./paths/api/health/clock.yaml + # blocks + /blocks/latest: $ref: ./paths/api/blocks/latest/index.yaml @@ -328,9 +333,51 @@ paths: /blocks/{hash_or_number}/addresses: $ref: ./paths/api/blocks/addresses/index.yaml + # genesis + /genesis: $ref: ./paths/api/genesis/index.yaml + # governance + + /governance/dreps: + $ref: ./paths/api/governance/dreps/index.yaml + + /governance/dreps/{drep_id}: + $ref: ./paths/api/governance/dreps/{drep_id}/index.yaml + + /governance/dreps/{drep_id}/delegators: + $ref: ./paths/api/governance/dreps/{drep_id}/delegators.yaml + + /governance/dreps/{drep_id}/metadata: + $ref: ./paths/api/governance/dreps/{drep_id}/metadata.yaml + + /governance/dreps/{drep_id}/updates: + $ref: ./paths/api/governance/dreps/{drep_id}/updates.yaml + + /governance/dreps/{drep_id}/votes: + $ref: ./paths/api/governance/dreps/{drep_id}/votes.yaml + + /governance/proposals: + $ref: ./paths/api/governance/proposals/index.yaml + + /governance/proposals/{tx_hash}/{cert_index}: + $ref: ./paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml + + /governance/proposals/{tx_hash}/{cert_index}/parameters: + $ref: ./paths/api/governance/proposals/{tx_hash}/{cert_index}/parameters.yaml + + /governance/proposals/{tx_hash}/{cert_index}/withdrawals: + $ref: ./paths/api/governance/proposals/{tx_hash}/{cert_index}/withdrawals.yaml + + /governance/proposals/{tx_hash}/{cert_index}/votes: + $ref: ./paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml + + /governance/proposals/{tx_hash}/{cert_index}/metadata: + $ref: ./paths/api/governance/proposals/{tx_hash}/{cert_index}/metadata.yaml + + # epochs + /epochs/latest: $ref: ./paths/api/epochs/latest/index.yaml @@ -361,6 +408,8 @@ paths: /epochs/{number}/parameters: $ref: ./paths/api/epochs/{number}/parameters.yaml + # transactions + /txs/{hash}: $ref: ./paths/api/txs/{hash}/index.yaml @@ -403,6 +452,8 @@ paths: /tx/submit: $ref: ./paths/api/tx/submit.yaml + # accounts + /accounts/{stake_address}: $ref: ./paths/api/accounts/{stake_address}/index.yaml @@ -433,6 +484,8 @@ paths: /accounts/{stake_address}/addresses/total: $ref: ./paths/api/accounts/{stake_address}/addresses/total.yaml + # mempool + /mempool: $ref: ./paths/api/mempool/index.yaml @@ -442,6 +495,8 @@ paths: /mempool/addresses/{address}: $ref: ./paths/api/mempool/addresses/{address}/index.yaml + # metadata + /metadata/txs/labels: $ref: ./paths/api/metadata/txs/labels/index.yaml @@ -454,6 +509,8 @@ paths: /metadata/txs/labels/{label}/cbor: $ref: ./paths/api/metadata/txs/labels/{label}/cbor.yaml + # addresses + /addresses/{address}: $ref: ./paths/api/addresses/{address}/index.yaml @@ -475,6 +532,8 @@ paths: /addresses/{address}/transactions: $ref: ./paths/api/addresses/{address}/transactions.yaml + # pools + /pools: $ref: ./paths/api/pools/index.yaml @@ -508,6 +567,11 @@ paths: /pools/{pool_id}/updates: $ref: ./paths/api/pools/{pool_id}/updates.yaml + /pools/{pool_id}/votes: + $ref: ./paths/api/pools/{pool_id}/votes.yaml + + # assets + /assets: $ref: ./paths/api/assets/index.yaml @@ -529,6 +593,8 @@ paths: /assets/policy/{policy_id}: $ref: ./paths/api/assets/policy/{policy_id}/index.yaml + # scripts + /scripts: $ref: ./paths/api/scripts/index.yaml @@ -550,6 +616,8 @@ paths: /scripts/datum/{datum_hash}/cbor: $ref: ./paths/api/scripts/datum/{datum_hash}/cbor.yaml + # utils + /utils/addresses/xpub/{xpub}/{role}/{index}: $ref: ./paths/api/utils/addresses/xpub/{xpub}/{role}/{index}/index.yaml @@ -559,6 +627,8 @@ paths: /utils/txs/evaluate/utxos: $ref: ./paths/api/utils/txs/evaluate/utxos.yaml + # ipfs + /ipfs/add: $ref: ./paths/ipfs/add.yaml @@ -577,18 +647,24 @@ paths: /ipfs/pin/remove/{IPFS_path}: $ref: ./paths/ipfs/pin/remove/{IPFS_path}/index.yaml + # metrics + /metrics: $ref: ./paths/api/metrics/index.yaml /metrics/endpoints: $ref: ./paths/api/metrics/endpoints.yaml + # network + /network: $ref: ./paths/api/network/index.yaml /network/eras: $ref: ./paths/api/network/eras.yaml + # nutlink + /nutlink/{address}: $ref: ./paths/api/nutlink/{address}/index.yaml diff --git a/src/generated-types.ts b/src/generated-types.ts index 4653998b..456610a4 100644 --- a/src/generated-types.ts +++ b/src/generated-types.ts @@ -420,6 +420,447 @@ export interface paths { }; }; }; + "/governance/dreps": { + /** + * Delegate Representatives (DReps) + * @description Return the information about Delegate Representatives (DReps) + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + * Ordering in this case is based on the time of the first mint transaction. + */ + order?: "asc" | "desc"; + }; + }; + responses: { + /** @description Paginated array with the Delegate Representatives (DReps) data */ + 200: { + content: { + "application/json": components["schemas"]["dreps"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/dreps/{drep_id}": { + /** + * Specific DRep + * @description DRep information. + */ + get: { + parameters: { + path: { + /** + * @description Bech32 or hexadecimal DRep ID. + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + */ + drep_id: string; + }; + }; + responses: { + /** @description Return the DRep information content */ + 200: { + content: { + "application/json": components["schemas"]["drep"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/dreps/{drep_id}/delegators": { + /** + * DRep delegators + * @description List of Drep delegators. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Bech32 or hexadecimal drep ID. + * @example drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + */ + drep_id: string; + }; + }; + responses: { + /** @description Return the DRep delegations */ + 200: { + content: { + "application/json": components["schemas"]["drep_delegators"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/dreps/{drep_id}/metadata": { + /** + * DRep metadata + * @description DRep metadata information. + */ + get: { + parameters: { + path: { + /** + * @description Bech32 or hexadecimal DRep ID. + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + */ + drep_id: string; + }; + }; + responses: { + /** @description Return the DRep metadata content. */ + 200: { + content: { + "application/json": components["schemas"]["drep_metadata"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/dreps/{drep_id}/updates": { + /** + * DRep updates + * @description List of certificate updates to the DRep. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Bech32 or hexadecimal DRep ID. + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + */ + drep_id: string; + }; + }; + responses: { + /** @description Return the Drep updates history */ + 200: { + content: { + "application/json": components["schemas"]["drep_updates"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/dreps/{drep_id}/votes": { + /** + * DRep votes + * @description History of Drep votes. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Bech32 or hexadecimal drep ID. + * @example drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + */ + drep_id: string; + }; + }; + responses: { + /** @description Return the DRep votes */ + 200: { + content: { + "application/json": components["schemas"]["drep_votes"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/proposals": { + /** + * Proposals + * @description Return the information about Proposals + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + * Ordering in this case is based on the time of the first mint transaction. + */ + order?: "asc" | "desc"; + }; + }; + responses: { + /** @description Paginated array with the proposal data */ + 200: { + content: { + "application/json": components["schemas"]["proposals"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/proposals/{tx_hash}/{cert_index}": { + /** + * Specific proposal + * @description Proposal information. + */ + get: { + parameters: { + path: { + /** + * @description Transaction hash. + * @example 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + */ + tx_hash: string; + /** + * @description Transaction index. + * @example 1 + */ + cert_index: number; + }; + }; + responses: { + /** @description Return the proposal information content */ + 200: { + content: { + "application/json": components["schemas"]["proposal"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/proposals/{tx_hash}/{cert_index}/parameters": { + /** + * Specific parameters proposal + * @description Parameters proposal details. + */ + get: { + parameters: { + path: { + /** + * @description Transaction hash. + * @example 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + */ + tx_hash: string; + /** + * @description Transaction index. + * @example 1 + */ + cert_index: number; + }; + }; + responses: { + /** @description Return the proposal parameters content */ + 200: { + content: { + "application/json": components["schemas"]["proposal_parameters"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/proposals/{tx_hash}/{cert_index}/withdrawals": { + /** + * Specific withdrawals proposal + * @description Parameters withdrawals details. + */ + get: { + parameters: { + path: { + /** + * @description Transaction hash. + * @example 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + */ + tx_hash: string; + /** + * @description Transaction index. + * @example 1 + */ + cert_index: number; + }; + }; + responses: { + /** @description Return the proposal withdrawals content */ + 200: { + content: { + "application/json": components["schemas"]["proposal_withdrawals"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/proposals/{tx_hash}/{cert_index}/votes": { + /** + * Proposal votes + * @description History of Proposal votes. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Transaction hash. + * @example 2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531 + */ + tx_hash: string; + /** + * @description Transaction index. + * @example 1 + */ + cert_index: number; + }; + }; + responses: { + /** @description Return the Proposal votes */ + 200: { + content: { + "application/json": components["schemas"]["proposal_votes"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; + "/governance/proposals/{tx_hash}/{cert_index}/metadata": { + /** + * Specific proposal metadata + * @description Proposal metadata information. + */ + get: { + parameters: { + path: { + /** + * @description Transaction hash of the proposal. + * @example 2403339d2f344202fb3583353e11a693a82860e59e65939dcb0e2ac72336d631 + */ + tx_hash: string; + /** + * @description Transaction index of the proposal. + * @example 0 + */ + cert_index: number; + }; + }; + responses: { + /** @description Return the proposal information content */ + 200: { + content: { + "application/json": components["schemas"]["proposal_metadata"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; "/epochs/latest": { /** * Latest epoch @@ -2530,6 +2971,48 @@ export interface paths { }; }; }; + "/pools/{pool_id}/votes": { + /** + * Stake pool votes + * @description History of stake pools votes. + */ + get: { + parameters: { + query?: { + /** @description The number of results displayed on one page. */ + count?: number; + /** @description The page number for listing the results. */ + page?: number; + /** + * @description The ordering of items from the point of view of the blockchain, + * not the page listing itself. By default, we return oldest first, newest last. + */ + order?: "asc" | "desc"; + }; + path: { + /** + * @description Bech32 or hexadecimal pool ID. + * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy + */ + pool_id: string; + }; + }; + responses: { + /** @description Return the pool votes. */ + 200: { + content: { + "application/json": components["schemas"]["pool_votes"]; + }; + }; + 400: components["responses"]["400"]; + 403: components["responses"]["403"]; + 404: components["responses"]["404"]; + 418: components["responses"]["418"]; + 429: components["responses"]["429"]; + 500: components["responses"]["500"]; + }; + }; + }; "/assets": { /** * Assets @@ -4280,100 +4763,769 @@ export interface components { */ next_block: string | null; /** - * @description Number of block confirmations - * @example 4698 + * @description Number of block confirmations + * @example 4698 + */ + confirmations: number; + }; + /** + * @example [ + * "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", + * "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", + * "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", + * "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + * ] + */ + block_content_txs: string[]; + block_content_array: components["schemas"]["block_content"][]; + /** + * @example [ + * { + * "address": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", + * "transactions": [ + * { + * "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" + * } + * ] + * }, + * { + * "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", + * "transactions": [ + * { + * "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0" + * } + * ] + * } + * ] + */ + block_content_addresses: { + /** @description Address that was affected in the specified block */ + address: string; + /** @description List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending. */ + transactions: { + tx_hash: string; + }[]; + }[]; + genesis_content: { + /** + * @description The proportion of slots in which blocks should be issued + * @example 0.05 + */ + active_slots_coefficient: number; + /** + * @description Determines the quorum needed for votes on the protocol parameter updates + * @example 5 + */ + update_quorum: number; + /** + * @description The total number of lovelace in the system + * @example 45000000000000000 + */ + max_lovelace_supply: string; + /** + * @description Network identifier + * @example 764824073 + */ + network_magic: number; + /** + * @description Number of slots in an epoch + * @example 432000 + */ + epoch_length: number; + /** + * @description Time of slot 0 in UNIX time + * @example 1506203091 + */ + system_start: number; + /** + * @description Number of slots in an KES period + * @example 129600 + */ + slots_per_kes_period: number; + /** + * @description Duration of one slot in seconds + * @example 1 + */ + slot_length: number; + /** + * @description The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate + * @example 62 + */ + max_kes_evolutions: number; + /** + * @description Security parameter k + * @example 2160 + */ + security_param: number; + }; + /** + * @example [ + * { + * "drep_id": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + * "hex": "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23" + * }, + * { + * "drep_id": "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4", + * "hex": "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758" + * } + * ] + */ + dreps: { + /** @description The Bech32 encoded DRep address */ + drep_id: string; + /** @description The raw bytes of the DRep */ + hex: string; + }[]; + /** + * @example { + * "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + * "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + * "amount": "2000000", + * "active": true, + * "active_epoch": 420, + * "has_script": true + * } + */ + drep: { + /** @description Bech32 encoded DRep address */ + drep_id: string; + /** @description The raw bytes of the DRep */ + hex: string; + /** @description The total amount of voting power this DRep is delegated. */ + amount: string; + /** @description Registration state of the DRep */ + active: boolean; + /** @description Epoch of the most recent action - registration or deregistration */ + active_epoch: number | null; + /** @description Flag which shows if this DRep credentials are a script hash */ + has_script: boolean; + }; + /** + * @example [ + * { + * "address": "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha", + * "amount": "1137959159981411" + * }, + * { + * "address": "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u", + * "amount": "16958865648" + * }, + * { + * "address": "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck", + * "amount": "18605647" + * } + * ] + */ + drep_delegators: { + /** @description Bech32 encoded stake addresses */ + address: string; + /** @description Currently delegated amount */ + amount: string; + }[]; + /** + * @example { + * "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + * "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + * "url": "https://aaa.xyz/drep.json", + * "hash": "a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de", + * "json_metadata": { + * "@context": { + * "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + * "CIP119": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#", + * "hashAlgorithm": "CIP100:hashAlgorithm", + * "body": { + * "@id": "CIP119:body", + * "@context": { + * "references": { + * "@id": "CIP119:references", + * "@container": "@set", + * "@context": { + * "GovernanceMetadata": "CIP100:GovernanceMetadataReference", + * "Other": "CIP100:OtherReference", + * "label": "CIP100:reference-label", + * "uri": "CIP100:reference-uri" + * } + * }, + * "paymentAddress": "CIP119:paymentAddress", + * "givenName": "CIP119:givenName", + * "image": { + * "@id": "CIP119:image", + * "@context": { + * "ImageObject": "https://schema.org/ImageObject" + * } + * }, + * "objectives": "CIP119:objectives", + * "motivations": "CIP119:motivations", + * "qualifications": "CIP119:qualifications" + * } + * } + * }, + * "hahsAlgorithm": "blake2b-256", + * "body": { + * "paymentAddress": "addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34", + * "givenName": "Ryan Williams", + * "image": { + * "@type": "ImageObject", + * "contentUrl": "https://avatars.githubusercontent.com/u/44342099?v=4", + * "sha256": "2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e" + * }, + * "objectives": "Buy myself an island.", + * "motivations": "I really would like to own an island.", + * "qualifications": "I have my 100m swimming badge, so I would be qualified to be able to swim around island.", + * "references": [ + * { + * "@type": "Other", + * "label": "A cool island for Ryan", + * "uri": "https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu" + * }, + * { + * "@type": "Link", + * "label": "Ryan's Twitter", + * "uri": "https://twitter.com/Ryun1_" + * } + * ] + * } + * }, + * "bytes": "\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6" + * } + */ + drep_metadata: { + /** @description Bech32 encoded addresses */ + drep_id: string; + /** @description The raw bytes of the DRep */ + hex: string; + /** + * @description URL to the drep metadata + * @example https://stakenuts.com/drep.json + */ + url: string; + /** + * @description Hash of the metadata file + * @example 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + */ + hash: string; + /** @description Content of the JSON metadata (validated CIP-119) */ + json_metadata: string | { + [key: string]: unknown; + } | unknown[] | number | boolean | null; + /** @description Content of the metadata (raw) */ + bytes: string; + }; + /** + * @example [ + * { + * "tx_hash": "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393", + * "cert_index": 0, + * "action": "registered" + * }, + * { + * "tx_hash": "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e", + * "cert_index": 0, + * "action": "deregistered" + * } + * ] + */ + drep_updates: ({ + /** @description Transaction ID */ + tx_hash: string; + /** @description Certificate within the transaction */ + cert_index: number; + /** + * @description Action in the certificate + * @enum {string} + */ + action: "registered" | "deregistered"; + })[]; + /** + * @example [ + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 2, + * "vote": "yes" + * }, + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 3, + * "vote": "abstain" + * } + * ] + */ + drep_votes: ({ + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description The Vote. Can be one of yes, no, abstain. + * @enum {string} + */ + vote: "yes" | "no" | "abstain"; + })[]; + /** + * @example [ + * { + * "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + * "cert_index": 1, + * "governance_type": "treasury_withdrawals" + * }, + * { + * "tx_hash": "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60", + * "cert_index": 4, + * "governance_type": "no_confidence" + * } + * ] + */ + proposals: ({ + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description Type of proposal. + * @enum {string} + */ + governance_type: "hard_fork_initiation" | "new_committee" | "new_constitution" | "info_action" | "no_confidence" | "parameter_change" | "treasury_withdrawals"; + })[]; + /** + * @example { + * "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + * "cert_index": 1, + * "governance_type": "treasury_withdrawals", + * "deposit": 12000, + * "return_address": "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz", + * "governance_description": "TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash \"71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60\")},Coin 20000000)])", + * "ratified_epoch": null, + * "enacted_epoch": 123, + * "dropped_epoch": null, + * "expired_epoch": null, + * "expiration": 120 + * } + */ + proposal: { + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description Type of proposal. + * @enum {string} */ - confirmations: number; + governance_type: "hard_fork_initiation" | "new_committee" | "new_constitution" | "info_action" | "no_confidence" | "parameter_change" | "treasury_withdrawals"; + /** @description An object describing the content of this GovActionProposal in a readable way. */ + governance_description: { + [key: string]: unknown; + } | null; + /** @description The deposit amount paid for this proposal. */ + deposit: string; + /** @description Bech32 stake address of the reward address to receive the deposit when it is repaid. */ + return_address: string; + ratified_epoch: number | null; + enacted_epoch: number | null; + dropped_epoch: number | null; + expired_epoch: number | null; + /** @description Shows the epoch at which this governance action will expire. */ + expiration: number; + }; + proposal_parameters: { + /** @description Off-chain metadata of a proposal with a specific transaction hash */ + tx_hash: string; + /** @description Off-chain metadata of a proposal with a specific transaction cert_index */ + cert_index: number; + parameters: { + /** + * @description Epoch number + * @example 225 + */ + epoch?: number; + /** + * @description The linear factor for the minimum fee calculation for given epoch + * @example 44 + */ + min_fee_a: number; + /** + * @description The constant factor for the minimum fee calculation + * @example 155381 + */ + min_fee_b: number; + /** + * @description Maximum block body size in Bytes + * @example 65536 + */ + max_block_size: number; + /** + * @description Maximum transaction size + * @example 16384 + */ + max_tx_size: number; + /** + * @description Maximum block header size + * @example 1100 + */ + max_block_header_size: number; + /** + * @description The amount of a key registration deposit in Lovelaces + * @example 2000000 + */ + key_deposit: string; + /** + * @description The amount of a pool registration deposit in Lovelaces + * @example 500000000 + */ + pool_deposit: string; + /** + * @description Epoch bound on pool retirement + * @example 18 + */ + e_max: number; + /** + * @description Desired number of pools + * @example 150 + */ + n_opt: number; + /** + * @description Pool pledge influence + * @example 0.3 + */ + a0: number; + /** + * @description Monetary expansion + * @example 0.003 + */ + rho: number; + /** + * @description Treasury expansion + * @example 0.2 + */ + tau: number; + /** + * @description Percentage of blocks produced by federated nodes + * @example 0.5 + */ + decentralisation_param: number; + /** + * @description Seed for extra entropy + * @example null + */ + extra_entropy: string | null; + /** + * @description Accepted protocol major version + * @example 2 + */ + protocol_major_ver: number; + /** + * @description Accepted protocol minor version + * @example 0 + */ + protocol_minor_ver: number; + /** + * @description Minimum UTXO value + * @example 1000000 + */ + min_utxo: string; + /** + * @description Minimum stake cost forced on the pool + * @example 340000000 + */ + min_pool_cost: string; + /** + * @description Epoch number only used once + * @example 1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81 + */ + nonce: string; + /** + * @description Cost models parameters for Plutus Core scripts + * @example { + * "PlutusV1": { + * "addInteger-cpu-arguments-intercept": 197209, + * "addInteger-cpu-arguments-slope": 0 + * }, + * "PlutusV2": { + * "addInteger-cpu-arguments-intercept": 197209, + * "addInteger-cpu-arguments-slope": 0 + * } + * } + */ + cost_models: { + [key: string]: unknown; + } | null; + /** + * @description The per word cost of script memory usage + * @example 0.0577 + */ + price_mem: number | null; + /** + * @description The cost of script execution step usage + * @example 0.0000721 + */ + price_step: number | null; + /** + * @description The maximum number of execution memory allowed to be used in a single transaction + * @example 10000000 + */ + max_tx_ex_mem: string | null; + /** + * @description The maximum number of execution steps allowed to be used in a single transaction + * @example 10000000000 + */ + max_tx_ex_steps: string | null; + /** + * @description The maximum number of execution memory allowed to be used in a single block + * @example 50000000 + */ + max_block_ex_mem: string | null; + /** + * @description The maximum number of execution steps allowed to be used in a single block + * @example 40000000000 + */ + max_block_ex_steps: string | null; + /** + * @description The maximum Val size + * @example 5000 + */ + max_val_size: string | null; + /** + * @description The percentage of the transactions fee which must be provided as collateral when including non-native scripts + * @example 150 + */ + collateral_percent: number | null; + /** + * @description The maximum number of collateral inputs allowed in a transaction + * @example 3 + */ + max_collateral_inputs: number | null; + /** + * @description Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + * @example 34482 + */ + coins_per_utxo_size: string | null; + /** + * @deprecated + * @description Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + * @example 34482 + */ + coins_per_utxo_word: string | null; + /** @description Pool Voting threshold for motion of no-confidence. New in 13.2-Conway. */ + pvt_motion_no_confidence: number | null; + /** @description Pool Voting threshold for new committee/threshold (normal state). New in 13.2-Conway. */ + pvt_committee_normal: number | null; + /** @description Pool Voting threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. */ + pvt_committee_no_confidence: number | null; + /** @description Pool Voting threshold for hard-fork initiation. New in 13.2-Conway. */ + pvt_hard_fork_initiation: number | null; + /** @description DRep Vote threshold for motion of no-confidence. New in 13.2-Conway. */ + dvt_motion_no_confidence: number | null; + /** @description DRep Vote threshold for new committee/threshold (normal state). New in 13.2-Conway. */ + dvt_committee_normal: number | null; + /** @description DRep Vote threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. */ + dvt_committee_no_confidence: number | null; + /** @description DRep Vote threshold for update to the Constitution. New in 13.2-Conway. */ + dvt_update_to_constitution: number | null; + /** @description DRep Vote threshold for hard-fork initiation. New in 13.2-Conway. */ + dvt_hard_fork_initiation: number | null; + /** @description DRep Vote threshold for protocol parameter changes, network group. New in 13.2-Conway. */ + dvt_p_p_network_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, economic group. New in 13.2-Conway. */ + dvt_p_p_economic_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, technical group. New in 13.2-Conway. */ + dvt_p_p_technical_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, governance group. New in 13.2-Conway. */ + dvt_p_p_gov_group: number | null; + /** @description DRep Vote threshold for treasury withdrawal. New in 13.2-Conway. */ + dvt_treasury_withdrawal: number | null; + /** + * Format: word64type + * @description Minimal constitutional committee size. New in 13.2-Conway. + */ + committee_min_size: string | null; + /** + * Format: word64type + * @description Constitutional committee term limits. New in 13.2-Conway. + */ + committee_max_term_length: string | null; + /** + * Format: word64type + * @description Governance action expiration. New in 13.2-Conway. + */ + gov_action_lifetime: string | null; + /** + * Format: word64type + * @description Governance action deposit. New in 13.2-Conway. + */ + gov_action_deposit: string | null; + /** + * Format: word64type + * @description DRep deposit amount. New in 13.2-Conway. + */ + drep_deposit: string | null; + /** + * Format: word64type + * @description DRep activity period. New in 13.2-Conway. + */ + drep_activity: string | null; + pvtpp_security_group: number | null; + min_fee_ref_script_cost_per_byte: number | null; + }; }; /** * @example [ - * "8788591983aa73981fc92d6cddbbe643959f5a784e84b8bee0db15823f575a5b", - * "4eef6bb7755d8afbeac526b799f3e32a624691d166657e9d862aaeb66682c036", - * "52e748c4dec58b687b90b0b40d383b9fe1f24c1a833b7395cdf07dd67859f46f", - * "e8073fd5318ff43eca18a852527166aa8008bee9ee9e891f585612b7e4ba700b" + * { + * "stake_address": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + * "amount": "454541212442" + * }, + * { + * "stake_address": "stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2", + * "amount": "97846969" + * } * ] */ - block_content_txs: string[]; - block_content_array: components["schemas"]["block_content"][]; + proposal_withdrawals: { + /** + * @description Bech32 stake address + * @example stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 + */ + stake_address: string; + /** @description Withdrawal amount in Lovelaces */ + amount: string; + }[]; /** * @example [ * { - * "address": "addr1q9ld26v2lv8wvrxxmvg90pn8n8n5k6tdst06q2s856rwmvnueldzuuqmnsye359fqrk8hwvenjnqultn7djtrlft7jnq7dy7wv", - * "transactions": [ - * { - * "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0" - * } - * ] + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 2, + * "voter_role": "drep", + * "voter": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + * "vote": "yes" * }, * { - * "address": "addr1qxqs59lphg8g6qndelq8xwqn60ag3aeyfcp33c2kdp46a09re5df3pzwwmyq946axfcejy5n4x0y99wqpgtp2gd0k09qsgy6pz", - * "transactions": [ - * { - * "tx_hash": "1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157d0" - * } - * ] + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 3, + * "voter_role": "constitutional_committee", + * "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + * "vote": "abstain" * } * ] */ - block_content_addresses: { - /** @description Address that was affected in the specified block */ - address: string; - /** @description List of transactions containing the address either in their inputs or outputs. Sorted by transaction index within a block, ascending. */ - transactions: { - tx_hash: string; - }[]; - }[]; - genesis_content: { - /** - * @description The proportion of slots in which blocks should be issued - * @example 0.05 - */ - active_slots_coefficient: number; - /** - * @description Determines the quorum needed for votes on the protocol parameter updates - * @example 5 - */ - update_quorum: number; - /** - * @description The total number of lovelace in the system - * @example 45000000000000000 - */ - max_lovelace_supply: string; - /** - * @description Network identifier - * @example 764824073 - */ - network_magic: number; - /** - * @description Number of slots in an epoch - * @example 432000 - */ - epoch_length: number; - /** - * @description Time of slot 0 in UNIX time - * @example 1506203091 - */ - system_start: number; - /** - * @description Number of slots in an KES period - * @example 129600 - */ - slots_per_kes_period: number; - /** - * @description Duration of one slot in seconds - * @example 1 - */ - slot_length: number; + proposal_votes: ({ + /** @description Hash of the voting transaction. */ + tx_hash: string; + /** @description Index of the certificate within the voting transaction. */ + cert_index: number; + /** + * @description The role of the voter. Can be one of constitutional_committee, drep, spo. + * @enum {string} + */ + voter_role: "constitutional_committee" | "drep" | "spo"; + /** @description The actual voter. */ + voter: string; + /** + * @description The Vote. Can be one of yes, no, abstain. + * @enum {string} + */ + vote: "yes" | "no" | "abstain"; + })[]; + /** + * @example { + * "tx_hash": "257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8", + * "cert_index": 2, + * "url": "https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json", + * "hash": "ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81", + * "json_metadata": { + * "body": { + * "title": "Hardfork to Protocol version 10", + * "abstract": "Let's have sanchoNet in full governance as soon as possible", + * "rationale": "Let's keep testing stuff", + * "motivation": "PV9 is not as fun as PV10", + * "references": [ + * { + * "uri": "", + * "@type": "Other", + * "label": "Hardfork to PV10" + * } + * ] + * }, + * "authors": [ + * { + * "name": "Carlos", + * "witness": { + * "publicKey": "7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a", + * "signature": "a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01", + * "witnessAlgorithm": "ed25519" + * } + * } + * ], + * "@context": { + * "body": { + * "@id": "CIP108:body", + * "@context": { + * "title": "CIP108:title", + * "abstract": "CIP108:abstract", + * "rationale": "CIP108:rationale", + * "motivation": "CIP108:motivation", + * "references": { + * "@id": "CIP108:references", + * "@context": { + * "uri": "CIP100:reference-uri", + * "Other": "CIP100:OtherReference", + * "label": "CIP100:reference-label", + * "referenceHash": { + * "@id": "CIP108:referenceHash", + * "@context": { + * "hashDigest": "CIP108:hashDigest", + * "hashAlgorithm": "CIP100:hashAlgorithm" + * } + * }, + * "GovernanceMetadata": "CIP100:GovernanceMetadataReference" + * }, + * "@container": "@set" + * } + * } + * }, + * "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + * "CIP108": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#", + * "authors": { + * "@id": "CIP100:authors", + * "@context": { + * "name": "http://xmlns.com/foaf/0.1/name", + * "witness": { + * "@id": "CIP100:witness", + * "@context": { + * "publicKey": "CIP100:publicKey", + * "signature": "CIP100:signature", + * "witnessAlgorithm": "CIP100:witnessAlgorithm" + * } + * } + * }, + * "@container": "@set" + * }, + * "@language": "en-us", + * "hashAlgorithm": "CIP100:hashAlgorithm" + * }, + * "hashAlgorithm": "blake2b-256" + * }, + * "bytes": "\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d" + * } + */ + proposal_metadata: { + /** @description Off-chain metadata of a proposal with a specific transaction hash */ + tx_hash: string; + /** @description Off-chain metadata of a proposal with a specific transaction cert_index */ + cert_index: number; /** - * @description The maximum number of time a KES key can be evolved before a pool operator must create a new operational certificate - * @example 62 + * @description URL to the proposal metadata + * @example https://abc.xyz/gov.json */ - max_kes_evolutions: number; + url: string; /** - * @description Security parameter k - * @example 2160 + * @description Hash of the metadata file + * @example 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" */ - security_param: number; + hash: string; + /** @description Content of the JSON metadata (validated CIP-108) */ + json_metadata: string | { + [key: string]: unknown; + } | unknown[] | number | boolean | null; + /** @description Content of the metadata (raw) */ + bytes: string; }; epoch_content: { /** @@ -4601,6 +5753,48 @@ export interface components { * @example 34482 */ coins_per_utxo_word: string | null; + /** @description Pool Voting threshold for motion of no-confidence. */ + pvt_motion_no_confidence: number | null; + /** @description Pool Voting threshold for new committee/threshold (normal state). */ + pvt_committee_normal: number | null; + /** @description Pool Voting threshold for new committee/threshold (state of no-confidence). */ + pvt_committee_no_confidence: number | null; + /** @description Pool Voting threshold for hard-fork initiation. */ + pvt_hard_fork_initiation: number | null; + /** @description DRep Vote threshold for motion of no-confidence. */ + dvt_motion_no_confidence: number | null; + /** @description DRep Vote threshold for new committee/threshold (normal state). */ + dvt_committee_normal: number | null; + /** @description DRep Vote threshold for new committee/threshold (state of no-confidence). */ + dvt_committee_no_confidence: number | null; + /** @description DRep Vote threshold for update to the Constitution. */ + dvt_update_to_constitution: number | null; + /** @description DRep Vote threshold for hard-fork initiation. */ + dvt_hard_fork_initiation: number | null; + /** @description DRep Vote threshold for protocol parameter changes, network group. */ + dvt_p_p_network_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, economic group. */ + dvt_p_p_economic_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, technical group. */ + dvt_p_p_technical_group: number | null; + /** @description DRep Vote threshold for protocol parameter changes, governance group. */ + dvt_p_p_gov_group: number | null; + /** @description DRep Vote threshold for treasury withdrawal. */ + dvt_treasury_withdrawal: number | null; + /** @description Minimal constitutional committee size. */ + committee_min_size: string | null; + /** @description Constitutional committee term limits. */ + committee_max_term_length: string | null; + /** @description Governance action expiration. */ + gov_action_lifetime: string | null; + /** @description Governance action deposit. */ + gov_action_deposit: string | null; + /** @description DRep deposit amount. */ + drep_deposit: string | null; + /** @description DRep activity period. */ + drep_activity: string | null; + pvtpp_security_group: number | null; + min_fee_ref_script_cost_per_byte: number | null; }; epoch_content_array: components["schemas"]["epoch_content"][]; epoch_stake_content: { @@ -5252,10 +6446,15 @@ export interface components { */ withdrawable_amount: string; /** - * @description Bech32 pool ID that owns the account + * @description Bech32 pool ID to which this account is delegated * @example pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy */ pool_id: string | null; + /** + * @description Bech32 drep ID to which this account is delegated + * @example drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + */ + drep_id: string | null; }; /** * @example [ @@ -6449,6 +7648,26 @@ export interface components { */ action: "registered" | "deregistered"; })[]; + /** + * @example [ + * { + * "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + * "cert_index": 2, + * "vote": "yes" + * } + * ] + */ + pool_votes: ({ + /** @description Hash of the proposal transaction. */ + tx_hash: string; + /** @description Index of the certificate within the proposal transaction. */ + cert_index: number; + /** + * @description The Vote. Can be one of yes, no, abstain. + * @enum {string} + */ + vote: "yes" | "no" | "abstain"; + })[]; /** * @example [ * { diff --git a/src/paths/api/governance/dreps/index.yaml b/src/paths/api/governance/dreps/index.yaml new file mode 100644 index 00000000..40d9add8 --- /dev/null +++ b/src/paths/api/governance/dreps/index.yaml @@ -0,0 +1,52 @@ +get: + tags: + - Cardano » Governance + summary: Delegate Representatives (DReps) + description: Return the information about Delegate Representatives (DReps) + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the Delegate Representatives (DReps) data + content: + application/json: + schema: + $ref: ../../../../schemas/governance/dreps.yaml + "400": + $ref: ../../../../responses/errors/400.yaml + "403": + $ref: ../../../../responses/errors/403.yaml + "429": + $ref: ../../../../responses/errors/429.yaml + "418": + $ref: ../../../../responses/errors/418.yaml + "500": + $ref: ../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/delegators.yaml b/src/paths/api/governance/dreps/{drep_id}/delegators.yaml new file mode 100644 index 00000000..c34ccc0b --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/delegators.yaml @@ -0,0 +1,58 @@ +get: + tags: + - Cardano » Governance + summary: DRep delegators + description: List of Drep delegators. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal drep ID. + example: "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the DRep delegations + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_delegators.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/index.yaml b/src/paths/api/governance/dreps/{drep_id}/index.yaml new file mode 100644 index 00000000..d4fc3654 --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/index.yaml @@ -0,0 +1,30 @@ +get: + tags: + - Cardano » Governance + summary: Specific DRep + description: DRep information. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" + responses: + "200": + description: Return the DRep information content + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/metadata.yaml b/src/paths/api/governance/dreps/{drep_id}/metadata.yaml new file mode 100644 index 00000000..607cc233 --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/metadata.yaml @@ -0,0 +1,30 @@ +get: + tags: + - Cardano » Governance + summary: DRep metadata + description: DRep metadata information. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" + responses: + "200": + description: Return the DRep metadata content. + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_metadata.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/updates.yaml b/src/paths/api/governance/dreps/{drep_id}/updates.yaml new file mode 100644 index 00000000..d2085e21 --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/updates.yaml @@ -0,0 +1,58 @@ +get: + tags: + - Cardano » Governance + summary: DRep updates + description: List of certificate updates to the DRep. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal DRep ID. + example: "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the Drep updates history + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_updates.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/dreps/{drep_id}/votes.yaml b/src/paths/api/governance/dreps/{drep_id}/votes.yaml new file mode 100644 index 00000000..605578bf --- /dev/null +++ b/src/paths/api/governance/dreps/{drep_id}/votes.yaml @@ -0,0 +1,58 @@ +get: + tags: + - Cardano » Governance + summary: DRep votes + description: History of Drep votes. + parameters: + - in: path + name: drep_id + required: true + schema: + type: string + description: Bech32 or hexadecimal drep ID. + example: "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the DRep votes + content: + application/json: + schema: + $ref: ../../../../../schemas/governance/drep_votes.yaml + "400": + $ref: ../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/index.yaml b/src/paths/api/governance/proposals/index.yaml new file mode 100644 index 00000000..5d12796f --- /dev/null +++ b/src/paths/api/governance/proposals/index.yaml @@ -0,0 +1,52 @@ +get: + tags: + - Cardano » Governance + summary: Proposals + description: Return the information about Proposals + parameters: + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + Ordering in this case is based on the time of the first mint transaction. + responses: + "200": + description: Paginated array with the proposal data + content: + application/json: + schema: + $ref: ../../../../schemas/governance/proposals.yaml + "400": + $ref: ../../../../responses/errors/400.yaml + "403": + $ref: ../../../../responses/errors/403.yaml + "429": + $ref: ../../../../responses/errors/429.yaml + "418": + $ref: ../../../../responses/errors/418.yaml + "500": + $ref: ../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml new file mode 100644 index 00000000..7d78cc60 --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/index.yaml @@ -0,0 +1,37 @@ +get: + tags: + - Cardano » Governance + summary: Specific proposal + description: Proposal information. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + responses: + "200": + description: Return the proposal information content + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/metadata.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/metadata.yaml new file mode 100644 index 00000000..436368e3 --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/metadata.yaml @@ -0,0 +1,37 @@ +get: + tags: + - Cardano » Governance + summary: Specific proposal metadata + description: Proposal metadata information. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash of the proposal. + example: "2403339d2f344202fb3583353e11a693a82860e59e65939dcb0e2ac72336d631" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index of the proposal. + example: 0 + responses: + "200": + description: Return the proposal information content + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal_metadata.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/parameters.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/parameters.yaml new file mode 100644 index 00000000..424203d6 --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/parameters.yaml @@ -0,0 +1,39 @@ +get: + tags: + - Cardano » Governance + summary: Specific parameters proposal + description: Parameters proposal details. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + responses: + "200": + description: Return the proposal parameters content + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal_parameters.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "404": + $ref: ../../../../../../responses/errors/404.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml new file mode 100644 index 00000000..4013e92e --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/votes.yaml @@ -0,0 +1,65 @@ +get: + tags: + - Cardano » Governance + summary: Proposal votes + description: History of Proposal votes. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the Proposal votes + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal_votes.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/withdrawals.yaml b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/withdrawals.yaml new file mode 100644 index 00000000..28575036 --- /dev/null +++ b/src/paths/api/governance/proposals/{tx_hash}/{cert_index}/withdrawals.yaml @@ -0,0 +1,39 @@ +get: + tags: + - Cardano » Governance + summary: Specific withdrawals proposal + description: Parameters withdrawals details. + parameters: + - in: path + name: tx_hash + required: true + schema: + type: string + description: Transaction hash. + example: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + - in: path + name: cert_index + required: true + schema: + type: integer + description: Transaction index. + example: 1 + responses: + "200": + description: Return the proposal withdrawals content + content: + application/json: + schema: + $ref: ../../../../../../schemas/governance/proposal_withdrawals.yaml + "400": + $ref: ../../../../../../responses/errors/400.yaml + "403": + $ref: ../../../../../../responses/errors/403.yaml + "404": + $ref: ../../../../../../responses/errors/404.yaml + "429": + $ref: ../../../../../../responses/errors/429.yaml + "418": + $ref: ../../../../../../responses/errors/418.yaml + "500": + $ref: ../../../../../../responses/errors/500.yaml diff --git a/src/paths/api/pools/{pool_id}/votes.yaml b/src/paths/api/pools/{pool_id}/votes.yaml new file mode 100644 index 00000000..7e123841 --- /dev/null +++ b/src/paths/api/pools/{pool_id}/votes.yaml @@ -0,0 +1,60 @@ +get: + tags: + - Cardano » Pools + summary: Stake pool votes + description: History of stake pools votes. + parameters: + - in: path + name: pool_id + required: true + schema: + type: string + description: Bech32 or hexadecimal pool ID. + example: "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy" + - in: query + name: count + required: false + schema: + type: integer + minimum: 1 + maximum: 100 + default: 100 + description: The number of results displayed on one page. + - in: query + name: page + required: false + schema: + type: integer + minimum: 1 + maximum: 21474836 + default: 1 + description: The page number for listing the results. + - in: query + name: order + required: false + schema: + type: string + enum: [asc, desc] + default: asc + description: | + The ordering of items from the point of view of the blockchain, + not the page listing itself. By default, we return oldest first, newest last. + responses: + "200": + description: Return the pool votes. + content: + application/json: + schema: + $ref: ../../../../schemas/pools/pool_votes.yaml + "400": + $ref: ../../../../responses/errors/400.yaml + "403": + $ref: ../../../../responses/errors/403.yaml + "404": + $ref: ../../../../responses/errors/404.yaml + "429": + $ref: ../../../../responses/errors/429.yaml + "418": + $ref: ../../../../responses/errors/418.yaml + "500": + $ref: ../../../../responses/errors/500.yaml diff --git a/src/schemas/accounts/account_content.yaml b/src/schemas/accounts/account_content.yaml index 948a871f..cd8da4bb 100644 --- a/src/schemas/accounts/account_content.yaml +++ b/src/schemas/accounts/account_content.yaml @@ -41,7 +41,13 @@ properties: type: string nullable: true example: pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy - description: Bech32 pool ID that owns the account + description: Bech32 pool ID to which this account is delegated + drep_id: + type: string + nullable: true + example: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + description: Bech32 drep ID to which this account is delegated + required: - stake_address - active @@ -53,3 +59,4 @@ required: - treasury_sum - withdrawable_amount - pool_id + - drep_id diff --git a/src/schemas/epochs/epoch_param_content.yaml b/src/schemas/epochs/epoch_param_content.yaml index d4336b63..9152d67a 100644 --- a/src/schemas/epochs/epoch_param_content.yaml +++ b/src/schemas/epochs/epoch_param_content.yaml @@ -70,7 +70,7 @@ properties: example: 0 description: Accepted protocol minor version min_utxo: - type: "string" + type: string example: "1000000" description: Minimum UTXO value. Use `coins_per_utxo_size` for Alonzo and later eras deprecated: true @@ -143,15 +143,100 @@ properties: type: string nullable: true example: "34482" - description: Cost per UTxO word for Alonzo. - Cost per UTxO byte for Babbage and later. + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. coins_per_utxo_word: type: string nullable: true example: "34482" - description: Cost per UTxO word for Alonzo. - Cost per UTxO byte for Babbage and later. deprecated: true + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + pvt_motion_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for motion of no-confidence. + pvt_committee_normal: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (normal state). + pvt_committee_no_confidence: + nullable: true + type: number + description: Pool Voting threshold for new committee/threshold (state of no-confidence). + pvt_hard_fork_initiation: + nullable: true + type: number + description: Pool Voting threshold for hard-fork initiation. + dvt_motion_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for motion of no-confidence. + dvt_committee_normal: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (normal state). + dvt_committee_no_confidence: + nullable: true + type: number + description: DRep Vote threshold for new committee/threshold (state of no-confidence). + dvt_update_to_constitution: + nullable: true + type: number + description: DRep Vote threshold for update to the Constitution. + dvt_hard_fork_initiation: + nullable: true + type: number + description: DRep Vote threshold for hard-fork initiation. + dvt_p_p_network_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, network group. + dvt_p_p_economic_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, economic group. + dvt_p_p_technical_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, technical group. + dvt_p_p_gov_group: + nullable: true + type: number + description: DRep Vote threshold for protocol parameter changes, governance group. + dvt_treasury_withdrawal: + nullable: true + type: number + description: DRep Vote threshold for treasury withdrawal. + committee_min_size: + type: string + nullable: true + description: Minimal constitutional committee size. + committee_max_term_length: + type: string + nullable: true + description: Constitutional committee term limits. + gov_action_lifetime: + type: string + nullable: true + description: Governance action expiration. + gov_action_deposit: + type: string + nullable: true + description: Governance action deposit. + drep_deposit: + type: string + nullable: true + description: DRep deposit amount. + drep_activity: + type: string + nullable: true + description: DRep activity period. + pvtpp_security_group: + type: number + nullable: true + min_fee_ref_script_cost_per_byte: + type: number + nullable: true + required: - epoch - min_fee_a @@ -185,3 +270,25 @@ required: - max_collateral_inputs - coins_per_utxo_size - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - pvtpp_security_group + - min_fee_ref_script_cost_per_byte diff --git a/src/schemas/governance/committee_content.yaml b/src/schemas/governance/committee_content.yaml new file mode 100644 index 00000000..01012cb6 --- /dev/null +++ b/src/schemas/governance/committee_content.yaml @@ -0,0 +1,18 @@ +type: array +items: + type: object + properties: + cold_key: + type: string + description: Hex cold key + hot_key: + type: string + description: Hex hot key + required: + - hot_key + - cold_key +example: + - cold_key: "5aea32cbcde22c8ba268d692c372901aaaafca4a335ffdca828089ec" + hot_key: "b41855e400020882ae44e868b341ffbad1c1b26cac70186d57387de4" + - cold_key: "5f1b4429fe3bda963a7b70ab81135112a785afcf55ccd695b122e794" + hot_key: "5aa349227e4068c85c03400396bcea13c7fd57d0ec78c604bc768fc5" diff --git a/src/schemas/governance/drep.yaml b/src/schemas/governance/drep.yaml new file mode 100644 index 00000000..f9281a3a --- /dev/null +++ b/src/schemas/governance/drep.yaml @@ -0,0 +1,36 @@ +type: object +properties: + drep_id: + type: string + description: Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + amount: + type: string + description: The total amount of voting power this DRep is delegated. + active: + type: boolean + description: Registration state of the DRep + active_epoch: + type: integer + nullable: true + description: Epoch of the most recent action - registration or deregistration + has_script: + type: boolean + description: Flag which shows if this DRep credentials are a script hash + +required: + - drep_id + - hex + - amount + - active + - active_epoch + - has_script +example: + drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + amount: "2000000" + active: true + active_epoch: 420 + has_script: true diff --git a/src/schemas/governance/drep_delegators.yaml b/src/schemas/governance/drep_delegators.yaml new file mode 100644 index 00000000..09959aa4 --- /dev/null +++ b/src/schemas/governance/drep_delegators.yaml @@ -0,0 +1,20 @@ +type: array +items: + type: object + properties: + address: + type: string + description: Bech32 encoded stake addresses + amount: + type: string + description: Currently delegated amount + required: + - address + - amount +example: + - address: "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha" + amount: "1137959159981411" + - address: "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u" + amount: "16958865648" + - address: "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck" + amount: "18605647" diff --git a/src/schemas/governance/drep_metadata.yaml b/src/schemas/governance/drep_metadata.yaml new file mode 100644 index 00000000..5fb7eb0e --- /dev/null +++ b/src/schemas/governance/drep_metadata.yaml @@ -0,0 +1,111 @@ +type: object +properties: + drep_id: + type: string + description: Bech32 encoded addresses + hex: + type: string + description: The raw bytes of the DRep + url: + type: string + example: "https://stakenuts.com/drep.json" + description: URL to the drep metadata + hash: + type: string + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + json_metadata: + anyOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + - type: integer + - type: number + - type: boolean + - type: "null" + description: Content of the JSON metadata (validated CIP-119) + bytes: + type: string + description: Content of the metadata (raw) +required: + - drep_id + - hex + - url + - hash + - json_metadata + - bytes +example: + drep_id: drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc + hex: a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d + url: "https://aaa.xyz/drep.json" + hash: a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de + json_metadata: + { + "@context": + { + "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + "CIP119": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#", + "hashAlgorithm": "CIP100:hashAlgorithm", + "body": + { + "@id": "CIP119:body", + "@context": + { + "references": + { + "@id": "CIP119:references", + "@container": "@set", + "@context": + { + "GovernanceMetadata": "CIP100:GovernanceMetadataReference", + "Other": "CIP100:OtherReference", + "label": "CIP100:reference-label", + "uri": "CIP100:reference-uri", + }, + }, + "paymentAddress": "CIP119:paymentAddress", + "givenName": "CIP119:givenName", + "image": + { + "@id": "CIP119:image", + "@context": + { "ImageObject": "https://schema.org/ImageObject" }, + }, + "objectives": "CIP119:objectives", + "motivations": "CIP119:motivations", + "qualifications": "CIP119:qualifications", + }, + }, + }, + "hahsAlgorithm": "blake2b-256", + "body": + { + "paymentAddress": "addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34", + "givenName": "Ryan Williams", + "image": + { + "@type": "ImageObject", + "contentUrl": "https://avatars.githubusercontent.com/u/44342099?v=4", + "sha256": "2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e", + }, + "objectives": "Buy myself an island.", + "motivations": "I really would like to own an island.", + "qualifications": "I have my 100m swimming badge, so I would be qualified to be able to swim around island.", + "references": + [ + { + "@type": "Other", + "label": "A cool island for Ryan", + "uri": "https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu", + }, + { + "@type": "Link", + "label": "Ryan's Twitter", + "uri": "https://twitter.com/Ryun1_", + }, + ], + }, + } + bytes: \x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6 diff --git a/src/schemas/governance/drep_updates.yaml b/src/schemas/governance/drep_updates.yaml new file mode 100644 index 00000000..50ac3dbb --- /dev/null +++ b/src/schemas/governance/drep_updates.yaml @@ -0,0 +1,25 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Transaction ID + cert_index: + type: integer + description: Certificate within the transaction + action: + type: string + enum: [registered, deregistered] + description: Action in the certificate + required: + - tx_hash + - cert_index + - action +example: + - tx_hash: "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393" + cert_index: 0 + action: registered + - tx_hash: "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e" + cert_index: 0 + action: deregistered diff --git a/src/schemas/governance/drep_votes.yaml b/src/schemas/governance/drep_votes.yaml new file mode 100644 index 00000000..2ed282d7 --- /dev/null +++ b/src/schemas/governance/drep_votes.yaml @@ -0,0 +1,26 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: [yes, no, abstain] + description: The Vote. Can be one of yes, no, abstain. + + required: + - tx_hash + - cert_index + - vote +example: + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 2 + vote: "yes" + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 3 + vote: "abstain" diff --git a/src/schemas/governance/dreps.yaml b/src/schemas/governance/dreps.yaml new file mode 100644 index 00000000..2adba688 --- /dev/null +++ b/src/schemas/governance/dreps.yaml @@ -0,0 +1,18 @@ +type: array +items: + type: object + properties: + drep_id: + type: string + description: The Bech32 encoded DRep address + hex: + type: string + description: The raw bytes of the DRep + required: + - drep_id + - hex +example: + - drep_id: "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn" + hex: "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23" + - drep_id: "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4" + hex: "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758" diff --git a/src/schemas/governance/proposal.yaml b/src/schemas/governance/proposal.yaml new file mode 100644 index 00000000..9dc8cbcc --- /dev/null +++ b/src/schemas/governance/proposal.yaml @@ -0,0 +1,73 @@ +type: object +properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + [ + hard_fork_initiation, + new_committee, + new_constitution, + info_action, + no_confidence, + parameter_change, + treasury_withdrawals, + ] + description: Type of proposal. + governance_description: + additionalProperties: true + type: object + nullable: true + description: An object describing the content of this GovActionProposal in a readable way. + deposit: + type: string + description: The deposit amount paid for this proposal. + return_address: + type: string + description: Bech32 stake address of the reward address to receive the deposit when it is repaid. + ratified_epoch: + type: integer + nullable: true + enacted_epoch: + type: integer + nullable: true + dropped_epoch: + type: integer + nullable: true + expired_epoch: + type: integer + nullable: true + expiration: + type: integer + description: Shows the epoch at which this governance action will expire. + +required: + - tx_hash + - cert_index + - governance_type + - deposit + - return_address + - governance_description + - ratified_epoch + - enacted_epoch + - dropped_epoch + - expired_epoch + - expiration + +example: + tx_hash: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + cert_index: 1 + governance_type: "treasury_withdrawals" + deposit: 12000 + return_address: "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz" + governance_description: 'TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60")},Coin 20000000)])' + ratified_epoch: null + enacted_epoch: 123 + dropped_epoch: null + expired_epoch: null + expiration: 120 diff --git a/src/schemas/governance/proposal_metadata.yaml b/src/schemas/governance/proposal_metadata.yaml new file mode 100644 index 00000000..e8dd1ace --- /dev/null +++ b/src/schemas/governance/proposal_metadata.yaml @@ -0,0 +1,127 @@ +type: object +properties: + tx_hash: + type: string + description: Off-chain metadata of a proposal with a specific transaction hash + cert_index: + type: integer + description: Off-chain metadata of a proposal with a specific transaction cert_index + url: + type: string + example: "https://abc.xyz/gov.json" + description: URL to the proposal metadata + hash: + type: string + example: 69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c" + description: Hash of the metadata file + json_metadata: + anyOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + - type: integer + - type: number + - type: boolean + - type: "null" + description: Content of the JSON metadata (validated CIP-108) + bytes: + type: string + description: Content of the metadata (raw) +required: + - tx_hash + - cert_index + - url + - hash + - json_metadata + - bytes +example: + tx_hash: "257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8" + cert_index: 2 + url: https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json + hash: ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81 + json_metadata: + { + "body": + { + "title": "Hardfork to Protocol version 10", + "abstract": "Let's have sanchoNet in full governance as soon as possible", + "rationale": "Let's keep testing stuff", + "motivation": "PV9 is not as fun as PV10", + "references": + [{ "uri": "", "@type": "Other", "label": "Hardfork to PV10" }], + }, + "authors": + [ + { + "name": "Carlos", + "witness": + { + "publicKey": "7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a", + "signature": "a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01", + "witnessAlgorithm": "ed25519", + }, + }, + ], + "@context": + { + "body": + { + "@id": "CIP108:body", + "@context": + { + "title": "CIP108:title", + "abstract": "CIP108:abstract", + "rationale": "CIP108:rationale", + "motivation": "CIP108:motivation", + "references": + { + "@id": "CIP108:references", + "@context": + { + "uri": "CIP100:reference-uri", + "Other": "CIP100:OtherReference", + "label": "CIP100:reference-label", + "referenceHash": + { + "@id": "CIP108:referenceHash", + "@context": + { + "hashDigest": "CIP108:hashDigest", + "hashAlgorithm": "CIP100:hashAlgorithm", + }, + }, + "GovernanceMetadata": "CIP100:GovernanceMetadataReference", + }, + "@container": "@set", + }, + }, + }, + "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + "CIP108": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#", + "authors": + { + "@id": "CIP100:authors", + "@context": + { + "name": "http://xmlns.com/foaf/0.1/name", + "witness": + { + "@id": "CIP100:witness", + "@context": + { + "publicKey": "CIP100:publicKey", + "signature": "CIP100:signature", + "witnessAlgorithm": "CIP100:witnessAlgorithm", + }, + }, + }, + "@container": "@set", + }, + "@language": "en-us", + "hashAlgorithm": "CIP100:hashAlgorithm", + }, + "hashAlgorithm": "blake2b-256", + } + bytes: \x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d diff --git a/src/schemas/governance/proposal_parameters.yaml b/src/schemas/governance/proposal_parameters.yaml new file mode 100644 index 00000000..f146747c --- /dev/null +++ b/src/schemas/governance/proposal_parameters.yaml @@ -0,0 +1,310 @@ +type: object +properties: + tx_hash: + type: string + description: Off-chain metadata of a proposal with a specific transaction hash + cert_index: + type: integer + description: Off-chain metadata of a proposal with a specific transaction cert_index + parameters: + type: object + properties: + epoch: + type: integer + example: 225 + description: Epoch number + min_fee_a: + type: integer + example: 44 + description: The linear factor for the minimum fee calculation for given epoch + min_fee_b: + type: integer + example: 155381 + description: The constant factor for the minimum fee calculation + max_block_size: + type: integer + example: 65536 + description: Maximum block body size in Bytes + max_tx_size: + type: integer + example: 16384 + description: Maximum transaction size + max_block_header_size: + type: integer + example: 1100 + description: Maximum block header size + key_deposit: + type: string + example: "2000000" + description: The amount of a key registration deposit in Lovelaces + pool_deposit: + type: string + example: "500000000" + description: The amount of a pool registration deposit in Lovelaces + e_max: + type: integer + example: 18 + description: Epoch bound on pool retirement + n_opt: + type: integer + example: 150 + description: Desired number of pools + a0: + type: number + example: 0.3 + description: Pool pledge influence + rho: + type: number + example: 0.003 + description: Monetary expansion + tau: + type: number + example: 0.2 + description: Treasury expansion + decentralisation_param: + type: number + example: 0.5 + description: Percentage of blocks produced by federated nodes + extra_entropy: + type: string + nullable: true + example: null + description: Seed for extra entropy + protocol_major_ver: + type: integer + example: 2 + description: Accepted protocol major version + protocol_minor_ver: + type: integer + example: 0 + description: Accepted protocol minor version + min_utxo: + type: string + example: "1000000" + description: Minimum UTXO value + min_pool_cost: + type: string + example: "340000000" + description: Minimum stake cost forced on the pool + nonce: + type: string + example: "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81" + description: Epoch number only used once + cost_models: + additionalProperties: true + type: object + nullable: true + example: + PlutusV1: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + PlutusV2: + addInteger-cpu-arguments-intercept: 197209 + addInteger-cpu-arguments-slope: 0 + description: Cost models parameters for Plutus Core scripts + price_mem: + type: number + nullable: true + example: 0.0577 + description: The per word cost of script memory usage + price_step: + type: number + nullable: true + example: 0.0000721 + description: The cost of script execution step usage + max_tx_ex_mem: + type: string + nullable: true + example: "10000000" + description: The maximum number of execution memory allowed to be used in a single transaction + max_tx_ex_steps: + type: string + nullable: true + example: "10000000000" + description: The maximum number of execution steps allowed to be used in a single transaction + max_block_ex_mem: + type: string + nullable: true + example: "50000000" + description: The maximum number of execution memory allowed to be used in a single block + max_block_ex_steps: + type: string + nullable: true + example: "40000000000" + description: The maximum number of execution steps allowed to be used in a single block + max_val_size: + type: string + nullable: true + example: "5000" + description: The maximum Val size + collateral_percent: + type: integer + nullable: true + example: 150 + description: The percentage of the transactions fee which must be provided as collateral when including non-native scripts + max_collateral_inputs: + type: integer + nullable: true + example: 3 + description: The maximum number of collateral inputs allowed in a transaction + coins_per_utxo_size: + type: string + nullable: true + example: "34482" + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + coins_per_utxo_word: + type: string + nullable: true + example: "34482" + deprecated: true + description: Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later. + pvt_motion_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for motion of no-confidence. New in 13.2-Conway. + pvt_committee_normal: + type: number + nullable: true + description: Pool Voting threshold for new committee/threshold (normal state). New in 13.2-Conway. + pvt_committee_no_confidence: + type: number + nullable: true + description: Pool Voting threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. + pvt_hard_fork_initiation: + type: number + nullable: true + description: Pool Voting threshold for hard-fork initiation. New in 13.2-Conway. + dvt_motion_no_confidence: + type: number + nullable: true + description: DRep Vote threshold for motion of no-confidence. New in 13.2-Conway. + dvt_committee_normal: + type: number + nullable: true + description: DRep Vote threshold for new committee/threshold (normal state). New in 13.2-Conway. + dvt_committee_no_confidence: + type: number + nullable: true + description: DRep Vote threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway. + dvt_update_to_constitution: + type: number + nullable: true + description: DRep Vote threshold for update to the Constitution. New in 13.2-Conway. + dvt_hard_fork_initiation: + type: number + nullable: true + description: DRep Vote threshold for hard-fork initiation. New in 13.2-Conway. + dvt_p_p_network_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, network group. New in 13.2-Conway. + dvt_p_p_economic_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, economic group. New in 13.2-Conway. + dvt_p_p_technical_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, technical group. New in 13.2-Conway. + dvt_p_p_gov_group: + type: number + nullable: true + description: DRep Vote threshold for protocol parameter changes, governance group. New in 13.2-Conway. + dvt_treasury_withdrawal: + type: number + nullable: true + description: DRep Vote threshold for treasury withdrawal. New in 13.2-Conway. + committee_min_size: + type: string + nullable: true + format: word64type + description: Minimal constitutional committee size. New in 13.2-Conway. + committee_max_term_length: + type: string + nullable: true + format: word64type + description: Constitutional committee term limits. New in 13.2-Conway. + gov_action_lifetime: + type: string + nullable: true + format: word64type + description: Governance action expiration. New in 13.2-Conway. + gov_action_deposit: + type: string + nullable: true + format: word64type + description: Governance action deposit. New in 13.2-Conway. + drep_deposit: + type: string + nullable: true + format: word64type + description: DRep deposit amount. New in 13.2-Conway. + drep_activity: + type: string + nullable: true + format: word64type + description: DRep activity period. New in 13.2-Conway. + pvtpp_security_group: + type: number + nullable: true + min_fee_ref_script_cost_per_byte: + type: number + nullable: true + required: + - min_fee_a + - min_fee_b + - max_block_size + - max_tx_size + - max_block_header_size + - key_deposit + - pool_deposit + - e_max + - n_opt + - a0 + - rho + - tau + - decentralisation_param + - extra_entropy + - protocol_major_ver + - protocol_minor_ver + - min_utxo + - min_pool_cost + - nonce + - cost_models + - price_mem + - price_step + - max_tx_ex_mem + - max_tx_ex_steps + - max_block_ex_mem + - max_block_ex_steps + - max_val_size + - collateral_percent + - max_collateral_inputs + - coins_per_utxo_size + - coins_per_utxo_word + - pvt_motion_no_confidence + - pvt_committee_normal + - pvt_committee_no_confidence + - pvt_hard_fork_initiation + - dvt_motion_no_confidence + - dvt_committee_normal + - dvt_committee_no_confidence + - dvt_update_to_constitution + - dvt_hard_fork_initiation + - dvt_p_p_network_group + - dvt_p_p_economic_group + - dvt_p_p_technical_group + - dvt_p_p_gov_group + - dvt_treasury_withdrawal + - committee_min_size + - committee_max_term_length + - gov_action_lifetime + - gov_action_deposit + - drep_deposit + - drep_activity + - pvtpp_security_group + - min_fee_ref_script_cost_per_byte +required: + - tx_hash + - cert_index + - parameters diff --git a/src/schemas/governance/proposal_votes.yaml b/src/schemas/governance/proposal_votes.yaml new file mode 100644 index 00000000..19a5485d --- /dev/null +++ b/src/schemas/governance/proposal_votes.yaml @@ -0,0 +1,39 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the voting transaction. + cert_index: + type: integer + description: Index of the certificate within the voting transaction. + voter_role: + type: string + enum: [constitutional_committee, drep, spo] + description: The role of the voter. Can be one of constitutional_committee, drep, spo. + voter: + type: string + description: The actual voter. + vote: + type: string + enum: [yes, no, abstain] + description: The Vote. Can be one of yes, no, abstain. + + required: + - tx_hash + - cert_index + - voter_role + - voter + - vote +example: + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 2 + voter_role: "drep" + voter: drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn + vote: "yes" + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 3 + voter_role: "constitutional_committee" + voter: "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4" + vote: "abstain" diff --git a/src/schemas/governance/proposal_withdrawals.yaml b/src/schemas/governance/proposal_withdrawals.yaml new file mode 100644 index 00000000..dc0c98bb --- /dev/null +++ b/src/schemas/governance/proposal_withdrawals.yaml @@ -0,0 +1,19 @@ +type: array +items: + type: object + properties: + stake_address: + type: string + example: stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7 + description: Bech32 stake address + amount: + type: string + description: Withdrawal amount in Lovelaces + required: + - stake_address + - amount +example: + - stake_address: "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7" + amount: "454541212442" + - stake_address: "stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2" + amount: "97846969" diff --git a/src/schemas/governance/proposals.yaml b/src/schemas/governance/proposals.yaml new file mode 100644 index 00000000..768c4009 --- /dev/null +++ b/src/schemas/governance/proposals.yaml @@ -0,0 +1,36 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + governance_type: + type: string + enum: + [ + hard_fork_initiation, + new_committee, + new_constitution, + info_action, + no_confidence, + parameter_change, + treasury_withdrawals, + ] + description: Type of proposal. + + required: + - tx_hash + - cert_index + - governance_type + +example: + - tx_hash: "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531" + cert_index: 1 + governance_type: "treasury_withdrawals" + - tx_hash: "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60" + cert_index: 4 + governance_type: "no_confidence" diff --git a/src/schemas/pools/pool_delegations.yaml b/src/schemas/pools/pool_delegations.yaml deleted file mode 100644 index 1d4f96b5..00000000 --- a/src/schemas/pools/pool_delegations.yaml +++ /dev/null @@ -1,20 +0,0 @@ -type: array -items: - type: object - properties: - tx_hash: - type: string - description: Transaction ID - cert_index: - type: integer - description: Certificate within the transaction - required: - - tx_hash - - cert_index -example: - - tx_hash: "6804edf9712d2b619edb6ac86861fe93a730693183a262b165fcc1ba1bc99cad" - cert_index: 0 - - tx_hash: "9c190bc1ac88b2ab0c05a82d7de8b71b67a9316377e865748a89d4426c0d3005" - cert_index: 0 - - tx_hash: "e14a75b0eb2625de7055f1f580d70426311b78e0d36dd695a6bdc96c7b3d80e0" - cert_index: 1 diff --git a/src/schemas/pools/pool_votes.yaml b/src/schemas/pools/pool_votes.yaml new file mode 100644 index 00000000..d7175ce8 --- /dev/null +++ b/src/schemas/pools/pool_votes.yaml @@ -0,0 +1,23 @@ +type: array +items: + type: object + properties: + tx_hash: + type: string + description: Hash of the proposal transaction. + cert_index: + type: integer + description: Index of the certificate within the proposal transaction. + vote: + type: string + enum: [yes, no, abstain] + description: The Vote. Can be one of yes, no, abstain. + + required: + - tx_hash + - cert_index + - vote +example: + - tx_hash: "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5" + cert_index: 2 + vote: "yes" diff --git a/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap b/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap index d3aeb60d..c1a91a63 100644 --- a/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap +++ b/test/tests/__snapshots__/get-schema-for-endpoint.test.ts.snap @@ -161,8 +161,14 @@ exports[`getSchemaForEndpoint > generateSchemas 1`] = ` "example": "619154618165", "type": "string", }, + "drep_id": { + "description": "Bech32 drep ID to which this account is delegated", + "example": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "nullable": true, + "type": "string", + }, "pool_id": { - "description": "Bech32 pool ID that owns the account", + "description": "Bech32 pool ID to which this account is delegated", "example": "pool1pu5jlj4q9w9jlxeu370a3c9myx47md5j5m2str0naunn2q3lkdy", "nullable": true, "type": "string", @@ -209,6 +215,7 @@ exports[`getSchemaForEndpoint > generateSchemas 1`] = ` "treasury_sum", "withdrawable_amount", "pool_id", + "drep_id", ], "type": "object", }, @@ -7839,6 +7846,16 @@ under which it is valid "nullable": true, "type": "integer", }, + "committee_max_term_length": { + "description": "Constitutional committee term limits.", + "nullable": true, + "type": "string", + }, + "committee_min_size": { + "description": "Minimal constitutional committee size.", + "nullable": true, + "type": "string", + }, "cost_models": { "additionalProperties": true, "description": "Cost models parameters for Plutus Core scripts", @@ -7860,6 +7877,66 @@ under which it is valid "example": 0.5, "type": "number", }, + "drep_activity": { + "description": "DRep activity period.", + "nullable": true, + "type": "string", + }, + "drep_deposit": { + "description": "DRep deposit amount.", + "nullable": true, + "type": "string", + }, + "dvt_committee_no_confidence": { + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "dvt_committee_normal": { + "description": "DRep Vote threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "dvt_hard_fork_initiation": { + "description": "DRep Vote threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "dvt_motion_no_confidence": { + "description": "DRep Vote threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_economic_group": { + "description": "DRep Vote threshold for protocol parameter changes, economic group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_gov_group": { + "description": "DRep Vote threshold for protocol parameter changes, governance group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_network_group": { + "description": "DRep Vote threshold for protocol parameter changes, network group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_technical_group": { + "description": "DRep Vote threshold for protocol parameter changes, technical group.", + "nullable": true, + "type": "number", + }, + "dvt_treasury_withdrawal": { + "description": "DRep Vote threshold for treasury withdrawal.", + "nullable": true, + "type": "number", + }, + "dvt_update_to_constitution": { + "description": "DRep Vote threshold for update to the Constitution.", + "nullable": true, + "type": "number", + }, "e_max": { "description": "Epoch bound on pool retirement", "example": 18, @@ -7876,6 +7953,16 @@ under which it is valid "nullable": true, "type": "string", }, + "gov_action_deposit": { + "description": "Governance action deposit.", + "nullable": true, + "type": "string", + }, + "gov_action_lifetime": { + "description": "Governance action expiration.", + "nullable": true, + "type": "string", + }, "key_deposit": { "description": "The amount of a key registration deposit in Lovelaces", "example": "2000000", @@ -7942,6 +8029,10 @@ under which it is valid "example": 155381, "type": "integer", }, + "min_fee_ref_script_cost_per_byte": { + "nullable": true, + "type": "number", + }, "min_pool_cost": { "description": "Minimum stake cost forced on the pool", "example": "340000000", @@ -7990,6 +8081,30 @@ under which it is valid "example": 0, "type": "integer", }, + "pvt_committee_no_confidence": { + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "pvt_committee_normal": { + "description": "Pool Voting threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "pvt_hard_fork_initiation": { + "description": "Pool Voting threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "pvt_motion_no_confidence": { + "description": "Pool Voting threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "pvtpp_security_group": { + "nullable": true, + "type": "number", + }, "rho": { "description": "Monetary expansion", "example": 0.003, @@ -8034,6 +8149,28 @@ under which it is valid "max_collateral_inputs", "coins_per_utxo_size", "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "pvtpp_security_group", + "min_fee_ref_script_cost_per_byte", ], "type": "object", }, @@ -9016,6 +9153,16 @@ under which it is valid "nullable": true, "type": "integer", }, + "committee_max_term_length": { + "description": "Constitutional committee term limits.", + "nullable": true, + "type": "string", + }, + "committee_min_size": { + "description": "Minimal constitutional committee size.", + "nullable": true, + "type": "string", + }, "cost_models": { "additionalProperties": true, "description": "Cost models parameters for Plutus Core scripts", @@ -9037,6 +9184,66 @@ under which it is valid "example": 0.5, "type": "number", }, + "drep_activity": { + "description": "DRep activity period.", + "nullable": true, + "type": "string", + }, + "drep_deposit": { + "description": "DRep deposit amount.", + "nullable": true, + "type": "string", + }, + "dvt_committee_no_confidence": { + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "dvt_committee_normal": { + "description": "DRep Vote threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "dvt_hard_fork_initiation": { + "description": "DRep Vote threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "dvt_motion_no_confidence": { + "description": "DRep Vote threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_economic_group": { + "description": "DRep Vote threshold for protocol parameter changes, economic group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_gov_group": { + "description": "DRep Vote threshold for protocol parameter changes, governance group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_network_group": { + "description": "DRep Vote threshold for protocol parameter changes, network group.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_technical_group": { + "description": "DRep Vote threshold for protocol parameter changes, technical group.", + "nullable": true, + "type": "number", + }, + "dvt_treasury_withdrawal": { + "description": "DRep Vote threshold for treasury withdrawal.", + "nullable": true, + "type": "number", + }, + "dvt_update_to_constitution": { + "description": "DRep Vote threshold for update to the Constitution.", + "nullable": true, + "type": "number", + }, "e_max": { "description": "Epoch bound on pool retirement", "example": 18, @@ -9053,6 +9260,16 @@ under which it is valid "nullable": true, "type": "string", }, + "gov_action_deposit": { + "description": "Governance action deposit.", + "nullable": true, + "type": "string", + }, + "gov_action_lifetime": { + "description": "Governance action expiration.", + "nullable": true, + "type": "string", + }, "key_deposit": { "description": "The amount of a key registration deposit in Lovelaces", "example": "2000000", @@ -9119,6 +9336,10 @@ under which it is valid "example": 155381, "type": "integer", }, + "min_fee_ref_script_cost_per_byte": { + "nullable": true, + "type": "number", + }, "min_pool_cost": { "description": "Minimum stake cost forced on the pool", "example": "340000000", @@ -9167,6 +9388,30 @@ under which it is valid "example": 0, "type": "integer", }, + "pvt_committee_no_confidence": { + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence).", + "nullable": true, + "type": "number", + }, + "pvt_committee_normal": { + "description": "Pool Voting threshold for new committee/threshold (normal state).", + "nullable": true, + "type": "number", + }, + "pvt_hard_fork_initiation": { + "description": "Pool Voting threshold for hard-fork initiation.", + "nullable": true, + "type": "number", + }, + "pvt_motion_no_confidence": { + "description": "Pool Voting threshold for motion of no-confidence.", + "nullable": true, + "type": "number", + }, + "pvtpp_security_group": { + "nullable": true, + "type": "number", + }, "rho": { "description": "Monetary expansion", "example": 0.003, @@ -9211,6 +9456,28 @@ under which it is valid "max_collateral_inputs", "coins_per_utxo_size", "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "pvtpp_security_group", + "min_fee_ref_script_cost_per_byte", ], "type": "object", }, @@ -10135,19 +10402,62 @@ under which it is valid }, }, }, - "/health": { + "/governance/dreps": { + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, "response": { "200": { - "properties": { - "is_healthy": { - "example": true, - "type": "boolean", + "example": [ + { + "drep_id": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "hex": "db1bc3c3f99ce68977ceaf27ab4dd917123ef9e73f85c304236eab23", + }, + { + "drep_id": "drep1cxayn4fgy27yaucvhamsvqj3v6835mh3tjjx6x8hdnr4", + "hex": "c1ba49d52822bc4ef30cbf77060251668f1a6ef15ca46d18f76cc758", }, - }, - "required": [ - "is_healthy", ], - "type": "object", + "items": { + "properties": { + "drep_id": { + "description": "The Bech32 encoded DRep address", + "type": "string", + }, + "hex": { + "description": "The raw bytes of the DRep", + "type": "string", + }, + }, + "required": [ + "drep_id", + "hex", + ], + "type": "object", + }, + "type": "array", }, "400": { "properties": { @@ -10261,18 +10571,59 @@ under which it is valid }, }, }, - "/health/clock": { + "/governance/dreps/{drep_id}": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, "response": { "200": { + "example": { + "active": true, + "active_epoch": 420, + "amount": "2000000", + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "has_script": true, + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + }, "properties": { - "server_time": { - "example": 1603400958947, - "format": "int64", + "active": { + "description": "Registration state of the DRep", + "type": "boolean", + }, + "active_epoch": { + "description": "Epoch of the most recent action - registration or deregistration", + "nullable": true, "type": "integer", }, + "amount": { + "description": "The total amount of voting power this DRep is delegated.", + "type": "string", + }, + "drep_id": { + "description": "Bech32 encoded DRep address", + "type": "string", + }, + "has_script": { + "description": "Flag which shows if this DRep credentials are a script hash", + "type": "boolean", + }, + "hex": { + "description": "The raw bytes of the DRep", + "type": "string", + }, }, "required": [ - "server_time", + "drep_id", + "hex", + "amount", + "active", + "active_epoch", + "has_script", ], "type": "object", }, @@ -10388,40 +10739,2677 @@ under which it is valid }, }, }, - "/ipfs/add": { - "response": { - "200": { - "properties": { - "ipfs_hash": { - "description": "IPFS hash of the file", - "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", - "type": "string", - }, - "name": { - "description": "Name of the file", - "example": "README.md", - "type": "string", - }, - "size": { - "description": "IPFS node size in Bytes", - "example": "125297", - "type": "string", - }, + "/governance/dreps/{drep_id}/delegators": { + "params": { + "properties": { + "drep_id": { + "type": "string", }, - "required": [ - "name", - "ipfs_hash", - "size", - ], - "type": "object", }, - "400": { - "properties": { - "error": { - "example": "Bad Request", - "type": "string", - }, - "message": { + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "address": "stake1ux4vspfvwuus9uwyp5p3f0ky7a30jq5j80jxse0fr7pa56sgn8kha", + "amount": "1137959159981411", + }, + { + "address": "stake1uylayej7esmarzd4mk4aru37zh9yz0luj3g9fsvgpfaxulq564r5u", + "amount": "16958865648", + }, + { + "address": "stake1u8lr2pnrgf8f7vrs9lt79hc3sxm8s2w4rwvgpncks3axx6q93d4ck", + "amount": "18605647", + }, + ], + "items": { + "properties": { + "address": { + "description": "Bech32 encoded stake addresses", + "type": "string", + }, + "amount": { + "description": "Currently delegated amount", + "type": "string", + }, + }, + "required": [ + "address", + "amount", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/dreps/{drep_id}/metadata": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": { + "bytes": "\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6", + "drep_id": "drep15cfxz9exyn5rx0807zvxfrvslrjqfchrd4d47kv9e0f46uedqtc", + "hash": "a14a5ad4f36bddc00f92ddb39fd9ac633c0fd43f8bfa57758f9163d10ef916de", + "hex": "a61261172624e8333ceff098648d90f8e404e2e36d5b5f5985cbd35d", + "json_metadata": { + "@context": { + "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + "CIP119": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0119/README.md#", + "body": { + "@context": { + "givenName": "CIP119:givenName", + "image": { + "@context": { + "ImageObject": "https://schema.org/ImageObject", + }, + "@id": "CIP119:image", + }, + "motivations": "CIP119:motivations", + "objectives": "CIP119:objectives", + "paymentAddress": "CIP119:paymentAddress", + "qualifications": "CIP119:qualifications", + "references": { + "@container": "@set", + "@context": { + "GovernanceMetadata": "CIP100:GovernanceMetadataReference", + "Other": "CIP100:OtherReference", + "label": "CIP100:reference-label", + "uri": "CIP100:reference-uri", + }, + "@id": "CIP119:references", + }, + }, + "@id": "CIP119:body", + }, + "hashAlgorithm": "CIP100:hashAlgorithm", + }, + "body": { + "givenName": "Ryan Williams", + "image": { + "@type": "ImageObject", + "contentUrl": "https://avatars.githubusercontent.com/u/44342099?v=4", + "sha256": "2a21e4f7b20c8c72f573707b068fb8fc6d8c64d5035c4e18ecae287947fe2b2e", + }, + "motivations": "I really would like to own an island.", + "objectives": "Buy myself an island.", + "paymentAddress": "addr1q86dnpkva4mm859c8ur7tjxn57zgsu6vg8pdetkdve3fsacnq7twy06u2ev5759vutpjgzfryx0ud8hzedhzerava35qwh3x34", + "qualifications": "I have my 100m swimming badge, so I would be qualified to be able to swim around island.", + "references": [ + { + "@type": "Other", + "label": "A cool island for Ryan", + "uri": "https://www.google.com/maps/place/World's+only+5th+order+recursive+island/@62.6511465,-97.7946829,15.75z/data=!4m14!1m7!3m6!1s0x5216a167810cee39:0x11431abdfe4c7421!2sWorld's+only+5th+order+recursive+island!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n!3m5!1s0x5216a167810cee39:0x11431abdfe4c7421!8m2!3d62.651114!4d-97.7872244!16s%2Fg%2F11spwk2b6n?authuser=0&entry=ttu", + }, + { + "@type": "Link", + "label": "Ryan's Twitter", + "uri": "https://twitter.com/Ryun1_", + }, + ], + }, + "hahsAlgorithm": "blake2b-256", + }, + "url": "https://aaa.xyz/drep.json", + }, + "properties": { + "bytes": { + "description": "Content of the metadata (raw)", + "type": "string", + }, + "drep_id": { + "description": "Bech32 encoded addresses", + "type": "string", + }, + "hash": { + "description": "Hash of the metadata file", + "example": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c"", + "type": "string", + }, + "hex": { + "description": "The raw bytes of the DRep", + "type": "string", + }, + "json_metadata": { + "anyOf": [ + { + "type": "string", + }, + { + "additionalProperties": true, + "type": "object", + }, + { + "items": {}, + "type": "array", + }, + { + "type": "integer", + }, + { + "type": "number", + }, + { + "type": "boolean", + }, + { + "type": "null", + }, + ], + "description": "Content of the JSON metadata (validated CIP-119)", + }, + "url": { + "description": "URL to the drep metadata", + "example": "https://stakenuts.com/drep.json", + "type": "string", + }, + }, + "required": [ + "drep_id", + "hex", + "url", + "hash", + "json_metadata", + "bytes", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/dreps/{drep_id}/updates": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "action": "registered", + "cert_index": 0, + "tx_hash": "f4097fbdb87ab7c7ab44b30d4e2b81713a058488975d1ab8b05c381dd946a393", + }, + { + "action": "deregistered", + "cert_index": 0, + "tx_hash": "dd3243af975be4b5bedce4e5f5b483b2386d5ad207d05e0289c1df0eb261447e", + }, + ], + "items": { + "properties": { + "action": { + "description": "Action in the certificate", + "enum": [ + "registered", + "deregistered", + ], + "type": "string", + }, + "cert_index": { + "description": "Certificate within the transaction", + "type": "integer", + }, + "tx_hash": { + "description": "Transaction ID", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "action", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/dreps/{drep_id}/votes": { + "params": { + "properties": { + "drep_id": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 2, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "yes", + }, + { + "cert_index": 3, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "abstain", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + "vote": { + "description": "The Vote. Can be one of yes, no, abstain.", + "enum": [ + "yes", + "no", + "abstain", + ], + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "vote", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals": { + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 1, + "governance_type": "treasury_withdrawals", + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + }, + { + "cert_index": 4, + "governance_type": "no_confidence", + "tx_hash": "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "governance_type": { + "description": "Type of proposal.", + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals", + ], + "type": "string", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "governance_type", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals/{tx_hash}/{cert_index}": { + "params": { + "properties": { + "cert_index": { + "type": "integer", + }, + "tx_hash": { + "type": "string", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": { + "cert_index": 1, + "deposit": 12000, + "dropped_epoch": null, + "enacted_epoch": 123, + "expiration": 120, + "expired_epoch": null, + "governance_description": "TreasuryWithdrawals (fromList [(RewardAcnt {getRwdNetwork = Testnet, getRwdCred = KeyHashObj (KeyHash "71317e951b20aa46e9fbf45a46a6e950d5723a481225519655bf6c60")},Coin 20000000)])", + "governance_type": "treasury_withdrawals", + "ratified_epoch": null, + "return_address": "stake_test1urd3hs7rlxwwdzthe6hj026dmyt3y0heuulctscyydh2kgck6nkmz", + "tx_hash": "2dd15e0ef6e6a17841cb9541c27724072ce4d4b79b91e58432fbaa32d9572531", + }, + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "deposit": { + "description": "The deposit amount paid for this proposal.", + "type": "string", + }, + "dropped_epoch": { + "nullable": true, + "type": "integer", + }, + "enacted_epoch": { + "nullable": true, + "type": "integer", + }, + "expiration": { + "description": "Shows the epoch at which this governance action will expire.", + "type": "integer", + }, + "expired_epoch": { + "nullable": true, + "type": "integer", + }, + "governance_description": { + "additionalProperties": true, + "description": "An object describing the content of this GovActionProposal in a readable way.", + "nullable": true, + "type": "object", + }, + "governance_type": { + "description": "Type of proposal.", + "enum": [ + "hard_fork_initiation", + "new_committee", + "new_constitution", + "info_action", + "no_confidence", + "parameter_change", + "treasury_withdrawals", + ], + "type": "string", + }, + "ratified_epoch": { + "nullable": true, + "type": "integer", + }, + "return_address": { + "description": "Bech32 stake address of the reward address to receive the deposit when it is repaid.", + "type": "string", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "governance_type", + "deposit", + "return_address", + "governance_description", + "ratified_epoch", + "enacted_epoch", + "dropped_epoch", + "expired_epoch", + "expiration", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals/{tx_hash}/{cert_index}/metadata": { + "params": { + "properties": { + "cert_index": { + "type": "integer", + }, + "tx_hash": { + "type": "string", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": { + "bytes": "\\x7b0a20202240636f6e74657874223a207b0a2020202022406c616e6775616765223a2022656e2d7573222c0a2020202022434950313030223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130302f524541444d452e6d6423222c0a2020202022434950313038223a202268747470733a2f2f6769746875622e636f6d2f63617264616e6f2d666f756e646174696f6e2f434950732f626c6f622f6d61737465722f4349502d303130382f524541444d452e6d6423222c0a202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d222c0a2020202022626f6479223a207b0a20202020202022406964223a20224349503130383a626f6479222c0a2020202020202240636f6e74657874223a207b0a2020202020202020227265666572656e636573223a207b0a2020202020202020202022406964223a20224349503130383a7265666572656e636573222c0a202020202020202020202240636f6e7461696e6572223a202240736574222c0a202020202020202020202240636f6e74657874223a207b0a20202020202020202020202022476f7665726e616e63654d65746164617461223a20224349503130303a476f7665726e616e63654d657461646174615265666572656e6365222c0a202020202020202020202020224f74686572223a20224349503130303a4f746865725265666572656e6365222c0a202020202020202020202020226c6162656c223a20224349503130303a7265666572656e63652d6c6162656c222c0a20202020202020202020202022757269223a20224349503130303a7265666572656e63652d757269222c0a202020202020202020202020227265666572656e636548617368223a207b0a202020202020202020202020202022406964223a20224349503130383a7265666572656e636548617368222c0a20202020202020202020202020202240636f6e74657874223a207b0a202020202020202020202020202020202268617368446967657374223a20224349503130383a68617368446967657374222c0a202020202020202020202020202020202268617368416c676f726974686d223a20224349503130303a68617368416c676f726974686d220a20202020202020202020202020207d0a2020202020202020202020207d0a202020202020202020207d0a20202020202020207d2c0a2020202020202020227469746c65223a20224349503130383a7469746c65222c0a2020202020202020226162737472616374223a20224349503130383a6162737472616374222c0a2020202020202020226d6f7469766174696f6e223a20224349503130383a6d6f7469766174696f6e222c0a202020202020202022726174696f6e616c65223a20224349503130383a726174696f6e616c65220a2020202020207d0a202020207d2c0a2020202022617574686f7273223a207b0a20202020202022406964223a20224349503130303a617574686f7273222c0a2020202020202240636f6e7461696e6572223a202240736574222c0a2020202020202240636f6e74657874223a207b0a2020202020202020226e616d65223a2022687474703a2f2f786d6c6e732e636f6d2f666f61662f302e312f6e616d65222c0a2020202020202020227769746e657373223a207b0a2020202020202020202022406964223a20224349503130303a7769746e657373222c0a202020202020202020202240636f6e74657874223a207b0a202020202020202020202020227769746e657373416c676f726974686d223a20224349503130303a7769746e657373416c676f726974686d222c0a202020202020202020202020227075626c69634b6579223a20224349503130303a7075626c69634b6579222c0a202020202020202020202020227369676e6174757265223a20224349503130303a7369676e6174757265220a202020202020202020207d0a20202020202020207d0a2020202020207d0a202020207d0a20207d2c0a20202268617368416c676f726974686d223a2022626c616b6532622d323536222c0a202022626f6479223a207b0a20202020227469746c65223a202248617264666f726b20746f2050726f746f636f6c2076657273696f6e203130222c0a20202020226162737472616374223a20224c6574277320686176652073616e63686f4e657420696e2066756c6c20676f7665726e616e636520617320736f6f6e20617320706f737369626c65222c0a20202020226d6f7469766174696f6e223a2022505639206973206e6f742061732066756e2061732050563130222c0a2020202022726174696f6e616c65223a20224c65742773206b6565702074657374696e67207374756666222c0a20202020227265666572656e636573223a205b0a2020202020207b0a2020202020202020224074797065223a20224f74686572222c0a2020202020202020226c6162656c223a202248617264666f726b20746f2050563130222c0a202020202020202022757269223a2022220a2020202020207d0a202020205d0a20207d2c0a202022617574686f7273223a205b0a202020207b0a202020202020226e616d65223a20224361726c6f73222c0a202020202020227769746e657373223a207b0a2020202020202020227769746e657373416c676f726974686d223a202265643235353139222c0a2020202020202020227075626c69634b6579223a202237656130396133346165626231336339383431633731333937623163616266656335646466393530343035323933646565343936636163326634333734383061222c0a2020202020202020227369676e6174757265223a20226134373639383562346363306434353766323437373937363131373939613666366138306663386362376563396463623561383232333838386430363138653330646531363566336438363963346130643931303764386135623631326164376335653432343431393037663562393137393666306437313837643634613031220a2020202020207d0a202020207d0a20205d0a7d", + "cert_index": 2, + "hash": "ffa226f3863aca006172d559cf46bb8b883a47233962ae2fc94c158d7de6fa81", + "json_metadata": { + "@context": { + "@language": "en-us", + "CIP100": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#", + "CIP108": "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#", + "authors": { + "@container": "@set", + "@context": { + "name": "http://xmlns.com/foaf/0.1/name", + "witness": { + "@context": { + "publicKey": "CIP100:publicKey", + "signature": "CIP100:signature", + "witnessAlgorithm": "CIP100:witnessAlgorithm", + }, + "@id": "CIP100:witness", + }, + }, + "@id": "CIP100:authors", + }, + "body": { + "@context": { + "abstract": "CIP108:abstract", + "motivation": "CIP108:motivation", + "rationale": "CIP108:rationale", + "references": { + "@container": "@set", + "@context": { + "GovernanceMetadata": "CIP100:GovernanceMetadataReference", + "Other": "CIP100:OtherReference", + "label": "CIP100:reference-label", + "referenceHash": { + "@context": { + "hashAlgorithm": "CIP100:hashAlgorithm", + "hashDigest": "CIP108:hashDigest", + }, + "@id": "CIP108:referenceHash", + }, + "uri": "CIP100:reference-uri", + }, + "@id": "CIP108:references", + }, + "title": "CIP108:title", + }, + "@id": "CIP108:body", + }, + "hashAlgorithm": "CIP100:hashAlgorithm", + }, + "authors": [ + { + "name": "Carlos", + "witness": { + "publicKey": "7ea09a34aebb13c9841c71397b1cabfec5ddf950405293dee496cac2f437480a", + "signature": "a476985b4cc0d457f247797611799a6f6a80fc8cb7ec9dcb5a8223888d0618e30de165f3d869c4a0d9107d8a5b612ad7c5e42441907f5b91796f0d7187d64a01", + "witnessAlgorithm": "ed25519", + }, + }, + ], + "body": { + "abstract": "Let's have sanchoNet in full governance as soon as possible", + "motivation": "PV9 is not as fun as PV10", + "rationale": "Let's keep testing stuff", + "references": [ + { + "@type": "Other", + "label": "Hardfork to PV10", + "uri": "", + }, + ], + "title": "Hardfork to Protocol version 10", + }, + "hashAlgorithm": "blake2b-256", + }, + "tx_hash": "257d75c8ddb0434e9b63e29ebb6241add2b835a307aa33aedba2effe09ed4ec8", + "url": "https://raw.githubusercontent.com/carloslodelar/proposals/main/pv10.json", + }, + "properties": { + "bytes": { + "description": "Content of the metadata (raw)", + "type": "string", + }, + "cert_index": { + "description": "Off-chain metadata of a proposal with a specific transaction cert_index", + "type": "integer", + }, + "hash": { + "description": "Hash of the metadata file", + "example": "69c0c68cb57f4a5b4a87bad896fc274678e7aea98e200fa14a1cb40c0cab1d8c"", + "type": "string", + }, + "json_metadata": { + "anyOf": [ + { + "type": "string", + }, + { + "additionalProperties": true, + "type": "object", + }, + { + "items": {}, + "type": "array", + }, + { + "type": "integer", + }, + { + "type": "number", + }, + { + "type": "boolean", + }, + { + "type": "null", + }, + ], + "description": "Content of the JSON metadata (validated CIP-108)", + }, + "tx_hash": { + "description": "Off-chain metadata of a proposal with a specific transaction hash", + "type": "string", + }, + "url": { + "description": "URL to the proposal metadata", + "example": "https://abc.xyz/gov.json", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "url", + "hash", + "json_metadata", + "bytes", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals/{tx_hash}/{cert_index}/parameters": { + "params": { + "properties": { + "cert_index": { + "type": "integer", + }, + "tx_hash": { + "type": "string", + }, + }, + "type": "object", + }, + "response": { + "200": { + "properties": { + "cert_index": { + "description": "Off-chain metadata of a proposal with a specific transaction cert_index", + "type": "integer", + }, + "parameters": { + "properties": { + "a0": { + "description": "Pool pledge influence", + "example": 0.3, + "type": "number", + }, + "coins_per_utxo_size": { + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.", + "example": "34482", + "nullable": true, + "type": "string", + }, + "coins_per_utxo_word": { + "deprecated": true, + "description": "Cost per UTxO word for Alonzo. Cost per UTxO byte for Babbage and later.", + "example": "34482", + "nullable": true, + "type": "string", + }, + "collateral_percent": { + "description": "The percentage of the transactions fee which must be provided as collateral when including non-native scripts", + "example": 150, + "nullable": true, + "type": "integer", + }, + "committee_max_term_length": { + "description": "Constitutional committee term limits. New in 13.2-Conway.", + "format": "word64type", + "nullable": true, + "type": "string", + }, + "committee_min_size": { + "description": "Minimal constitutional committee size. New in 13.2-Conway.", + "format": "word64type", + "nullable": true, + "type": "string", + }, + "cost_models": { + "additionalProperties": true, + "description": "Cost models parameters for Plutus Core scripts", + "example": { + "PlutusV1": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0, + }, + "PlutusV2": { + "addInteger-cpu-arguments-intercept": 197209, + "addInteger-cpu-arguments-slope": 0, + }, + }, + "nullable": true, + "type": "object", + }, + "decentralisation_param": { + "description": "Percentage of blocks produced by federated nodes", + "example": 0.5, + "type": "number", + }, + "drep_activity": { + "description": "DRep activity period. New in 13.2-Conway.", + "format": "word64type", + "nullable": true, + "type": "string", + }, + "drep_deposit": { + "description": "DRep deposit amount. New in 13.2-Conway.", + "format": "word64type", + "nullable": true, + "type": "string", + }, + "dvt_committee_no_confidence": { + "description": "DRep Vote threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_committee_normal": { + "description": "DRep Vote threshold for new committee/threshold (normal state). New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_hard_fork_initiation": { + "description": "DRep Vote threshold for hard-fork initiation. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_motion_no_confidence": { + "description": "DRep Vote threshold for motion of no-confidence. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_economic_group": { + "description": "DRep Vote threshold for protocol parameter changes, economic group. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_gov_group": { + "description": "DRep Vote threshold for protocol parameter changes, governance group. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_network_group": { + "description": "DRep Vote threshold for protocol parameter changes, network group. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_p_p_technical_group": { + "description": "DRep Vote threshold for protocol parameter changes, technical group. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_treasury_withdrawal": { + "description": "DRep Vote threshold for treasury withdrawal. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "dvt_update_to_constitution": { + "description": "DRep Vote threshold for update to the Constitution. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "e_max": { + "description": "Epoch bound on pool retirement", + "example": 18, + "type": "integer", + }, + "epoch": { + "description": "Epoch number", + "example": 225, + "type": "integer", + }, + "extra_entropy": { + "description": "Seed for extra entropy", + "example": null, + "nullable": true, + "type": "string", + }, + "gov_action_deposit": { + "description": "Governance action deposit. New in 13.2-Conway.", + "format": "word64type", + "nullable": true, + "type": "string", + }, + "gov_action_lifetime": { + "description": "Governance action expiration. New in 13.2-Conway.", + "format": "word64type", + "nullable": true, + "type": "string", + }, + "key_deposit": { + "description": "The amount of a key registration deposit in Lovelaces", + "example": "2000000", + "type": "string", + }, + "max_block_ex_mem": { + "description": "The maximum number of execution memory allowed to be used in a single block", + "example": "50000000", + "nullable": true, + "type": "string", + }, + "max_block_ex_steps": { + "description": "The maximum number of execution steps allowed to be used in a single block", + "example": "40000000000", + "nullable": true, + "type": "string", + }, + "max_block_header_size": { + "description": "Maximum block header size", + "example": 1100, + "type": "integer", + }, + "max_block_size": { + "description": "Maximum block body size in Bytes", + "example": 65536, + "type": "integer", + }, + "max_collateral_inputs": { + "description": "The maximum number of collateral inputs allowed in a transaction", + "example": 3, + "nullable": true, + "type": "integer", + }, + "max_tx_ex_mem": { + "description": "The maximum number of execution memory allowed to be used in a single transaction", + "example": "10000000", + "nullable": true, + "type": "string", + }, + "max_tx_ex_steps": { + "description": "The maximum number of execution steps allowed to be used in a single transaction", + "example": "10000000000", + "nullable": true, + "type": "string", + }, + "max_tx_size": { + "description": "Maximum transaction size", + "example": 16384, + "type": "integer", + }, + "max_val_size": { + "description": "The maximum Val size", + "example": "5000", + "nullable": true, + "type": "string", + }, + "min_fee_a": { + "description": "The linear factor for the minimum fee calculation for given epoch", + "example": 44, + "type": "integer", + }, + "min_fee_b": { + "description": "The constant factor for the minimum fee calculation", + "example": 155381, + "type": "integer", + }, + "min_fee_ref_script_cost_per_byte": { + "nullable": true, + "type": "number", + }, + "min_pool_cost": { + "description": "Minimum stake cost forced on the pool", + "example": "340000000", + "type": "string", + }, + "min_utxo": { + "description": "Minimum UTXO value", + "example": "1000000", + "type": "string", + }, + "n_opt": { + "description": "Desired number of pools", + "example": 150, + "type": "integer", + }, + "nonce": { + "description": "Epoch number only used once", + "example": "1a3be38bcbb7911969283716ad7aa550250226b76a61fc51cc9a9a35d9276d81", + "type": "string", + }, + "pool_deposit": { + "description": "The amount of a pool registration deposit in Lovelaces", + "example": "500000000", + "type": "string", + }, + "price_mem": { + "description": "The per word cost of script memory usage", + "example": 0.0577, + "nullable": true, + "type": "number", + }, + "price_step": { + "description": "The cost of script execution step usage", + "example": 0.0000721, + "nullable": true, + "type": "number", + }, + "protocol_major_ver": { + "description": "Accepted protocol major version", + "example": 2, + "type": "integer", + }, + "protocol_minor_ver": { + "description": "Accepted protocol minor version", + "example": 0, + "type": "integer", + }, + "pvt_committee_no_confidence": { + "description": "Pool Voting threshold for new committee/threshold (state of no-confidence). New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "pvt_committee_normal": { + "description": "Pool Voting threshold for new committee/threshold (normal state). New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "pvt_hard_fork_initiation": { + "description": "Pool Voting threshold for hard-fork initiation. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "pvt_motion_no_confidence": { + "description": "Pool Voting threshold for motion of no-confidence. New in 13.2-Conway.", + "nullable": true, + "type": "number", + }, + "pvtpp_security_group": { + "nullable": true, + "type": "number", + }, + "rho": { + "description": "Monetary expansion", + "example": 0.003, + "type": "number", + }, + "tau": { + "description": "Treasury expansion", + "example": 0.2, + "type": "number", + }, + }, + "required": [ + "min_fee_a", + "min_fee_b", + "max_block_size", + "max_tx_size", + "max_block_header_size", + "key_deposit", + "pool_deposit", + "e_max", + "n_opt", + "a0", + "rho", + "tau", + "decentralisation_param", + "extra_entropy", + "protocol_major_ver", + "protocol_minor_ver", + "min_utxo", + "min_pool_cost", + "nonce", + "cost_models", + "price_mem", + "price_step", + "max_tx_ex_mem", + "max_tx_ex_steps", + "max_block_ex_mem", + "max_block_ex_steps", + "max_val_size", + "collateral_percent", + "max_collateral_inputs", + "coins_per_utxo_size", + "coins_per_utxo_word", + "pvt_motion_no_confidence", + "pvt_committee_normal", + "pvt_committee_no_confidence", + "pvt_hard_fork_initiation", + "dvt_motion_no_confidence", + "dvt_committee_normal", + "dvt_committee_no_confidence", + "dvt_update_to_constitution", + "dvt_hard_fork_initiation", + "dvt_p_p_network_group", + "dvt_p_p_economic_group", + "dvt_p_p_technical_group", + "dvt_p_p_gov_group", + "dvt_treasury_withdrawal", + "committee_min_size", + "committee_max_term_length", + "gov_action_lifetime", + "gov_action_deposit", + "drep_deposit", + "drep_activity", + "pvtpp_security_group", + "min_fee_ref_script_cost_per_byte", + ], + "type": "object", + }, + "tx_hash": { + "description": "Off-chain metadata of a proposal with a specific transaction hash", + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "parameters", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "404": { + "properties": { + "error": { + "example": "Not Found", + "type": "string", + }, + "message": { + "example": "The requested component has not been found.", + "type": "string", + }, + "status_code": { + "example": 404, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals/{tx_hash}/{cert_index}/votes": { + "params": { + "properties": { + "cert_index": { + "type": "integer", + }, + "tx_hash": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 2, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "yes", + "voter": "drep1mvdu8slennngja7w4un6knwezufra70887zuxpprd64jxfveahn", + "voter_role": "drep", + }, + { + "cert_index": 3, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "abstain", + "voter": "53a42debdc7ffd90085ab7fd9800b63e6d1c9ac481ba6eb7b6a844e4", + "voter_role": "constitutional_committee", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the voting transaction.", + "type": "integer", + }, + "tx_hash": { + "description": "Hash of the voting transaction.", + "type": "string", + }, + "vote": { + "description": "The Vote. Can be one of yes, no, abstain.", + "enum": [ + "yes", + "no", + "abstain", + ], + "type": "string", + }, + "voter": { + "description": "The actual voter.", + "type": "string", + }, + "voter_role": { + "description": "The role of the voter. Can be one of constitutional_committee, drep, spo.", + "enum": [ + "constitutional_committee", + "drep", + "spo", + ], + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "voter_role", + "voter", + "vote", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/governance/proposals/{tx_hash}/{cert_index}/withdrawals": { + "params": { + "properties": { + "cert_index": { + "type": "integer", + }, + "tx_hash": { + "type": "string", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "amount": "454541212442", + "stake_address": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + }, + { + "amount": "97846969", + "stake_address": "stake1xx2g2c9dx2nhhehyrezyxpkstoppcqmu9hk63qgfkccw5rqttygt2", + }, + ], + "items": { + "properties": { + "amount": { + "description": "Withdrawal amount in Lovelaces", + "type": "string", + }, + "stake_address": { + "description": "Bech32 stake address", + "example": "stake1ux3g2c9dx2nhhehyrezyxpkstartcqmu9hk63qgfkccw5rqttygt7", + "type": "string", + }, + }, + "required": [ + "stake_address", + "amount", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "404": { + "properties": { + "error": { + "example": "Not Found", + "type": "string", + }, + "message": { + "example": "The requested component has not been found.", + "type": "string", + }, + "status_code": { + "example": 404, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/health": { + "response": { + "200": { + "properties": { + "is_healthy": { + "example": true, + "type": "boolean", + }, + }, + "required": [ + "is_healthy", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/health/clock": { + "response": { + "200": { + "properties": { + "server_time": { + "example": 1603400958947, + "format": "int64", + "type": "integer", + }, + }, + "required": [ + "server_time", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, + "/ipfs/add": { + "response": { + "200": { + "properties": { + "ipfs_hash": { + "description": "IPFS hash of the file", + "example": "QmZbHqiCxKEVX7QfijzJTkZiSi3WEVTcvANgNAWzDYgZDr", + "type": "string", + }, + "name": { + "description": "Name of the file", + "example": "README.md", + "type": "string", + }, + "size": { + "description": "IPFS node size in Bytes", + "example": "125297", + "type": "string", + }, + }, + "required": [ + "name", + "ipfs_hash", + "size", + ], + "type": "object", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { "example": "Backend did not understand your request.", "type": "string", }, @@ -17945,6 +20933,212 @@ relative to the start of the network }, }, }, + "/pools/{pool_id}/votes": { + "params": { + "properties": { + "pool_id": { + "type": "string", + }, + }, + "type": "object", + }, + "querystring": { + "properties": { + "count": { + "default": 100, + "maximum": 100, + "minimum": 1, + "type": "integer", + }, + "order": { + "default": "asc", + "enum": [ + "asc", + "desc", + ], + "type": "string", + }, + "page": { + "default": 1, + "maximum": 21474836, + "minimum": 1, + "type": "integer", + }, + }, + "type": "object", + }, + "response": { + "200": { + "example": [ + { + "cert_index": 2, + "tx_hash": "b302de601defdf11a5261ed31a263804dac4a582a888c998ce24dec5", + "vote": "yes", + }, + ], + "items": { + "properties": { + "cert_index": { + "description": "Index of the certificate within the proposal transaction.", + "type": "integer", + }, + "tx_hash": { + "description": "Hash of the proposal transaction.", + "type": "string", + }, + "vote": { + "description": "The Vote. Can be one of yes, no, abstain.", + "enum": [ + "yes", + "no", + "abstain", + ], + "type": "string", + }, + }, + "required": [ + "tx_hash", + "cert_index", + "vote", + ], + "type": "object", + }, + "type": "array", + }, + "400": { + "properties": { + "error": { + "example": "Bad Request", + "type": "string", + }, + "message": { + "example": "Backend did not understand your request.", + "type": "string", + }, + "status_code": { + "example": 400, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "403": { + "properties": { + "error": { + "example": "Forbidden", + "type": "string", + }, + "message": { + "example": "Invalid project token.", + "type": "string", + }, + "status_code": { + "example": 403, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "404": { + "properties": { + "error": { + "example": "Not Found", + "type": "string", + }, + "message": { + "example": "The requested component has not been found.", + "type": "string", + }, + "status_code": { + "example": 404, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "418": { + "properties": { + "error": { + "example": "Requested Banned", + "type": "string", + }, + "message": { + "example": "IP has been auto-banned for flooding.", + "type": "string", + }, + "status_code": { + "example": 418, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "429": { + "properties": { + "error": { + "example": "Project Over Limit", + "type": "string", + }, + "message": { + "example": "Usage is over limit.", + "type": "string", + }, + "status_code": { + "example": 429, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + "500": { + "properties": { + "error": { + "example": "Internal Server Error", + "type": "string", + }, + "message": { + "example": "An unexpected response was received from the backend.", + "type": "string", + }, + "status_code": { + "example": 500, + "type": "integer", + }, + }, + "required": [ + "error", + "message", + "status_code", + ], + "type": "object", + }, + }, + }, "/scripts": { "querystring": { "properties": {