Namespace NArk.ArkadeIntents.Rfq
Classes
- HttpRfqTransport
The HTTP transport:
POST /v1/swapfor quotes,GET /v1/rfq/{rfq_id}for status.
- LegacyRfqPairAdapter
Explicitly adapts canonical discovery identities to the current solver's legacy RFQ vocabulary.
- NostrRelayException
Thrown when the relay itself refuses or tears down what we asked of it.
- NostrRfqTransport
The RFQ transport the protocol actually specifies: NIP-01 over a relay, addressed by pubkey.
- RelayUnavailableException
Thrown when every relay is gone, so no reply could have reached us on any of them.
- RfqProtocol
RFQ v1 — the request-for-quote negotiation layer shared by every Arkade swap corridor (Lightning, cross-chain and arkade-to-arkade alike).
- RfqQuote<TProfile>
The solver's quote. Its binding fields — SolverPubkey, RefundLocktime, ValidUntil, FromAmount and ToAmount — are the values a client may trust; everything in Profile is compare-only or informational, with one exception named there (an HTLC send quote's
refund_without_receiver_delay, which the client builds into its script because it is the one number the client cannot derive).
- RfqRefusal
A refusal carrying a reason from the closed set. Corridor-agnostic: it has no profile.
- RfqRefusedException
Thrown when a solver declines a request.
- RfqRequest<TProfile>
A request for a quote. Strict on the wire: only these fields, or the solver refuses it with UnsupportedPayload.
- RfqStateExtensions
State-vocabulary helpers.
- RfqStatus<TProfile>
The solver's view of a negotiation. Best-effort by design: the settlement is equally observable on-chain, and the spend that settles the contract is the ground truth. Treat this as a convenience, never as the money path.
- TransportClosedException
Thrown when the transport was disposed while a negotiation was still waiting for a reply.
Interfaces
- IRfqTransport
Carries the RFQ message family to a solver. The payloads are identical whatever the transport — only the framing differs — so a corridor's client is written once against this seam.
Enums
- RfqAmountSide
Which leg of the pair the request's amount is fixed on.
- RfqRefusalReason
The closed refusal set of RFQ v1. Anything outside it deserializes to Unknown — clients must treat an unrecognised reason as a generic decline and infer no retry semantics from it.
- RfqState
The lifecycle vocabulary RFQ v1 shares across all settlement profiles.