Estimate Rune Etch Order

Use this endpoint to estimate the cost of a Rune Etch order, before executing it.

Quick Start

post

Estimate the total cost for an etching order.

Authorizations
x-api-keystringRequired
Body
runeNamestringRequired
divisibilitynumber · max: 38Optional
symbolstring · max: 1Optional
preminestringOptional
isMintablebooleanRequired
delegateInscriptionIdstringOptional
destinationAddressstringRequired
refundAddressstringOptional
feeRatenumber · min: 1Required
appServiceFeenumberOptional
appServiceFeeAddressstringOptional
turbobooleanOptional
Responses
200

Default Response

application/json
post
/v1/runes-managed/etch/estimate
POST /v1/runes-managed/etch/estimate HTTP/1.1
Host: api.secretkeylabs.io
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 428

{
  "runeName": "text",
  "divisibility": 1,
  "symbol": "text",
  "premine": "text",
  "isMintable": true,
  "terms": {
    "amount": "text",
    "cap": "text",
    "heightStart": "text",
    "heightEnd": "text",
    "offsetStart": "text",
    "offsetEnd": "text"
  },
  "inscriptionDetails": {
    "contentType": "text",
    "contentBase64": "text"
  },
  "delegateInscriptionId": "text",
  "destinationAddress": "text",
  "refundAddress": "text",
  "feeRate": 1,
  "appServiceFee": 1,
  "appServiceFeeAddress": "text",
  "turbo": true
}
200

Default Response

{
  "totalSize": 1,
  "totalCost": 1,
  "costBreakdown": {
    "postage": 1,
    "networkFee": 1,
    "serviceFee": 1,
    "appServiceFee": 1
  }
}

Estimate Rune Etch Order - Request

You can specify the characteristics of the Runes Etch order you wish to estimate, by passing a request body, with the below properties:

Estimate Etch - Request Body
Description

runeName

a string representing the name of the Rune to etch

divisibility (ℹ️ optional)

a number representing the rune's divisibility, i.e. how finely it may be divided into its atomic units. Divisibility is expressed as the number of digits permissible after the decimal point in an amount of runes. The default value is 0.

symbol (ℹ️ optional)

a string representing the rune's currency symbol as a single . If a rune does not have a symbol, the generic currency sign ¤, also called a scarab, should be used

premine (ℹ️ optional)

a string representing rune premine: the amount of rune units which the etcher can optionally allocate to themselves.

isMintable

a boolean indicating if the rune may have an open mint, allowing anyone to create and allocate units of that rune for themselves.

terms (ℹ️ optional)

an object describing the terms governing minting if the rune is mintable, with the below properties:

  • amount a string representing the fixed amount of new units of the rune that each mint transaction creates

  • cap a string representing the number of times a rune may be minted.

  • heightStart the mint is open starting in the block with the given start height. ℹ️Optional

  • heightEnd the rune may not be minted in or after the block with the given end height. ℹ️Optional

  • offsetStart the mint is open starting in the block whose height is equal to the start offset plus the height of the block in which the rune was etched. ℹ️Optional

  • offsetEnd the rune may not be minted in or after the block whose height is equal to the end offset plus the height of the block in which the rune was etched. ℹ️Optional

inscriptionDetails (ℹ️ optional)

You can optionally use the Rune etching transactions to inscribe some content for your user: - the inscription will be sent to the specified destinationAddress, along with the etched Runes - the etched Runes will be linked to the inscription If you wish to use that option, pass an inscriptionDetails object with the below properties to specify the content to inscribe:

  • contentType a string representing the content/mime type of the content being inscribed. Make sure you extract and pass the correct content type for the content you wish to inscribe

  • contentBase64 a string representing the content you wish to inscribe, encoded in Base64 format

delegateInscriptionId (ℹ️ optional)

If you wish to use the Rune etching transactions to create an inscription, you can optionally nominate a delegate for your inscription, as an alternative to specifying its content with inscriptionDetail (see above)

You can instead choose to pass a delegateInscriptionId string representing the serialized binary inscription ID of the delegate.

turbo (ℹ️ optional)

a boolean marking the rune etching as opting into future rune protocol changes if set to true According to the Runes specifications: These protocol changes may increase light client validation costs, or just be highly degenerate ℹ️the default value is false

destinationAddress

The Bitcoin address to which the minted runes should be allocated. ⚠️ When minting Runes for your user, we recommend managing runes holdings on taproot/ordinal addresses.

feeRate

a number representing the desired fee rate to set for the Rune etch transactions, in sats per vbytes

appServiceFee (ℹ️ optional)

a number representing the sats value of the fee to charge your user for your service.

appServiceFeeAddress (ℹ️ optional)

a string representing the Bitcoin address which will receive the appServiceFee, if a fee is specified

network (ℹ️ optional)

a string representing the Bitcoin network to use for the etch transactions: 'Mainnet' or 'Testnet'

Estimate Rune Etch Order - Response

The response object is intended for you and your user to anticipate the costs of your specified etch order, with a clear breakdown:

Estimate Etch - Response Object
Description

totalSize

a number representing the total size of the etch transactions, in vbytes

totalCost

a number representing the total cost of the etch transactions in sats

costBreakdown

An object representing the cost breakdown of the etch transactions, with the below properties:

  • postage a number representing the total size of the Rune UTXOs etched, in sats

  • networkFee a number representing the total network fee for the etch transactions, in sats

  • serviceFee a number representing the total Sats Connect fee for processing the etch order, in sats

  • appServiceFee a number representing the optional service fee your app charges the user for the etch order

Next Step -> Create Mint Order

Use the Create Etch Order endpoint if you wish to proceed with a Runes Etch order after estimating its cost.

Last updated