Table of Contents

Class OnchainSendProfile

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

The arkade:BTC->onchain:BTC profile: off-board an Arkade balance to Bitcoin L1.

public static class OnchainSendProfile
Inheritance
OnchainSendProfile
Inherited Members

Remarks

Two contracts on two rails, linked by one secret. The client funds an Arkade covenant; the solver funds an L1 HTLC paying the client; the client claims on L1 by revealing the preimage, and that reveal is what lets the solver take the Arkade side. Neither party is ever owed anything on trust.

The client picks the preimage because the client moves first. Funding Arkade before the solver has funded L1 is the exposed position, and holding the secret is what makes it safe: nothing the solver does can take the Arkade side until the client has been paid on L1.

Fields

Pair

The pair this profile negotiates.

public const string Pair = "arkade:BTC->onchain:BTC"

Field Value

string

Methods

Request(long, RfqAmountSide, string, string, string, string, string?)

Build an off-board request.

public static RfqRequest<OnchainSendRequestProfile> Request(long amountSats, RfqAmountSide amountSide, string paymentHash, string payoutPubkey, string refundAddress, string clientRefundPubkey, string? rfqId = null)

Parameters

amountSats long

The size being traded, on the leg amountSide names.

amountSide RfqAmountSide

Which leg amountSats pins: To for what lands on L1, From for what leaves the Arkade balance.

paymentHash string

SHA-256 of the client's own preimage (hex).

payoutPubkey string

The client's x-only key (hex) that claims the L1 HTLC.

refundAddress string

The client's Arkade address the covenant refunds to.

clientRefundPubkey string

The client's x-only key (hex) for the covenant's refund leaves.

rfqId string

The correlation id; a fresh one is generated when omitted.

Returns

RfqRequest<OnchainSendRequestProfile>

The request payload, ready for a transport.