BRC-20 Minting PSBT Deep Dive

A comprehensive guide to constructing Partially Signed Bitcoin Transactions for BRC-20 token minting

PSBT Format Fundamentals (BIP-174 & BIP-370)

Understanding the core concepts of Partially Signed Bitcoin Transactions

Core Concepts

  • PSBT Purpose: Partially Signed Bitcoin Transaction - enables multi-party signing
  • Key Components: Global transaction data, per-input data, per-output data
  • Version Differences: PSBT v0 vs v2 (BIP-370) improvements
  • Role in Ordinals/BRC-20: Enables inscription creation without full UTXO control

BRC-20 Specific PSBT Structure

PSBT Structuretext
Global PSBT:
  version: 2
  inputs_count: 1
  outputs_count: 3
  
Input 0 (User's UTXO):
  previous_txid: <funding_transaction_id>
  output_index: <vout_index>
  sequence: 0xFFFFFFFD (for RBF)
  witness_utxo: <value and scriptPubKey>
  taproot_internal_key: (if Taproot)
  sighash_type: SIGHASH_ALL

Output 0 (Inscription):
  script: OP_RETURN <ordinal_protocol_prefix> <brc20_mint_json>
  value: 0
  
Output 1 (Receiver):
  script: <taproot_address_script>
  value: 546 (dust limit)
  
Output 2 (Change):
  script: <user_change_address>
  value: <input_value - 546 - fees>