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
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
amountSatslongThe size being traded, on the leg
amountSidenames.amountSideRfqAmountSideWhich leg
amountSatspins: To for what lands on L1, From for what leaves the Arkade balance.paymentHashstringSHA-256 of the client's own preimage (hex).
payoutPubkeystringThe client's x-only key (hex) that claims the L1 HTLC.
refundAddressstringThe client's Arkade address the covenant refunds to.
clientRefundPubkeystringThe client's x-only key (hex) for the covenant's refund leaves.
rfqIdstringThe correlation id; a fresh one is generated when omitted.
Returns
- RfqRequest<OnchainSendRequestProfile>
The request payload, ready for a transport.