Skip to content
Myntle
All posts

The settlement record decides the outcome

A signature is a request. A successful HTTP response is a request. Neither is proof that money moved.

Settlement · 10 November 2026 · 7 min read

Three things that look like proof

The wallet signed. The HTTP response was 200. The assistant said the swap completed. Each feels like evidence that money moved, and none of them is.

A signature proves that a wallet authorised a request. A 200 proves that a service accepted something. A sentence proves that a model produced text. None of those events is a settlement.

What happenedWhat it proves
The wallet signedA request was authorised.
The response was 200A service accepted something.
The assistant said soA model produced text.

None of these is a settlement.

What we read instead

Settlement is read from NEAR Intents. The status endpoint reports the settlement inside the verifier contract, and Myntle writes that record next to the transaction.

The timeline is built from the record, not from the conversation stream. It moves through quoted, approved, submitted, deposit confirmed, processing, and then settled or the relevant failure. The interface does not advance a step because the assistant wrote a confident sentence.

The record's timeline

Read from settlement
QuotedApprovedSubmittedDeposit confirmedProcessingSettled

What can go wrong

A deposit can arrive and the swap can fail to fill. The record reports a refund, and the screen says the money is coming back instead of showing a green check for one step of the story.

A failed status poll is retried. A settlement that failed on chain is final and is not retried. Retrying a payment is not the same as retrying a request, and the application treats them differently.

Three outcomes the record can report

Executed

The swap filled.

Refunded

The deposit is on its way back.

Failed

Settlement failed on chain.

Why the distinction matters

When someone asks whether a trade went through, the only useful answer is the record's answer. A signature means the user authorised a request. A 200 means a service accepted something. The record means the settlement happened.

That difference is not pedantry. It is the difference between a confident interface and an honest one.

The record is the product

The conversation makes the trade approachable, and the record makes it verifiable. If the two disagree, the record wins. The rest of the interface is built around that rule.

The verification notes, including the sources behind every external claim, are in the repository.

Ask what is happening, then ask for the trade.

Open app