Bitcoin UI
Use copy-owned Bitcoin components from dennisonbertram/bitcoin-ui. Keep the
application's data source explicit: components render caller-supplied data and
must not silently choose a node, indexer, or API.
Install
Confirm that the project has a valid shadcn components.json. Select the
smallest useful registry item.
Full component suite:
npx shadcn@latest add dennisonbertram/bitcoin-ui/bitcoin-ui
Composed explorer:
npx shadcn@latest add dennisonbertram/bitcoin-ui/bitcoin-explorer
Individual component:
npx shadcn@latest add dennisonbertram/bitcoin-ui/transaction-flow
Use npx shadcn@latest list dennisonbertram/bitcoin-ui to discover every item.
Integrate
- Inspect the installed source before editing it.
- Import from the generated
components/bitcoinfiles using the project's configured aliases. - Pass node or indexer results through props. Keep fetching and trust decisions in the application.
- Use
bigintfor satoshi values at application boundaries. - Use
unstyledwhen the project owns presentation; retain native semantics, ARIA, anddata-slothooks. - Preserve Bitcoin terminology:
- UTXOs are consumed and created by transactions.
- Merkle proofs commit transaction IDs to a block's Merkle root.
- The canonical branch is selected by accumulated proof of work, not block count alone.
- Bitcoin does not reward uncle blocks.
Verify
Run the consuming project's lint, typecheck, and tests. Exercise interactive
components with keyboard input and verify both default and unstyled modes when
either mode is used.