Table of Contents

Class Bip21PaymentInfo

Namespace
NArk.Abstractions.Payments
Assembly
NArk.Abstractions.dll

Information extracted from a BIP21 URI or raw payment destination. Use Parse(string?) to create from a string, or Create() to build a URI.

public record Bip21PaymentInfo : IEquatable<Bip21PaymentInfo>
Inheritance
Bip21PaymentInfo
Implements
Inherited Members

Properties

Amount

Requested amount in BTC (as specified in BIP21). Use AmountSats for the satoshi equivalent.

public decimal? Amount { get; init; }

Property Value

decimal?

AmountSats

Requested amount in satoshis (derived from Amount).

public ulong? AmountSats { get; }

Property Value

ulong?

ArkAddress

Ark protocol address from the ark query parameter.

public string? ArkAddress { get; init; }

Property Value

string

AssetId

Asset ID from the asset query parameter. Forces Ark-only delivery.

public string? AssetId { get; init; }

Property Value

string

Lightning

BOLT11 Lightning invoice or LNURL from the lightning query parameter.

public string? Lightning { get; init; }

Property Value

string

OnchainAddress

On-chain Bitcoin address from the URI path (may be null for Ark-only URIs).

public string? OnchainAddress { get; init; }

Property Value

string

PreferredMethod

Determines the best payment method based on available fields. Priority: Ark (if ark address or asset present) → Lightning → Chain swap.

public ArkPaymentMethod PreferredMethod { get; }

Property Value

ArkPaymentMethod

QueryParams

All query parameters (including ark, lightning, amount, asset).

public IReadOnlyDictionary<string, string> QueryParams { get; init; }

Property Value

IReadOnlyDictionary<string, string>

Recipient

The best recipient address based on PreferredMethod.

public string? Recipient { get; }

Property Value

string