Table of Contents

Class ArkPayment

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

Tracks an outbound payment — a send from this wallet to a recipient. Links to the underlying protocol object (intent, swap, or on-chain tx) as proof.

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

Constructors

ArkPayment(string, string, string, ulong, ArkPaymentMethod, ArkPaymentStatus, string?, DateTimeOffset, DateTimeOffset?)

Tracks an outbound payment — a send from this wallet to a recipient. Links to the underlying protocol object (intent, swap, or on-chain tx) as proof.

public ArkPayment(string PaymentId, string WalletId, string Recipient, ulong Amount, ArkPaymentMethod Method, ArkPaymentStatus Status, string? FailReason, DateTimeOffset CreatedAt, DateTimeOffset? CompletedAt)

Parameters

PaymentId string
WalletId string
Recipient string
Amount ulong
Method ArkPaymentMethod
Status ArkPaymentStatus
FailReason string
CreatedAt DateTimeOffset
CompletedAt DateTimeOffset?

Properties

Amount

public ulong Amount { get; init; }

Property Value

ulong

Assets

Assets transferred with this payment. Null for BTC-only payments.

public IReadOnlyList<VtxoAsset>? Assets { get; init; }

Property Value

IReadOnlyList<VtxoAsset>

CompletedAt

public DateTimeOffset? CompletedAt { get; init; }

Property Value

DateTimeOffset?

CreatedAt

public DateTimeOffset CreatedAt { get; init; }

Property Value

DateTimeOffset

FailReason

public string? FailReason { get; init; }

Property Value

string

IntentTxId

Intent transaction ID — set when method is ArkSend.

public string? IntentTxId { get; init; }

Property Value

string

Metadata

Application-level metadata.

public Dictionary<string, string>? Metadata { get; init; }

Property Value

Dictionary<string, string>

Method

public ArkPaymentMethod Method { get; init; }

Property Value

ArkPaymentMethod

OnchainTxId

On-chain transaction ID — set when method is CollaborativeExit.

public string? OnchainTxId { get; init; }

Property Value

string

PaymentId

public string PaymentId { get; init; }

Property Value

string

Recipient

public string Recipient { get; init; }

Property Value

string

Status

public ArkPaymentStatus Status { get; init; }

Property Value

ArkPaymentStatus

SwapId

Swap ID — set when method is SubmarineSwap or ChainSwap.

public string? SwapId { get; init; }

Property Value

string

WalletId

public string WalletId { get; init; }

Property Value

string