Create a Managed Inscription Order
Managed inscriptions are custodial and requires you to wait 1 confirmation for payment transaction. However you can pay with any wallet and use our inventory of special sats to inscribe on.
Use this endpoint to create a "managed" inscription order that will be processed once the related invoice is paid.
Managed Inscription vs Direct Inscriptions
Type | Non-Custodial | Rare Sats | Fees | Speed |
---|---|---|---|---|
No | OrdinalsBot Inventory | Higher due to multiple transactions | Requires 2 confirmations to complete including payment | |
Yes | User's own inventory | Cheaper thanks to chained transactions | Payment and inscription can complete in 1 block |
There's currently a limit of 10000 files per order.
If you choose to send file contents as base64 or text encoded dataURL instead of url (and metadataUrl), there's a limit of 50MB per API call.
Currently only internally hosted URLs are supported so if you're dynamically generating files, send them as
dataURL
which will automatically be uploaded to OrdinalsBot buckets.The
/order
endpoint has a rate limit of maximum of 2 requests every 10 seconds.
POST
a new inscription order
POST
a new inscription orderCreate Order
POST
https://api.ordinalsbot.com/order
Remember to include headers with your POST request:
headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }
Request Body
Name | Type | Description |
---|---|---|
files* | Array | An array of objects that includes: Mandatory name:string; => name of the file including extension. size:number; => size of the file in bytes url:string; => file URL hosted on OrdinalsBot buckets Optional metadataUrl:string; => metadata json file URL hosted on OrdinalsBot buckets metadataSize:number; => size of the metadata file in bytes metaprotocol:string; => Metaprotocol field to be included in the inscription data Note: you can send any dataURL text/json/image/video data in a parameter called
|
delegates* | Array | An array of objects that includes: Mandatory delegateId:string; => inscription ID of the delegate that will be inscribed. Optional metadataUrl:string; => metadata json file URL hosted on OrdinalsBot buckets metadataSize:number; => size of the metadata file in bytes metaprotocol:string; => Metaprotocol field to be included in the inscription data |
receiveAddress* | String|Array | A single Bitcoin address to receive the inscriptions for the whole order OR An array of strings of Bitcoin addresses to receive each corresponding item from files array. |
fee | Number | Miner fee that will be paid while inscribing the ordinals in sats/byte. (default=2 sats/byte) |
lowPostage | Boolean | Inscribe file with minimum postage (padding) 546 sats instead of the standard 10,000 sats. (default=false) |
rareSats | String | Inscribe on a rare, exotic or early sat. Options: block9 | block78 | pizza | uncommon | black | vintage | random Check |
referral | String | Referral code to earn up to %15 of the order base fee. |
additionalFee | Number | Amount of satoshis to charge extra for this order that will be added to "referral" account. Needs to be used together with "referral" parameter. Note: additionalFee is added PER FILE! |
webhookUrl | String | webhook url to receive a POST payload for order updates. Refer to Webhooks for format of the webhook payload |
timeout | Number | Order timeout in minutes. Must be a multiple of 10. Generated payment invoice will be valid for this duration only. Payments that are sent after this will not be processed. Refrain from using too short timeout values and instead use Cancel an order (default=4320) |
compress | Boolean | Enable brotli compression for all of the files in the order. (default=false) |
parent | Object | The parent parent/child orders Mandatory inscriptionId: string -> the inscription ID of the parent returnAddress: string -> the address to send the parent inscription back once the order has been inscribed After the order is paid, the deposit address for the parent will appear under the parent object in a new field depositAddress. See parent-child workflow below for more details. |
batchMode | String | Use batch inscription for this order. Options:
|
Supported file extensions may change. If you include any unsupported files order creation will fail.
Currently Supported files:
'apng', 'flac', 'gif', 'html', 'jpg','jpeg', 'mp3', 'pdf', 'png', 'svg', 'txt', 'wav', 'webm', 'webp', 'mp4', 'stl', 'glb', 'avif', 'yaml' , 'yml', 'asc', 'json', 'js', 'css', 'gz'
Parent-child workflow:
Create an regular inscription order but add a
parent
fieldIn the
parent
you should pass the parent inscription IDinscriptionId
andreturnAddress
Once the order is created and a payment is confirmed a
depositAddress
will appear in theparent
object, you should send the parent thereOnce the parent is confirmed the order will start inscribing
Once done inscribing the parent will be returned to the
returnAddress
specified at order creation
POST
to update order receive address
POST
to update order receive addressUpdate order address
POST
https://api.ordinalsbot.com/address
If an order is placed with a receive address set, this endpoint can be called to update the receive address after the order has been placed.
Request Body
Name | Type | Description |
---|---|---|
orderId* | String | The ID of the order to update |
address* | String | The receive address |
DELETE
to cancel an order
DELETE
to cancel an orderCancel an order
DELETE
https://api.ordinalsbot.com/order
An order can be canceled before the payment is received.
Query Parameters
Name | Type | Description |
---|---|---|
id* | String | Order ID to be cancelled. |
Last updated