BitTasker Wallet SDK on Rootstock
BitTasker is a freelance marketplace on Bitcoin and Nostr. The BitTasker app provides an embedded rBTC wallet for the Rootstock Mainnet.
The open-source @bittasker/wallet-core package is the TypeScript SDK behind that wallet.
Install it in your web or mobile app to manage rBTC on Rootstock and route Lightning and Liquid swaps through Boltz.
The SDK also supports Rootstock Testnet and Regtest for development.
For the complete API reference, see the wallet-core repository README.
When to use this SDK
Use @bittasker/wallet-core when you need:
- BIP39/BIP44 HD wallets on Rootstock mainnet, testnet, or regtest
- rBTC balances, transfers, and transaction history on Rootstock
- Lightning and Liquid swaps into rBTC through Boltz
- A TypeScript library for React Native, Capacitor, Ionic, or web
Prerequisites
- Node.js 18+
- A BIP39 mnemonic stored securely (never hardcode in source)
- For testnet work: tRBTC from the faucet
Wallet compatibility
| Feature | Value |
|---|---|
| EIP-55 checksums | Yes |
| Derivation path | m/44'/60'/0'/0/0 |
| Customizable dPath | No |
| Rootstock networks | Mainnet (BitTasker app); Wallet SDK also supports Testnet and Regtest |
| BitTasker app platforms | Android (Google Play, Zapstore), Web (iOS coming soon) |
BitTasker does not currently support MetaMask, hardware wallets, Bitcoin, USDT, or rBTC/USDT swaps. These features are on the roadmap. Check the wallet-core repository for future releases.
Get Started
Installation
npm install @bittasker/wallet-core
Quick Start
Import WalletManager, pass your network and mnemonic, then read balances or send rBTC.
import { WalletManager } from '@bittasker/wallet-core';
const walletManager = new WalletManager({
network: 'testnet',
mnemonic: await getSecureMnemonic(),
});
await walletManager.initialize();
const balances = await walletManager.getBalances();
console.log('rBTC:', balances.rsk.rbtc);
const txHash = await walletManager.rskWallet.send(
'0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
'0.01',
);
console.log('Transaction:', txHash);
Replace getSecureMnemonic() with your app’s secure storage. Load mnemonics from a keystore, OS secure enclave, or equivalent. Do not commit seed phrases to source control.
Read addresses and balances
const addresses = walletManager.getAddresses();
console.log('Rootstock address:', addresses.rsk);
const rskBalance = await walletManager.rskWallet.getBalance();
console.log('Balance:', rskBalance.formatted, 'rBTC');
Custom Rootstock RPC
Point the SDK at your own node or an RPC provider when the default endpoints are not enough.
const walletManager = new WalletManager({
network: 'mainnet',
mnemonic: await getSecureMnemonic(),
rskConfig: {
rpcUrl: 'https://public-node.rsk.co',
explorerApiUrl: 'https://rootstock.blockscout.com/api',
},
});
See Rootstock RPC API for provider options.