ordinals_sdk 1.0.0 copy "ordinals_sdk: ^1.0.0" to clipboard
ordinals_sdk: ^1.0.0 copied to clipboard

A comprehensive Dart SDK for Bitcoin Ordinals, BRC-20 tokens, and inscription management. Supports Taproot inscriptions, PSBT building, and marketplace integration.

Ordinals SDK #

pub package License: MIT

A comprehensive Dart SDK for Bitcoin Ordinals, BRC-20 tokens, and inscription management.

Features #

  • 🔨 PSBT Builder: Build Commit/Reveal transactions for inscriptions
  • 💰 BRC-20 Support: Deploy, mint, and transfer BRC-20 tokens
  • 🖼️ Inscription Management: Create text, image, and JSON inscriptions
  • 🏪 Marketplace Integration: Abstract adapter for multiple marketplaces
  • 🔐 Pure Dart: No Flutter dependency, works everywhere

Installation #

Add this to your pubspec.yaml:

dependencies:
  ordinals_sdk: ^1.0.0

Quick Start #

BRC-20 Tokens #

import 'package:ordinals_sdk/ordinals_sdk.dart';

// Initialize the service
final brc20 = BRC20Service(apiKey: 'your-hiro-api-key');

// Get token information
final tokenResult = await brc20.getToken('ordi');
tokenResult.when(
  success: (token) {
    print('Token: ${token.tick}');
    print('Supply: ${token.mintedSupply}/${token.maxSupply}');
    print('Minted: ${token.mintedPercentage.toStringAsFixed(2)}%');
  },
  failure: (error) => print('Error: $error'),
);

// Get balance
final balance = await brc20.getBalance('bc1q...', 'ordi');
print('Available: ${balance.value.availableBalance}');

// Mint tokens
final mintResult = await brc20.mintToken(
  params: BRC20MintParams(tick: 'ordi', amount: Decimal.parse('1000')),
  privateKeyWif: 'L...',
  address: 'bc1q...',
  utxos: availableUtxos,
  feeRate: 10,
);

Creating Inscriptions #

import 'package:ordinals_sdk/ordinals_sdk.dart';

// Create a text inscription script
final textScript = PSBTBuilder.createTextInscriptionScript(
  'Hello, Ordinals!',
);

// Create an image inscription script
final imageScript = PSBTBuilder.createImageInscriptionScript(
  imageBytes,
  'image/png',
);

// Build the commit transaction
final commitTx = PSBTBuilder.buildCommitTransaction(
  utxos: utxos,
  inscriptionScript: textScript,
  changeAddress: 'bc1q...',
  privateKeyWif: 'L...',
  feeRate: 10,
);

// Build the reveal transaction
final revealTx = PSBTBuilder.buildRevealTransaction(
  commitTxId: commitTxId,
  commitVout: 0,
  inscriptionScript: textScript,
  receiverAddress: 'bc1q...',
  privateKeyWif: 'L...',
  feeRate: 10,
);

Marketplace Integration #

import 'package:ordinals_sdk/ordinals_sdk.dart';

// Implement a custom marketplace adapter
class MyMarketplace implements MarketplaceAdapter {
  @override
  String get name => 'My Marketplace';

  @override
  String get id => 'my-marketplace';

  @override
  String get baseUrl => 'https://api.my-marketplace.com';

  // Implement other methods...
}

// Use the adapter
final marketplace = MyMarketplace();
final listing = await marketplace.getListing('inscription-id');

API Reference #

BRC20Service #

Method Description
getToken(tick) Get token information
getTokens(limit, offset) List all tokens
getBalance(address, tick) Get balance for address
getAllBalances(address) Get all balances
deployToken(params) Deploy new token
mintToken(params) Mint existing token
createTransferInscription(params) Create transfer inscription

PSBTBuilder #

Method Description
buildCommitTransaction(...) Build commit tx for inscription
buildRevealTransaction(...) Build reveal tx for inscription
createTextInscriptionScript(text) Create text inscription
createImageInscriptionScript(data, mime) Create image inscription
createJsonInscriptionScript(json) Create JSON inscription

Supported APIs #

License #

MIT License - see LICENSE for details.

Contributing #

Contributions are welcome! Please read our Contributing Guide for details.

0
likes
110
points
146
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Dart SDK for Bitcoin Ordinals, BRC-20 tokens, and inscription management. Supports Taproot inscriptions, PSBT building, and marketplace integration.

Documentation

API reference

License

MIT (license)

Dependencies

bitcoin_base, collection, crypto, decimal, dio, meta

More

Packages that depend on ordinals_sdk