Settlement & Payout
What happens when my NDF matures?
Settlement is the moment an NDF ends: the contract reads one price, computes one number, and pays it in cash. The settlement rate is one Pyth price, read once at the maturity date: the pure EMA of the same feed that marked the position day to day. The payout is the notional times the gap between the locked rate and that fixing. It clears in USDC atomically, and the initial margin each side posted returns to its safe.
Only the rate difference moves: nothing is delivered, and no local currency changes hands.
The settlement currency is fixed in the contract — neither party chooses it, at trade time or any other time. Today every listed pair settles in USDC. EURC settlement arrives with EUR-quoted pairs, fixed the same way: by the pair, in the contract, never by the user.
How much do I get paid?
The payout follows one linear formula, symmetric for both sides:
payout = notional × (lockedRate − fixing)
notional: the size of the forward, in the base currency.lockedRate: the rate both parties signed into the Terms at binding.fixing: the settlement rate above.
If the locked rate beats the fixing, that side receives the gap; otherwise it pays the gap. The contract credits the winner's safe and debits the loser's in the same transaction.
Settlement is the final reading of the feed that marked the position all along, not a new oracle. Two guards bind it: the fixing reads the pure EMA rather than a single spot tick, and the contract refuses any price published before the maturity date.
The following diagram shows the payoff:
When does it settle?
Settlement can run on or after the maturity date fixed in the Terms when the quote is signed. There is no scheduled hour and no benchmark fixing: the price is whatever Pyth has published at or after maturity.
The fixing must come from the pair's local trading session. Most major pairs print nearly around the clock on weekdays, so settlement runs at almost any hour.
NoteLatAm pairs are windowed. USD/CLP, USD/COP, and USD/PEN price only during their local bank session, roughly 09:00 to 16:00 Eastern. Settlement waits for a print inside that window. See Calendar & Sessions (~4 min).
Anyone can run settlement: a keeper bot calls settle routinely, but the call is permissionless, so either party, or any third party, attaches a fresh Pyth update in the same transaction and pays the trivial fee. The table below shows the two guards that bind the price it uses:
| Guard | Rule |
|---|---|
| Provenance | price must be published at or after the maturity date; an earlier print is rejected |
| Pure EMA | the fixing reads the per-pair Pyth EMA, not a single spot tick; an unhealthy EMA reverts |
Payout and initial-margin return happen in one transaction. There is no window where one has cleared and the other has not.