Dogecoin Documentation
The Dogecoin blockchain is a decentralized digital currency network that supports peer-to-peer transactions, leveraging a proof-of-work (POW) consensus mechanism similar to Bitcoin but with quicker block times and a more abundant supply. Originally created as a "meme" cryptocurrency, Dogecoin has gained a large community following and notable market presence.
Dogecoin Web3 API
Welcome to Maestro's Dogecoin Web3 API Reference. You can find below detailed information about all APIs and services available for Dogecoin.
Specific API References
Service | API Reference |
---|---|
Blockchain Indexer | API Reference |
What's new?
Checkout API Change Log for recently added and deprecated endpoints
Dogecoin Networks
The Maestro API is available for the following Dogecoin networks:
Network | Base URL |
---|---|
Mainnet | xdg-mainnet.gomaestro-api.org/v0 |
Testnet | xdg-testnet.gomaestro-api.org/v0 |
API Versions
The Blockchain Indexer API is currently versioned at v0
. When making a query, v0
must be included in your base URL.
OpenAPI
Here is the latest Maestro openapi.json for the Blockchain Indexer API. It includes the RPC API specs.
SDK Language Support
The following SDKs are being prepared:
Typescript
Go
Rust
Reach out to Maestro to promote the SDK language you prefer.
Authentication
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>" \
https://xdg-mainnet.gomaestro-api.org/v0/chain-tip
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 \
https://xdg-mainnet.gomaestro-api.org/v0/submit/tx
Security
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.
- 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 'https://mainnet.gomaestro-api.org/v1/policy/f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a/utxos?cursor=AAAAAALfeKF8btdzaVvkGaetSS7e1AAF' \
-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:
Parameter | Default | Description |
---|---|---|
count | 100 | Defines the max number of results per pagination page |
order | asc | The 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 secondX-RateLimit-Remaining-Second
: number of allowed requests per second remaining in this secondX-Maestro-Credits-Limit
: number of allowed credits todayX-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.
Errors
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
TBD
Change Log
v0.1.02
UPDATED
/addresses/{address}/utxos
UTxOs by Address- Added
filter_dust_threshold
filter to ignore UTxOs containing less than specified shibes
- Added
v0.1.01
UPDATED
/addresses/{address}/utxos
UTxOs by Address- Added
filter_dust
filter to ignore UTxOs containing less than 100000 sats
- Added
v0.1.00
- Inicial release plus misc additions
- RPC Mempool endpoints