Cardano Cardano » Mempool API
The Cardano » Mempool API from Cardano — 3 operation(s) for cardano » mempool.
The Cardano » Mempool API from Cardano — 3 operation(s) for cardano » mempool.
openapi: 3.0.3
info:
version: 0.1.89
title: Blockfrost.io ~ API Documentation Cardano » Accounts Cardano » Mempool API
x-logo:
url: https://staging.blockfrost.io/images/logo.svg
altText: Blockfrost
contact:
name: Blockfrost Team
url: https://blockfrost.io
email: contact@blockfrost.io
license:
name: MIT
url: https://opensource.org/licenses/MIT
termsOfService: https://blockfrost.io/terms
description: "Blockfrost is an API as a service that allows users to interact with the Cardano blockchain, Midnight blockchain, and parts of their ecosystems.\n\n## Tokens\n\nAfter signing up on https://blockfrost.io, a `project_id` token is automatically generated for each project.\nHTTP header of your request MUST include this `project_id` in order to authenticate against Blockfrost servers.\n\n## Available networks\n\nAt the moment, you can use the following networks. Please, note that each network has its own `project_id`.\n\n<table>\n <tbody>\n <tr>\n <td>\n <b>Network</b>\n </td>\n <td>\n <b>Endpoint</b>\n </td>\n </tr>\n <tr>\n <td>Cardano mainnet</td>\n <td>\n <code>https://cardano-mainnet.blockfrost.io/api/v0</code>\n </td>\n </tr>\n <tr>\n <td>Cardano preprod</td>\n <td>\n <code>https://cardano-preprod.blockfrost.io/api/v0</code>\n </td>\n </tr>\n <tr>\n <td>Cardano preview</td>\n <td>\n <code>https://cardano-preview.blockfrost.io/api/v0</code>\n </td>\n </tr>\n <tr>\n <td>Midnight mainnet</td>\n <td>\n <code>https://midnight-mainnet.blockfrost.io/api/v0</code>\n </td>\n </tr>\n <tr>\n <td>InterPlanetary File System</td>\n <td>\n <code>https://ipfs.blockfrost.io/api/v0</code>\n </td>\n </tr>\n </tbody>\n</table>\n\n## Concepts\n\n* All endpoints return either a JSON object or an array.\n* Data is returned in *ascending* (oldest first, newest last) order, if not stated otherwise.\n * You might use the `?order=desc` query parameter to reverse this order.\n* By default, we return 100 results at a time. You have to use `?page=2` to list through the results.\n* All time and timestamp related fields (except `server_time`) are in seconds of UNIX time.\n* All amounts are returned in Lovelaces, where 1 ADA = 1 000 000 Lovelaces.\n* Addresses, accounts and pool IDs are in Bech32 format.\n* All values are case sensitive.\n* All hex encoded values are lower case.\n* Examples are not based on real data. Any resemblance to actual events is purely coincidental.\n* We allow to upload files up to 100MB of size to IPFS. This might increase in the future.\n* Only pinned IPFS files are counted towards the IPFS quota.\n* Non-pinned IPFS files are subject to regular garbage collection and will be removed unless pinned.\n* We allow maximum of 100 queued pins per IPFS user.\n\n## Errors\n\n### HTTP Status codes\n\nThe following are HTTP status code your application might receive when reaching Blockfrost endpoints and\nit should handle all of these cases.\n\n* HTTP `400` return code is used when the request is not valid.\n* HTTP `402` return code is used when the projects exceed their daily request limit.\n* HTTP `403` return code is used when the request is not authenticated.\n* HTTP `404` return code is used when the resource doesn't exist.\n* HTTP `418` return code is used when the user has been auto-banned for flooding too much after previously receiving error code `402` or `429`.\n* HTTP `425` return code is used in Cardano networks, when the user has submitted a transaction when the mempool is already full, not accepting new txs straight away.\n* HTTP `425` return code is used in IPFS network, when the user has submitted a pin when the pin queue is already full, not accepting new pins straight away.\n* HTTP `429` return code is used when the user has sent too many requests in a given amount of time and therefore has been rate-limited.\n* HTTP `500` return code is used when our endpoints are having a problem.\n\n### Error codes\n\nAn internal error code number is used for better indication of the error in question. It is passed using the following payload.\n\n```json\n{\n \"status_code\": 403,\n \"error\": \"Forbidden\",\n \"message\": \"Invalid project token.\"\n}\n```\n## Limits\n\nThere are two types of limits we are enforcing:\n\nThe first depends on your plan and is the number of request we allow per day. We defined the day from midnight to midnight of UTC time.\n\nThe second is rate limiting. We limit an end user, distinguished by IP address, to 10 requests per second. On top of that, we allow\neach user to send burst of 500 requests, which cools off at rate of 10 requests per second. In essence, a user is allowed to make another\nwhole burst after (currently) 500/10 = 50 seconds. E.g. if a user attempts to make a call 3 seconds after whole burst, 30 requests will be processed.\nWe believe this should be sufficient for most of the use cases. If it is not and you have a specific use case, please get in touch with us, and\nwe will make sure to take it into account as much as we can.\n\n## SDKs\n\nWe support a number of SDKs that will help you in developing your application on top of Blockfrost.\n\n<table>\n <tbody>\n <tr>\n <td><b>Programming language</b></td>\n <td><b>SDK</b></td>\n </tr>\n <tr>\n <td>JavaScript</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-js\">blockfrost-js</a>\n </td>\n </tr>\n <tr>\n <td>Haskell</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-haskell\">blockfrost-haskell</a>\n </td>\n </tr>\n <tr>\n <td>Python</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-python\">blockfrost-python</a>\n </td>\n </tr>\n <tr>\n <td>Rust</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-rust\">blockfrost-rust</a>\n </td>\n </tr>\n <tr>\n <td>Golang</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-go\">blockfrost-go</a>\n </td>\n </tr>\n <tr>\n <td>Ruby</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-ruby\">blockfrost-ruby</a>\n </td>\n </tr>\n <tr>\n <td>Java</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-java\">blockfrost-java</a>\n </td>\n </tr>\n <tr>\n <td>Scala</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-scala\">blockfrost-scala</a>\n </td>\n </tr>\n <tr>\n <td>Swift</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-swift\">blockfrost-swift</a>\n </td>\n </tr>\n <tr>\n <td>Kotlin</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-kotlin\">blockfrost-kotlin</a>\n </td>\n </tr>\n <tr>\n <td>Elixir</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-elixir\">blockfrost-elixir</a>\n </td>\n </tr>\n <tr>\n <td>.NET</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-dotnet\">blockfrost-dotnet</a>\n </td>\n </tr>\n <tr>\n <td>Arduino</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-arduino\">blockfrost-arduino</a>\n </td>\n </tr>\n <tr>\n <td>PHP</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-php\">blockfrost-php</a>\n </td>\n </tr>\n <tr>\n <td>Crystal</td>\n <td>\n <a href=\"https://github.com/blockfrost/blockfrost-crystal\">blockfrost-crystal</a>\n </td>\n </tr>\n </tbody>\n</table>\n\n\n## Midnight API\n\n\nThe Midnight Indexer API exposes a GraphQL API that enables clients to query and subscribe to blockchain data — blocks, transactions, contracts, and wallet-related events — indexed from the Midnight blockchain.\n\nAvailable networks: `mainnet`, `preprod`, `preview`\n\n| Service | URL | Protocol |\n|---------|-----|----------|\n| **Indexer HTTP API** | `https://midnight-{network}.blockfrost.io/api/v0` | HTTP POST (GraphQL) |\n| **Indexer Subscriptions API** | `wss://midnight-{network}.blockfrost.io/api/v0/ws` | WebSocket |\n| **Node RPC** | `https://rpc.midnight-{network}.blockfrost.io` | JSON-RPC |\n\n\nFor the full documentation — queries, mutations, subscriptions, authentication options, and examples — see the Midnight GraphQL API Reference:\n\n[](./midnight/)\n"
servers:
- url: https://cardano-mainnet.blockfrost.io/api/v0
description: Cardano Mainnet network
- url: https://cardano-preprod.blockfrost.io/api/v0
description: Cardano Preprod network
- url: https://cardano-preview.blockfrost.io/api/v0
description: Cardano Preview network
- url: https://localhost:3000
description: local
security:
- project_id: []
tags:
- name: Cardano » Mempool
paths:
/mempool:
get:
tags:
- Cardano » Mempool
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<p>\n <span class=\"hosted\">Hosted</span> Endpoint only available for hosted variant.\n</p>\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.
- 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: '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.\n\n<p>\n <span class=\"hosted\">Hosted</span> Endpoint only available for hosted variant.\n</p>\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: 6e5f825c42c1c6d6b77f2a14092f3b78c8f1b66db6f4cf8caec1555b6f967b3b
responses:
'200':
description: Return the contents of the transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/mempool_tx_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/addresses/{address}:
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.\nShows only transactions submitted via Blockfrost.io.\n\n<p>\n <span class=\"hosted\">Hosted</span> Endpoint only available for hosted variant.\n</p>\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
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: '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_addresses_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'
components:
responses:
'500':
description: Internal Server Error
content:
application/json:
schema:
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
'429':
description: Usage limit reached
content:
application/json:
schema:
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
'403':
description: Authentication secret is missing or invalid
content:
application/json:
schema:
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':
description: Component not found
content:
application/json:
schema:
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
'400':
description: Bad request
content:
application/json:
schema:
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
'418':
description: IP has been auto-banned for extensive sending of requests after usage limit has been reached
content:
application/json:
schema:
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
schemas:
mempool_addresses_content:
type: array
items:
type: object
properties:
tx_hash:
type: string
description: Hash of the transaction
required:
- tx_hash
example:
- tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0
mempool_content:
type: array
items:
type: object
properties:
tx_hash:
type: string
description: Hash of the transaction
required:
- tx_hash
example:
- tx_hash: 1a0570af966fb355a7160e4f82d5a80b8681b7955f5d44bec0dce628516157f0
mempool_tx_content:
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
securitySchemes:
project_id:
type: apiKey
in: header
name: project_id
description: 'There are multiple token types available based on network you choose
when creating a Blockfrost a project, for a list of token types
see available networks.
'