Get Settlement Status
GET /merchant/settlements/:id returns the current state of one of your settlements. Use it to track a settlement from REQUESTED to its terminal outcome.
Status lifecycle
(PENDING_APPROVAL) ─┐
(UNDERFUNDED) ─┤
(WAITING_AML_CREDIT) ─┴→ REQUESTED → PROCESSING → SETTLED (terminal)
→ REJECTED (terminal)
Settlements normally start at REQUESTED. Three statuses come before it, and all three converge on it:
PENDING_APPROVAL— the amount exceeds your cashout approval cap, or destination screening did not pass (failed or unavailable — AML-screened gateways only). The funds are claimed; it waits until someone approves it, from the dashboard or over the API.UNDERFUNDED— you asked for more than the routed pool holds. Nothing is claimed;shortfallsays how much more is needed, and it activates itself when the funds land. See Parked cashouts.WAITING_AML_CREDIT— aSMARTorAML_HELDcashout whose destination screen could not run because your AML screening credit is exhausted. It resolves itself once you top up.
REJECTED is a cancellation — by an operator, by your own cancel of a parked cashout, or automatically when a parked cashout passes its expiresAt. A cashout whose destination turns out to be a Finomesh address (for example, a payment's deposit address) is also rejected before anything is sent, with rejectionReason destination_is_platform_address.
Once SETTLED, the response carries the real receivedAmount, txHash, and a ready-to-open blockchainUrl. A settlement id that isn't yours returns 404.
Example
TS=$(date +%s); BODY=""
SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$SIGNING_SECRET" | awk '{print $2}')
curl https://api.finomesh.com/api/v1/merchant/settlements/<settlement-id> \
-H "X-Api-Key: $FINOMESH_API_KEY" \
-H "X-Timestamp: $TS" -H "X-Signature: $SIG"
Tracking a settlement
There is no settlement webhook — poll this endpoint (or list) until status reaches a terminal value. A reasonable cadence is every few minutes for a normal payout, or immediately after you know a blocker has cleared (e.g. right after topping up funds or AML credit).
This endpoint is also the only source for a parked cashout's live shortfall / shortfallUsd. They are recomputed on every read here (and on list) and are absent from the 202 create response, so read them back rather than caching what you calculated yourself.
Reference
- Full response shape: Cashout Endpoints → GET settlement status.