@arkade-os/sdk Documentation - v0.5.0-rc.11
    Preparing search index...

    Interface PaymentRequest

    Mirrors Recipient: an Arkade address is the same string for BTC and for an asset, so the AMOUNT names the asset, never the target.

    interface PaymentRequest {
        amount?: number;
        assets?: Asset[];
        raw: string;
        selectedVtxos?: NormalizedExtendedVirtualCoin[];
    }
    Index

    Properties

    amount?: number

    Explicit sats; supplements/overrides any amount encoded in raw.

    assets?: Asset[]

    — provisional, see RouteQuote.assets.

    Additive: an asset transfer also moves sats, so a 500 USDX request legitimately has both. A rail that cannot deliver assets must REFUSE.

    raw: string

    Raw target: bare address/invoice, or a BIP21 URI.

    Spend exactly these virtual outputs, with the meaning SendParams.selectedVtxos already gives it: taken as given, so a shortfall is an error rather than a top-up, and ungated like settle({ inputs }). Normalized, i.e. what getSpendableVtxos() returns.

    Only the rails spending the wallet's own coins can honour it (ark, ark-asset, onchain). A rail funding its payment through a counterparty picks its own inputs, so it must REFUSE rather than ignore the selection.