Table of Contents

Class OnchainSendQuoteProfile

Namespace
NArk.ArkadeIntents.Rfq.Profiles.Onchain
Assembly
NArk.ArkadeIntents.dll

Quote fields of the onchain send profile — compare-only, never trusted.

public sealed class OnchainSendQuoteProfile
Inheritance
OnchainSendQuoteProfile
Inherited Members

Remarks

This corridor has two contracts, one per rail, and the quote describes both. Neither is believed: each is rebuilt locally and the solver's rendering of it is only ever compared against ours.

Properties

HtlcAddress

The solver's derivation of the L1 HTLC address. Compare-only.

public string? HtlcAddress { get; init; }

Property Value

string

HtlcLocktime

The L1 HTLC's absolute refund locktime, unix seconds.

public long? HtlcLocktime { get; init; }

Property Value

long?

Remarks

Must mature before the Arkade covenant's own refund, with margin. The two deadlines in the wrong order is the one failure that can cost both legs at once — see OnchainSendGates.

HtlcPubkey

The solver's x-only key (hex) that reclaims the L1 HTLC once its locktime matures.

public string? HtlcPubkey { get; init; }

Property Value

string

LockupAddress

The solver's derivation of the Arkade covenant's address. Compare-only — check it against your own and refuse to fund on any mismatch.

public string? LockupAddress { get; init; }

Property Value

string

MinConfirmations

How many confirmations the solver's L1 funding needs before it is safe to claim.

public int? MinConfirmations { get; init; }

Property Value

int?

ReceiverPkScript

The solver's own claim destination as a P2TR scriptPubKey (hex), pinned by the Arkade covenant's nonInteractiveClaim leaf.

public string? ReceiverPkScript { get; init; }

Property Value

string

Remarks

Compare-only, but also an input: every leaf feeds the merkle root, so the local reconstruction needs this exact value to reach a matching address. A wrong one costs the solver a spending path and the client nothing.

RefundWithoutReceiverDelay

The exact BIP68 delay, in seconds, the client must put in its Arkade lockup's unilateralRefundWithoutReceiver leaf, when the solver publishes one.

public long? RefundWithoutReceiverDelay { get; init; }

Property Value

long?

Remarks

The same binding field the Lightning send quote carries, and read here for the same reason: this leg funds the same covenant. The reference solver sizes this rung against the quoted horizon on the Lightning leg only, so on this one the field is usually absent and the base ladder stands — but a quote that does publish it derived its address from it, so it is adopted rather than ignored.