Welcome to Coin Smith. While originally built as an advanced Partially Signed Bitcoin Transaction (PSBT) engine, this tool is designed to be your daily driver for constructing, analyzing, and broadcasting secure Bitcoin transactions.
This manual will walk you through how to use Coin Smith in your day-to-day crypto life, from basic payments to advanced fee optimization and air-gapped security.
Before you begin, ensure you have Node.js (v14 or higher) installed on your machine.
Step-by-Step Setup:
- Clone the repository to your local machine:
git clone <repository_url> cd coin-smith
- Install the dependencies:
npm install
- Start the local Web Interface:
./web.sh # Or simply: node server.js - Open your browser and navigate to
http://localhost:3000.
You need to pay a vendor or send funds to a cold storage address, but you want to ensure the fee is optimal and your change is securely routed.
- Load your UTXO Data: In a real-world scenario, you would export your available UTXOs from your watch-only wallet (like Sparrow or Electrum) as a JSON object matching the Coin Smith fixture format.
- Import to Coin Smith: Drag and drop this JSON file into the dashed Dropzone at the top of the interface, or click it to browse for your file.
- Review the Build: The system will automatically select the best coins using Greedy, Branch and Bound, or Knapsack algorithms.
- Inspect the Flow: Scroll down to the visual Flow Container. Verify your inputs on the left. Verify that the correct amount is matching your target
PAYMENTaddress on the right, and that the remaining balance is safely routed to yourCHANGEaddress. - Sign & Broadcast:
- Paste your Private Key (WIF format) into the secure signing box.
- Click "Sign TX".
- Click "Broadcast to Mempool.space" to publish your transaction directly to the global network.
You sent a transaction yesterday with a low fee (e.g., 2 sat/vB) and it has been stuck in the mempool due to a sudden spike in network congestion.
- Configure a CPFP Fixture: Create a JSON input that includes your stuck transaction's details (its TxID as an input, and the
stuck_tx_vbytesandstuck_tx_feemetadata). - Activate Accelerator Mode: At the top of the Coin Smith UI, toggle the mode from standard mapping to Child-Pays-For-Parent (CPFP) Accelerator.
- Analyze the Package Rate: Load your fixture. Coin Smith will calculate the exact mathematical fee required on your new transaction to compensate for the stuck parent.
- Execute: The builder will intentionally overpay the fee on the new transaction. By signing and broadcasting this child block, miners will be mathematically incentivized to mine both your stuck transaction and your new transaction together.
Your wallet has fragmented into tiny UTXOs. When making a payment, you notice the network fee is consuming an unreasonable percentage of your transaction.
- Hover the Byte Breakdown: While building your transaction, hover over the Interactive Byte Breakdown bar.
- Identify The Leak: Look at the neon yellow "Outputs" section. You might see a tiny Change output that is actually costing you more in satoshis to create (due to added byte size) than it holds in value.
- Activate Dust Donation: Toggle the "Automatically donate dust change to miners" checkbox in the Fee overview card.
- Observe Optimization: Coin Smith will immediately rebuild the transaction, dropping that wasteful change output, thereby shrinking the overall transaction size and lowering your required network fee.
As a daily driver, Coin Smith is built to protect you before you ever make a mistake on-chain.
Before you sign any transaction, always check the Privacy Meter located in the Sign & Broadcast section.
- It actively scans your inputs against your outputs.
- If it detects Address Reuse (using the same receiving address multiple times, severely damaging your anonymity set), the score drops.
- If it detects Change Linkage (routing your change back to the exact same script signature as your inputs), it will throw a severe warning.
For high-net-worth transactions, Coin Smith is designed to never let your private keys touch an internet-connected device.
- Build your transaction on an internet-connected machine.
- Transfer the resulting PSBT (Base64 string) to an entirely offline, air-gapped machine running Coin Smith.
- Import your WIF key on the offline machine and click "Sign TX".
- Click "Show QR". Coin Smith will project the finalized raw Hex transaction as a dense QR code.
- Use your internet-connected smartphone or laptop to scan that QR code and broadcast the hex directly to the network.
If you run a full Bitcoin Core node and prefer verifying operations via the CLI:
- Open the Sign & Broadcast section.
- Click "View Nerd Mode".
- Coin Smith will generate the exact, ready-to-paste Bash commands (like
bitcoin-cli decodepsbtortestmempoolaccept) relative to the exact transaction state currently living in your browser. Paste these into your node terminal to cross-verify the builder's logic independently.