M2Square

Settlements

Convert stablecoin liquidity into local destination rails using quote locks.

Settlements combine a quote, source funds, destination information, corridor rules, and final delivery webhooks.

Quote lock

A quote includes rate, fee estimate, destination amount, and expiry. Create the settlement before expires_at; otherwise request a new quote.

Settlement lifecycle

StatusMeaning
requires_fundingStablecoin funds have not arrived or are below the required amount.
quotedThe quote is reserved and can be executed.
processingFunds are moving through M2Square and local partners.
completedDestination rail confirmed delivery.
returnedFunds could not be delivered and were returned.
failedSettlement could not continue. Review the error code and event timeline.

Ledger design

  • Create a pending ledger entry when you create the settlement.
  • Update only after receiving signed webhooks.
  • Reconcile source_amount, destination_amount, fee_amount, and rate.
  • Treat returned settlements as a new ledger movement instead of editing historical entries.

On this page