Skip to main content

Bitcoin Documentation

The Bitcoin blockchain is the pioneering decentralized ledger technology that facilitates peer-to-peer transactions without the need for a trusted third party, using a proof-of-work (POW) consensus mechanism to validate and record transactions. Known for its security and transparency, Bitcoin has become the most widely recognized and adopted cryptocurrency in the world.

Bitcoin Web3 API

Welcome to Maestro's Bitcoin Web3 API Reference. You can find below detailed information about all APIs and services available for Bitcoin.

Specific API References

ServiceAPI Reference
Blockchain IndexerAPI Reference
Join Beta: [email protected]
Transaction ManagerTBD
Managed ContractsTBD
DeFi Market APITBD
Wallet ManagerTBD

What's new?

Checkout API Change Log for recently added and deprecated endpoints

Bitcoin Networks

The Maestro API is available for the following Bitcoin networks:

NetworkBase URL

API Versions

The Blockchain Indexer API is currently versioned at v0. When making a query, v0 must be included in your base URL.

SDK Language Support

The following SDKs are being prepared:

  • Typescript
  • Go
  • Rust

Reach out to Maestro to promote the SDK language you prefer.


Maestro API authorizes requests using the api-key header. You can obtain this key from the Dapp Platform Dashboard as described here.

Example GET request for retrieving the chain tip:

curl -X GET \
-H "api-key: <your_project_api_key>" \

Example POST request for submitting a transaction:

curl -X POST \
-H "Content-Type: application/cbor" \
-H "api-key: <your_project_api_key>" \
--data @tx.signed \


Ensuring secure communication between your application and Maestro is paramount. This will enforce access control to your Maestro resources.

  • Do not share your api-key in publicly accessible areas such as GitHub, client-side code, etc.
  • Loss or misuse of your api-key may result in the overuse of your account's available credits.
  • We encourage you to research how to securely store and access your api-key either while testing or in production.

Cursor-based Pagination

Some Maestro endpoints implement Cursor-based Pagination to break down large datasets into smaller responses. This method is particularly relevant when returning all the data in a single response would be impractical or slow.

Benefits of Cursor-based Pagination
  • Better data integrity and accuracy when fetching multiple pages
  • Avoids duplicates when blocks get processed between queries
  • Works well with infinite scroll. Loading content as the user scrolls, for a smoother UX.

These Maestro responses will include a next_cursor string property indicating the value that should be included as cursor string in your next request to fetch the next page.

  • If the response for an initial call ended in "next_cursor": "AAAAAALfeKF8btdzaVvkGaetSS7e1AAF"
  • The next call could include that value as Query Parameter cursor
  • By adding ...?cursor=AAAAAALfeKF8btdzaVvkGaetSS7e1AAF to the end of the query
  • Resulting in the endpoint returning the next page of results
curl -L -X GET '' \
-H 'Accept: application/json' \
-H 'api-key: your-api-key'

When a response presents next_cursor of null then the end of the requested dataset has been reached.

Other relevant query parameters are:

count100Defines the max number of results per pagination page
orderascThe order in which the results are sorted. Possible values: [asc, desc]. Only for some endpoints.

Our specific REST API References may include further detail for a specific endpoint.

Compute Credits

Compute Credits is how Maestro quantifies the computational resources utilized by your applications on its platform. They function similar to compute usage on traditional cloud providers like Google Cloud and AWS. The quantity of Compute Credits assigned to each operation or method is calculated based on the global average durations of that method, accounting for factors like complexity and computational intensity.

Learn more about how compute credits are allocated for different API packages in the Subscriptions breakdown.


Why use Compute Credits?

Compute Credits offer a fair and flexible pricing model on Maestro's platform. Developers only pay for the exact computational resources they have used, enhancing efficiency and cost-effectiveness.

Request Limits

Two types of API request rate limits are enforced:

  • Per day: a set amount of credits consumed per day based on the package tier.
  • Per second: a set amount of requests per second based on the package tier.

The base throughput request limit found in the Artist plan is 10 requests per second.

Please see the available Packages for more details or to upgrade your plan. If these limits are insufficient for your organization, please reach out to us to discuss Enterprise solutions.

Response Headers

The following elements are included in the response headers from Maestro:

  • X-RateLimit-Limit-Second: number of allowed requests per second
  • X-RateLimit-Remaining-Second: number of allowed requests per second remaining in this second
  • X-Maestro-Credits-Limit: number of allowed credits today
  • X-Maestro-Credits-Remaining: number of allowed credits remaining today

Please make sure to consider these (in bold) and throttle requests to avoid get rate limiting.


Maestro returns conventional HTTP response codes to indicate the success or failure of an API request:

  • Codes in the 2xx range indicate success.
  • Codes in the 4xx range indicate an error that occurred given the query parameters or request payload (e.g. required parameter was omitted).
  • Codes in the 5xx range indicate an error with Maestro's servers.

Our specific REST API References describe response codes for each endpoint in more detail.

Ongoing Deprecations


Change Log