1. Currency Exchange
Partner API
  • Getting Started
    • Introduction
    • Authentication
    • Business Use Cases
  • API References
    • Balances & History
      • Get Balances
      • Get Balance History
    • Crypto Deposits
      • Get Crypto Deposit Details
      • Add Travel Rule
    • Crypto Withdrawals
      • Get Whitelisted Wallets
      • Add Whitelisted Wallet
      • Delete Whitelisted Wallet
      • Create Crypto Withdrawal
      • Get Crypto Withdrawal Details
    • SEPA Deposits
      • Get SEPA Payment Details
      • Get SEPA Deposit Details
    • SEPA Withdrawals
      • Create SEPA Withdrawal
      • Get SEPA Withdrawal Details
    • Currency Exchange
      • Get Rates
        GET
      • Create Lock
        POST
      • Create Exchange
        POST
      • Get Exchange Details
        GET
  • Integration
    • Integration Guides
    • Transaction Processing
    • Error Handling
    • Rate Limiting
    • Webhooks
      • Crypto Deposit Webhook
      • Crypto Withdrawal Webhook
      • SEPA Deposit Webhook
      • SEPA Withdrawal Webhook
      • Exchange Webhook
  • Reference
    • Supported Currencies
    • Fees
    • FAQ
    • Changelog
    • Support
  1. Currency Exchange

Create Exchange

Testing Env
http://k8s-partnera-partnera-7873f15634-69ebb7c047cac3d1.elb.eu-central-1.amazonaws.com
Testing Env
http://k8s-partnera-partnera-7873f15634-69ebb7c047cac3d1.elb.eu-central-1.amazonaws.com
POST
/v1/partner/exchange
Executes an exchange between two balances at the rates locked by Create Lock.

Processing#

The request is validated immediately - if the lock is invalid, expired or already used, or the balance is insufficient, an error is returned and no exchange is created. Each lock can be used only once, so retrying a request with the same lockId never creates a second exchange.
An accepted exchange is created with status PENDING. The response contains the final amounts. Track the status via Get Exchange Details, Get Balance History or webhooks.

Request

Authorization
API Key
Add parameter in header
x-api-key
Example:
x-api-key: ********************
or
Body Params application/json

Examples

Responses

🟢201Created
application/json
Exchange created.
Bodyapplication/json

🟠401Access Denied
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'http://k8s-partnera-partnera-7873f15634-69ebb7c047cac3d1.elb.eu-central-1.amazonaws.com/v1/partner/exchange' \
--header 'x-api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "lockId": "359f5e33-30be-4cfe-93ca-62e6a8ed93dc"
}'
Response Response Example
201 - EUR to DOGE
{
    "type": "EXCHANGE",
    "transactionId": "9d3c1f7a-2b4e-4c81-a6f0-5e8b7d2c4a19",
    "externalId": "ccac4cae-4e5f-4671-bd7e-8b4253d6c786",
    "sourceBalanceId": "ea93abc7-389d-4bd6-aeff-2257bfa72683",
    "destinationBalanceId": "6f22378e-71e6-4389-b1d8-3e3d40828e28",
    "status": "PENDING",
    "sourceAmount": "10",
    "destinationAmount": "110.34310171",
    "sourceCurrency": "EUR",
    "destinationCurrency": "DOGE",
    "rate": "12.260344634856075",
    "fee": "12.26034463",
    "totalDestinationAmount": "122.60344634",
    "createdAt": "2026-10-05T14:20:58.441Z",
    "updatedAt": "2026-10-05T14:20:58.441Z"
}
Previous
Create Lock
Next
Get Exchange Details
Built with