Sandbox APIhttps://sandbox-api.nuvante.io

Flow guide

Stablecoin redemption

Redeem a chain-issued stablecoin for GBP. The engine handles custody, the issuer's burn proof and RTGS settlement for you.

Run the request

curl --request POST 'https://sandbox-api.nuvante.io/api/v1/transactions' \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --header 'Idempotency-Key: redeem-20260730-0001' \
  --data '{
  "paymentReference": "DVP-REDEEM-0001",
  "source": {
    "amount": "250000.00",
    "asset": {
      "code": "GBPC",
      "issuer": "GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJUWDA"
    }
  },
  "target": {
    "amount": "250000.00",
    "asset": {
      "code": "GBP"
    }
  },
  "useCase": "redeem"
}'
Try in sandbox

What happens on the happy path

  1. 1

    Validate

    The engine checks the request body, the participant, the source balance, the asset and issuer mapping, the payment reference and the precision. The source has to be chain-issued, and the target has to be GBP with no issuer.
  2. 2

    Lock the source funds

    The member's source tokens move into the custody lock. Once AssetLocked is recorded, polling shows the chain status as Locked.
  3. 3

    Earmark the RTGS funds

    The source issuer's reserve is earmarked to credit the redeeming member. The RTGS status moves through EarmarkSubmitted to Earmarked.
  4. 4

    Instruct and prove the burn

    The issuer adapter handles the burn instruction. An issuer authorising the burn isn't enough on its own. Settlement only moves on once there's a verified Burned proof.
  5. 5

    Settle in RTGS

    The engine submits settlement against the earmark and polls it through SettleSubmitted to Settled.
  6. 6

    Finish with no mint

    GBP fiat has no issuer, so a redemption has no mint leg. The chain status becomes Completed and lifecycleStatus becomes settled.

Poll and stop

curl 'https://sandbox-api.nuvante.io/api/v1/transactions/123e4567-e89b-42d3-a456-426614174000' \
  --header 'Authorization: Bearer <api-key>'
Try in sandbox

Keep polling until data.terminal is true. Drive your workflow from lifecycleStatus, and use details and saga when you need to explain what happened.

Cancellations and things going wrong

Redemption outcomes

ConditionResultNotes
Before the source burnCan be cancelledCancelling can release the RTGS earmark and return the locked source asset. Go by actions.cancel.allowed.
Settlement submitted or source burnedCan't be cancelledPast this point, the public cancel route returns 409.
Earmark rejectedfailedThe locked funds go back to the sender, and details.reason.code is earmark_rejected.
Issuer rejectedcancelledA clear rejection before settlement automatically cancels the transaction and returns the funds.
Issuer failedParkedAn unclear failure parks for an operator to look at, so we never guess whether the burn happened.
Issuer silentParked after the SLAThe transaction stays open during the approval SLA snapshotted at the start, then parks if the issuer still hasn't replied.