Table of Contents

Enum RfqRefusalReason

Namespace
NArk.ArkadeIntents.Rfq
Assembly
NArk.ArkadeIntents.dll

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.

[JsonConverter(typeof(RfqRefusalReasonConverter))]
public enum RfqRefusalReason

Fields

AmountOutOfRange = 3

Outside the solver's min/max for the pair.

ExposureCap = 4

The solver is at aggregate capacity right now.

InvoiceExpired = 5

The supplied invoice is expired, or expires too soon to swap safely.

PricingUnavailable = 7

The solver cannot price the pair right now (no market data).

QuoteConflict = 6

The id or natural key is already bound to a different or already-progressed negotiation.

RateLimited = 8

Too many quotes asked for from one identity inside a lockup window.

The solver meters quote creation per requester — socket address over HTTP, author key on a relay — so that squatting its exposure cap costs a distributed effort. Worth telling apart from the other refusals because it is the only one that a caller fixes by waiting, or by not reusing one identity across every negotiation.

Unknown = 0

A reason outside the closed set: a generic decline.

UnsupportedPair = 1

Pair not served (includes the wrong network for the asset).

UnsupportedPayload = 2

Malformed request, unknown fields, or a profile input the solver cannot serve.