@arkade-os/sdk Documentation - v0.4.21
    Preparing search index...

    Interface IWallet

    Core wallet interface for Bitcoin transactions with Arkade protocol support.

    This interface defines the contract that all wallet implementations must follow. It provides methods for address management, balance checking, virtual output operations, and transaction management including sending, settling, and unrolling.

    IReadonlyWallet

    interface IWallet {
        assetManager: IAssetManager;
        identity: Identity;
        getAddress(): Promise<string>;
        getBalance(): Promise<WalletBalance>;
        getBoardingAddress(): Promise<string>;
        getBoardingUtxos(): Promise<ExtendedCoin[]>;
        getContractManager(): Promise<IContractManager>;
        getDelegatorManager(): Promise<IDelegatorManager | undefined>;
        getTransactionHistory(): Promise<ArkTransaction[]>;
        getVtxos(filter?: GetVtxosFilter): Promise<ExtendedVirtualCoin[]>;
        send(...recipients: [Recipient, ...Recipient[]]): Promise<string>;
        sendBitcoin(params: SendBitcoinParams): Promise<string>;
        settle(
            params?: SettleParams,
            eventCallback?: (event: SettlementEvent) => void,
        ): Promise<string>;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Properties

    assetManager: IAssetManager

    Asset manager bound to this wallet instance.

    identity: Identity

    Signing identity associated with the wallet.

    Methods

    • Send bitcoin and/or assets to one or more Arkade recipients.

      Parameters

      Returns Promise<string>

      Arkade transaction id

      await wallet.send({ address: 'ark1q...', amount: 1000 })
      
    • Send bitcoin to a single Arkade address.

      Parameters

      Returns Promise<string>

      Arkade transaction id

      Use send

      • send
      • Recipient
    • Settle boarding inputs and/or preconfirmed virtual outputs into settled virtual outputs.

      Parameters

      • Optionalparams: SettleParams

        Optional explicit settlement inputs and outputs

      • OptionaleventCallback: (event: SettlementEvent) => void

        Optional callback that receives settlement events

      Returns Promise<string>

      Arkade transaction id

      SettleParams