LogoLogo
  • GENERAL
    • Introduction
    • Overview
    • Authentification
    • ENUM description
  • ACQUIRING
    • Customer wallets
    • Invoices
    • Onramp
  • EXCHANGE
    • Crypto exchange
  • PAYOUTS
    • Single Payout
    • Mass Payout
  • WEBHOOKS
    • Overview
    • Types of events
    • Webhook payload
    • Webhook sign check
  • GUIDES
    • General questions
      • What is Calypso Pay?
      • Which blockchains and tokens we support?
    • Calypso UI guides and questions
      • Introduction to Calypso Pay
      • Sandbox mode and limits
      • General
        • How to create new API key
        • How to create an additional account
        • How to add a new asset to account
        • How to add funds to your wallet
        • Protect your withdrawals with additional signatures
        • How to change your top-up address
        • How to use address book
        • How to set up auto currency conversion
        • How to transfer money within Calypso pay
        • Create a webhook
      • Accept Payments via UI
        • How to create an invoice via UI
        • Accept Payments FAQ
      • Make Payments via UI
        • How to create a single payout via UI
        • How to create mass payout via UI
        • Make Payments FAQ
      • Make Exchanges via UI
        • How to exchange one crypto asset to the other
      • Reports
        • How to get reports
        • Report contents description
    • Integration guides and questions
      • Get started with API
      • Use Customer purse via API
        • How create a customer
        • How to get a purse
        • How to get a transaction data
      • Accept Payments via API
        • How to create a Limited Invoice via API
        • How to create a Limited Fiat Invoice via API
        • How to create an Unlimited Invoice via API
        • How to manage interventions via API
        • How to embed invoice data to your payment page
      • Payment widget
        • How to create a limited fiat payment widget via API
        • How to create unlimited payment widget
        • How to embed a payment widget on a web page
      • Make Exchange via API
        • How to create a exchange
        • Get balance information via API
      • Make Payments via API
        • Get balance information via API
        • How to create a single payout via API
        • How to create a mass payout via API
  • API REFERENCE
    • Report API
    • Settlement Payout API
    • Webhook API
    • Payout API
    • Exchange API
    • Fiat API
    • User API
    • Rate API
    • Settlement Wallet API
    • Fiat withdrawal API
    • Account API
    • Currency API
    • Invoice API
    • Settlement Report API
    • Crypto to fiat API
    • Customer Purse API
    • Fiat deposit API
    • Payment Widget API
    • Models
Powered by GitBook
On this page
Export as PDF
  1. GUIDES
  2. Integration guides and questions
  3. Make Exchange via API

How to create a exchange

PreviousMake Exchange via APINextGet balance information via API

Last updated 3 days ago

Create exchange

To create a new exchange use the following endpoint:

You can find the detailed description of all the parameters in the documentation:

Here we consider the most important ones:

  • account - Merchant account ID

  • payload - Request for exchange

    • sourceCurrency - You sell currency

    • destinationCurrency - You buy currency

    • amount - Amount of the selling asset.

So, to create an exchange without additional commands, you just need to send a request:

Request

curl --request POST \
     --url https://api.calypso.finance/api/v1/exchange/create \
     --header 'accept: */*' \
     --header 'content-type: application/json' \
     --data '
{
  "account": "string",
  "timestamp": 0,
  "payload": {
    "sourceCurrency": "string",
    "destinationCurrency": "string",
    "amount": 0
  }
}
'

If the creation was successful you receive the response:

Response 200

{
  "id": 0,
  "account": "string",
  "sourceCurrency": "string",
  "sourceAmount": 0,
  "destinationCurrency": "string",
  "destinationAmount": 0,
  "state": "IN_PROGRESS",
  "createdDate": "2024-08-22T10:48:54.980Z"
}

After that, you will be able to track the status changes until the exchange is completed using the method below.

Get exchange

Here we consider the most important ones:

  • account - Merchant account ID

  • timestamp - Current unix UTC timestamp in milliseconds. Must not be less than 3 minutes in the past and not greater than 3 minutes in the future

  • payload - Request for exchange

    • id - Exchange ID

To get information about the exchange, you need to send a request:

Request

curl --request POST \
     --url https://api.calypso.finance/api/v1/exchange/get \
     --header 'accept: */*' \
     --header 'content-type: application/json' \
     --data '
{
  "account": "string",
  "timestamp": 0,
  "payload": {
    "id": 0
  }
}
'

You receive the response with exchange data and state:

IN PROGRESSCOMPLETEDFAILED

{
  "id": 0,
  "account": "string",
  "sourceCurrency": "string",
  "sourceAmount": 0,
  "destinationCurrency": "string",
  "destinationAmount": 0,
  "state": "IN_PROGRESS",
  "createdDate": "2024-08-22T10:48:54.980Z"
}

You need to check the exchange details until you get the final exchange status.

To get the current status of the exchange use the following endpoint:

POST | Create exchange
POST | Get exchange