Table of Contents

Enum ArkadeSwapIntentStatus

Namespace
NArk.ArkadeIntents.Models
Assembly
NArk.ArkadeIntents.dll

Lifecycle of a non-interactive swap, derived from the covenant VTXO's on-chain state (mirrors the arkade wallet's AssetSwapStatus).

public enum ArkadeSwapIntentStatus

Fields

Cancelled = 5

The swap was cancelled and the deposit returned.

Cancelling = 3

The cancel path is being spent; set before spending so the monitor can't read the cancel as a fill.

Claimable = 2

The counterparty funded a receive covenant and it is ours to spend, or an EVM route has revealed P at L and now requires a verified ERC20 claim.

The receive direction inverts who waits on whom: the solver pays out first, so an unspent lockup is not a swap still waiting on someone else — it is money sitting in a script only our claim can move, on a clock, before the solver's own reclaim path opens.

Fulfilled = 4

The solver spent the covenant VTXO — the swap completed.

Funding = 0

The swap is recorded and its funding spend is in flight, or its outcome is not yet known.

Written BEFORE the money moves, which is the only ordering that cannot lose a swap: a crash after funding but before recording would otherwise leave funds in a script nothing is watching. The cost is the opposite and much cheaper case — a row for a spend that never landed, which reconciliation can see precisely because the row exists.

Pending = 1

Deposit funded; waiting for the solver to fill (or for expiry).

Recoverable = 6

The covenant VTXO expired/was swept without a fill; the deposit is recoverable on-chain.

Refundable = 7

The refund deadline passed with the deposit still unspent (BtcToLightning only). Anyone may now push the covenant refund, which can pay nowhere but the maker's own address.

Resolved = 8

The covenant VTXO was spent once both the fill and refund paths were live (BtcToLightning only), so which one it was is decidable only from the spending witness — a preimage there means the solver filled. Either way the maker's exposure is over.