Table of Contents

Class SettlementRequest

Namespace
NArk.Abstractions.Settlement
Assembly
NArk.Abstractions.dll

A single settlement execution: move Amount of SourceAsset out of WalletId to Destination.

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

Constructors

SettlementRequest(string, long, SettlementDestination, string, IReadOnlyCollection<ArkCoin>?, string?)

A single settlement execution: move Amount of SourceAsset out of WalletId to Destination.

public SettlementRequest(string WalletId, long Amount, SettlementDestination Destination, string SourceAsset = "BTC", IReadOnlyCollection<ArkCoin>? Coins = null, string? Reference = null)

Parameters

WalletId string

The wallet the funds leave.

Amount long

Amount to settle, in SourceAsset's atomic units — satoshis for BTC. Must be positive.

Destination SettlementDestination

Where the funds go.

SourceAsset string

What leaves the wallet: Btc (the default) or the id of an Arkade-issued asset. A rail that only moves value keeps the destination asset equal to this; a rail that converts (a swap, an exchange) reads both sides and reports what arrived in DestinationAtomicAmount.

Coins IReadOnlyCollection<ArkCoin>

The exact coins to spend. Supplied when a policy already picked them (the sweep path); null leaves coin selection to the settlement implementation.

Reference string

Optional caller-supplied correlation id (a store id, an invoice id) carried through logs and PostSettlementActionEvent. The SDK never interprets it.

Properties

Amount

Amount to settle, in SourceAsset's atomic units — satoshis for BTC. Must be positive.

public long Amount { get; init; }

Property Value

long

Coins

The exact coins to spend. Supplied when a policy already picked them (the sweep path); null leaves coin selection to the settlement implementation.

public IReadOnlyCollection<ArkCoin>? Coins { get; init; }

Property Value

IReadOnlyCollection<ArkCoin>

Destination

Where the funds go.

public SettlementDestination Destination { get; init; }

Property Value

SettlementDestination

IsBtc

True when this settlement moves BTC rather than an Arkade-issued asset.

public bool IsBtc { get; }

Property Value

bool

Reference

Optional caller-supplied correlation id (a store id, an invoice id) carried through logs and PostSettlementActionEvent. The SDK never interprets it.

public string? Reference { get; init; }

Property Value

string

SourceAsset

What leaves the wallet: Btc (the default) or the id of an Arkade-issued asset. A rail that only moves value keeps the destination asset equal to this; a rail that converts (a swap, an exchange) reads both sides and reports what arrived in DestinationAtomicAmount.

public string SourceAsset { get; init; }

Property Value

string

WalletId

The wallet the funds leave.

public string WalletId { get; init; }

Property Value

string