Table of Contents

Class PendingOnchainReceive

Namespace
NArk.ArkadeIntents.Onchain
Assembly
NArk.ArkadeIntents.dll

A negotiated on-board, waiting for its L1 HTLC to be funded.

public sealed record PendingOnchainReceive : IEquatable<PendingOnchainReceive>
Inheritance
PendingOnchainReceive
Implements
Inherited Members

Constructors

PendingOnchainReceive(string, RfqQuote<OnchainReceiveQuoteProfile>, string, long, long, int, string, string, byte[], VHTLCv2Contract, string)

A negotiated on-board, waiting for its L1 HTLC to be funded.

public PendingOnchainReceive(string RfqId, RfqQuote<OnchainReceiveQuoteProfile> Quote, string HtlcAddress, long FundAmountSats, long HtlcLocktime, int MinConfirmations, string LockupAddress, string PaymentHash, byte[] Preimage, VHTLCv2Contract Contract, string PayoutAddress)

Parameters

RfqId string

The negotiation, and the swap's id.

Quote RfqQuote<OnchainReceiveQuoteProfile>

The terms, as accepted.

HtlcAddress string

The Bitcoin L1 address to send FundAmountSats to. Fund this and nothing else: it was derived here, not taken from the quote.

FundAmountSats long

What the L1 funding must carry, in sats — exactly this, in exactly one output. See ReceiveFromOnchainAsync(string, long, IRfqTransport, string?, BitcoinAddress, RfqAmountSide, SolverCard?, ArkContract?, CancellationToken) for what a near miss costs.

HtlcLocktime long

Unix seconds at which the L1 refund leaf opens — the way out.

MinConfirmations int

Confirmations the solver waits for before it funds Arkade.

LockupAddress string

The Arkade covenant the solver will fund, and we will claim.

PaymentHash string

sha256(Preimage), hex.

Preimage byte[]

The secret that settles both rails. Linked routes reuse caller-owned P, which requires retained SDK intent storage rather than wallet-only recovery.

Contract VHTLCv2Contract

The Arkade covenant, derived locally.

PayoutAddress string

Arkade claim destination: the wallet or a linked outgoing lock L.

Properties

Contract

The Arkade covenant, derived locally.

public VHTLCv2Contract Contract { get; init; }

Property Value

VHTLCv2Contract

FundAmountSats

What the L1 funding must carry, in sats — exactly this, in exactly one output. See ReceiveFromOnchainAsync(string, long, IRfqTransport, string?, BitcoinAddress, RfqAmountSide, SolverCard?, ArkContract?, CancellationToken) for what a near miss costs.

public long FundAmountSats { get; init; }

Property Value

long

HtlcAddress

The Bitcoin L1 address to send FundAmountSats to. Fund this and nothing else: it was derived here, not taken from the quote.

public string HtlcAddress { get; init; }

Property Value

string

HtlcLocktime

Unix seconds at which the L1 refund leaf opens — the way out.

public long HtlcLocktime { get; init; }

Property Value

long

LockupAddress

The Arkade covenant the solver will fund, and we will claim.

public string LockupAddress { get; init; }

Property Value

string

MinConfirmations

Confirmations the solver waits for before it funds Arkade.

public int MinConfirmations { get; init; }

Property Value

int

PaymentHash

sha256(Preimage), hex.

public string PaymentHash { get; init; }

Property Value

string

PayoutAddress

Arkade claim destination: the wallet or a linked outgoing lock L.

public string PayoutAddress { get; init; }

Property Value

string

Preimage

The secret that settles both rails. Linked routes reuse caller-owned P, which requires retained SDK intent storage rather than wallet-only recovery.

public byte[] Preimage { get; init; }

Property Value

byte[]

Quote

The terms, as accepted.

public RfqQuote<OnchainReceiveQuoteProfile> Quote { get; init; }

Property Value

RfqQuote<OnchainReceiveQuoteProfile>

RfqId

The negotiation, and the swap's id.

public string RfqId { get; init; }

Property Value

string