ReadonlyarkReadonlyboardingReadonlycontractOptional ReadonlydelegatorReadonlydustReadonlyidentityReadonlyindexerReadonlynetworkReadonlyoffchainReadonlyonchainReadonlywalletGet the contract script for the wallet's default address. This is the pkScript hex, used to identify the wallet in ContractManager.
Get the ContractManager for managing contracts including the wallet's default address.
The ContractManager handles:
const manager = await wallet.getContractManager();
// Create a contract for a Boltz swap
const contract = await manager.createContract({
label: "Boltz Swap",
type: "vhtlc",
params: { ... },
script: swapScript,
address: swapAddress,
});
// Start watching for events (includes wallet's default address)
const stop = await manager.onContractEvent((event) => {
console.log(`${event.type} on ${event.contractScript}`);
});
Build a map of scriptHex → VtxoScript for all wallet contracts, so VTXOs can be extended with the correct tapscript per contract.
Optionalfilter: GetVtxosFilterGet all pkScript hex strings for the wallet's own addresses (both delegate and non-delegate, current and historical). Falls back to only the current script if ContractManager is not yet initialized.
Staticcreate
Readonly wallet interface for Bitcoin transactions with Ark protocol support.
This interface defines the contract that all wallet implementations must follow. It provides methods for address management, balance checking, virtual UTXO operations, and transaction management including sending, settling, and unrolling.