Skip to main content

child-inscription

Parent-child Ordinals inscriptions — estimate fees, broadcast commit tx, and reveal child inscription establishing on-chain provenance per the Ordinals provenance spec.

Jump to install

Source facts

Repository
aibtcdev/skills
Last source activity
March 23, 2026 at 05:43
Detected SKILL.md language
English
Stars
10
Forks
44

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
child-inscription
description
Parent-child Ordinals inscriptions — estimate fees, broadcast commit tx, and reveal child inscription establishing on-chain provenance per the Ordinals provenance spec.
metadata
{"author":"tfibtcagent","author-agent":"Secret Dome","user-invocable":"false","arguments":"estimate | inscribe | reveal","entry":"child-inscription/child-inscription.ts","mcp-tools":"estimate_child_inscription_fee, inscribe_child, inscribe_child_reveal","requires":"wallet","tags":"l1, write, requires-funds"}
# Child Inscription Skill Creates parent-child Ordinals inscriptions per the [Ordinals provenance spec](https://docs.ordinals.com/inscriptions/provenance.html). The inscription owner spends the parent UTXO in the reveal transaction, embedding a pointer that establishes on-chain provenance for the child. - **estimate** — Read-only fee calculation, no wallet required. - **inscribe** — Step 1 commit transaction, requires an unlocked wallet with BTC. - **reveal** — Step 2 reveal transaction, requires the commit tx to be confirmed. ## Usage ``` bun run child-inscription/child-inscription.ts <subcommand> [options] ``` ## Subcommands ### estimate Calculate the total cost (commit fee + reveal amount) for a child inscription without broadcasting anything. ``` bun run child-inscription/child-inscription.ts estimate \ --parent-id <inscription-id> \ --content-type <mime> \ --content <string> ``` Options: - `--parent-id` (required) — Parent inscription ID, e.g. `abc123...i0` - `--content-type` (required) — MIME type, e.g. `text/plain` or `image/png` - `--content` (required) — Content as a UTF-8 string (base64-encoded internally) - `--fee-rate` (optional) — Fee rate in sat/vB; defaults to current mempool medium fee Output: ```json { "parentId": "abc123...i0", "contentType": "text/plain", "contentSize": 42, "feeRate": 12, "fees": { "commitFee": 1440, "revealFee": 2100, "revealAmount": 3394, "totalCost": 4834 }, "breakdown": "Commit tx: 1440 sats | Reveal amount: 3394 sats (includes 2100 reveal fee) | Total: 4834 sats" } ``` ### inscribe Broadcast the commit transaction (Step 1). The commit locks funds into a pay-to-taproot address encoding the inscription script. After this confirms, run `reveal`. ``` bun run child-inscription/child-inscription.ts inscribe \ --parent-id <inscription-id> \ --content-type <mime> \ --content <string> \ [--fee-rate <sats-per-vbyte>] ``` Options: - `--parent-id` (required) — Parent inscription ID. Your wallet must own this inscription (verified on-chain). - `--content-type` (required) — MIME type of the child content. - `--content` (required) — Child content as a UTF-8 string. - `--fee-rate` (optional) — Fee rate: `fast`, `medium`, `slow`, or an integer in sat/vB (default: `medium`). Output: ```json { "status": "commit_broadcast", "commitTxid": "deadbeef...", "commitExplorerUrl": "https://mempool.space/tx/deadbeef...", "revealAddress": "bc1p...", "revealAmount": 3394, "commitFee": 1440, "feeRate": 12, "parentInscriptionId": "abc123...i0", "contentType": "text/plain", "contentSize": 42, "nextStep": "After commit confirms, call reveal with commitTxid and revealAmount from this response." } ``` ### reveal Broadcast the reveal transaction (Step 2). This spends the commit output and the parent UTXO simultaneously, creating the child inscription and returning the parent to your address. **Wait for the commit tx to confirm before calling this.** ``` bun run child-inscription/child-inscription.ts reveal \ --commit-txid <txid> \ --vout <num> ``` Options: - `--commit-txid` (required) — Txid of the confirmed commit transaction (from the `inscribe` step). - `--vout` (required) — Output index of the commit transaction (almost always `0`). Note: Content, content-type, parent-id, and reveal-amount are read from the `.child-inscription-state.json` file written by the `inscribe` subcommand. Output: ```json { "status": "success", "inscriptionId": "revealthash...i0", "parentInscriptionId": "abc123...i0", "contentType": "text/plain", "contentSize": 42, "commit": { "txid": "deadbeef...", "explorerUrl": "https://mempool.space/tx/deadbeef..." }, "reveal": { "txid": "revealthash...", "fee": 2100, "explorerUrl": "https://mempool.space/tx/revealthash..." }, "recipientAddress": "bc1p..." } ``` ## Notes - Always run `estimate` first to understand total cost before committing funds. - The `inscribe` subcommand writes a `.child-inscription-state.json` file in the current working directory. Do not delete it before running `reveal`. - The parent inscription must remain at your Taproot address between the `inscribe` and `reveal` steps. Do not transfer the parent during this window. - Content is encoded as UTF-8 and base64-encoded before being passed to the MCP tool. Binary content (images etc.) should be supplied pre-encoded. - Wallet operations require an unlocked wallet (`bun run wallet/wallet.ts unlock` first). - All operations target Bitcoin mainnet by default (controlled by the `NETWORK` environment variable).
View on GitHub