POST
/api/v1/transactionsTransactions
Initiate a stable-to-stable swap
Create a swap between two issued assets.
Sandbox API
https://sandbox-api.nuvante.ioA swap captures the source issuer's profile (for the burn) and the target issuer's profile (for the mint) separately. Mode 2 is available when each issuer involved is set up for two-phase settlement. Mode 3 needs the mandatory issuer refund endpoint.
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| Authorization | string · header | Yes | Bearer sandbox API key with `transactions:write`. |
| Idempotency-Key | string · header | No | An optional unique key for safe retries. |
| useCase | "swap" · body | Yes | Must be `swap`. |
| source | object · body | Yes | The source issued asset, amount and issuer. |
| target | object · body | Yes | The target issued asset, amount and issuer. |
Responses
201Swap accepted.
400Invalid request body.
Request
curl --request POST \
--url 'https://sandbox-api.nuvante.io/api/v1/transactions' \
--header 'Authorization: Bearer nvt_sandbox_your_key' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: dvp-swap-0001' \
--data '{
"paymentReference": "DVP-SWAP-0001",
"source": {
"amount": "100000.00",
"asset": {
"code": "GBPC",
"issuer": "GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJUWDA"
}
},
"target": {
"amount": "100000.00",
"asset": {
"code": "GBPX",
"issuer": "GAS4V4O2B7DW5T7IQRPEEVCRXMDZESKISR7DVIGKZQYYV3OSQ5SH5LVP"
}
},
"useCase": "swap"
}'Response
{
"data": {
"actions": {
"cancel": {
"allowed": true
},
"override": {
"cancel": {
"allowed": false
},
"settle": {
"allowed": false
}
}
},
"details": {
"chain": "None",
"rtgs": "None",
"sagaStep": {
"current": 3,
"name": "Lock",
"total": 6
}
},
"id": "123e4567-e89b-42d3-a456-426614174000",
"initiatedAt": "2026-07-30T14:00:00.000Z",
"lifecycleStatus": "received",
"parked": false,
"paymentReference": "DVP-SWAP-0001",
"receiveAmount": "250000.00",
"platformFeeAmount": "250.00",
"debitAmount": "250250.00",
"feeStatus": "pending",
"saga": {
"currentStepIndex": 1,
"steps": [
{
"happenedAt": "2026-07-30T14:00:00.000Z",
"name": "Received",
"status": "done"
},
{
"happenedAt": "2026-07-30T14:00:00.000Z",
"name": "Validated",
"status": "done"
},
{
"name": "Lock",
"status": "current"
},
{
"name": "Earmarked",
"status": "pending"
},
{
"name": "Burning",
"status": "pending"
},
{
"name": "Settled",
"status": "pending"
}
]
},
"settlement": {
"creditor": {
"participantId": "223e4567-e89b-42d3-a456-426614174001",
"participantKind": "clearing_member",
"participantName": "Example Bank"
},
"debtor": {
"participantId": "323e4567-e89b-42d3-a456-426614174002",
"participantKind": "stablecoin_issuer",
"participantName": "GBPC Issuer"
}
},
"source": {
"amount": {
"amount": "250000.00",
"asset": {
"code": "GBPC",
"issuer": "GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJUWDA"
}
},
"party": {
"participantId": "223e4567-e89b-42d3-a456-426614174001",
"participantKind": "clearing_member",
"participantName": "Example Bank"
}
},
"target": {
"amount": {
"amount": "250000.00",
"asset": {
"code": "GBP"
}
},
"party": {
"participantId": "323e4567-e89b-42d3-a456-426614174002",
"participantKind": "stablecoin_issuer",
"participantName": "GBPC Issuer"
}
},
"terminal": false,
"updatedAt": "2026-07-30T14:00:00.000Z"
},
"meta": {
"commandId": "423e4567-e89b-42d3-a456-426614174003"
}
}