Skip to main content

FAQ

In this FAQ, you can find answers to different questions about using of our C2C API.

General questions

What is necessary to do before C2C API integration?

Cryptocurrency to cryptocurrency (C2C) is the exchange of one cryptocurrency for another. Before the integration, you must:

  1. Register on Changelly.com.
  2. Generate public and private keys following the guide.
  3. Send your Public API and Base64 keys, project description or the link to your project, and your Changelly account details to the email [email protected] or to your API manager. Contact your API manager if you have any technical issues or questions.

Why do I get a 404 error code when requesting the API?

Firstly, check if your API keys are activated. You can verify the activation of your API keys using our authentication guide. If they are not activated, please contact us via email at [email protected] or your API manager and provide the email address of your Changelly account as well as Public and base64 keys for activation. Additionally, ensure you are correctly using the methods by referring to our С2С API guide.

Where can I see my earnings and transaction statistics?

You can view your earnings and statistics in your partner account. To access your partner dashboard, please register on our site.

What is the limit for Partner Extra Fee?

There are no limitations for the Partner Extra Fee. However, based on our wide experience with a large number of partners, we recommend setting the Partner Extra Fee to 0.2%, as this number brings the best results in conversion rates. The Partner Extra Fee amount should be chosen based on your strategy. For instance, you can set it to 0 from the start to attract new users with competitive pricing and slowly increase it to 0.2% later.

How can I withdraw my partner earnings?

You can withdraw partner earnings in ETH and BTC. The minimal withdrawal amount is 0.004 BTC or 0.06 ETH. Before the withdrawal, you must convert the amount into ETH or BTC. To withdraw in other currencies, please send us a request at [email protected] or contact your API manager.

Why is the amount available for withdrawal less than the earned amount?

Partners earn commission in the payout currencies. If earned amounts are less than the minimum amount for conversion, they are not available for withdrawal. To withdraw your Partner Extra Fee earnings, you need to press the Convert button and convert your earnings into one of the currencies supported for withdrawal: BTC or ETH.

Why is the user transaction placed on hold?

User transactions can be placed on hold due to our AML/KYC procedures. The user or your project team should contact our security team via email at [email protected] to complete the KYC procedure or any other required steps. More information about our AML/KYC policy can be found on this page.

How long does a refund take? Why might it take longer?

Normally, a refund takes 1–10 business days, depending on the situation. In rare cases, a refund may exceed these timelines. For example, if the user sent assets through a different chain or if the user sent an unsupported asset.

Are there any limits for sending API requests?

Yes, there is a limit of 10 requests per second. To increase it, email your request to us at [email protected].

General technical questions

Is there a sandbox version of the C2C API?

No, there is no sandbox version of the C2C API available at the moment. To test it, you can generate API keys, register and activate them, and then create transactions without making payments.

Do you provide webhooks for transaction status monitoring?

No, we do not provide webhooks at the moment. To monitor transaction status, you can use the getStatus or getTransactions methods. Implementing these methods in your Slack or chatbot can enhance your user experience.

Do you provide callback functionality in the C2C API?

No, we do not provide callback functionality in the C2C API at the moment. Please contact us with a feature request if this functionality is necessary for you.

In the C2C API, methods are associated with API keys. Initially, all methods are accessible with all your API keys, and all transactions are available for all your API keys. However, it is possible to restrict access of other keys to specific methods and certain transactions associated with a specific key. To make such changes, please send us a request via email at [email protected].

Is it possible to create one account with different API keys and assign different Partner Extra Fees to each?

Yes, it is possible to create such an account under special conditions and by request only. To proceed, please email us at [email protected] or contact your API manager.

Usage API methods questions

How do we show the estimated amount that the user receives?

You can show the estimated amount in three ways. The first method involves using the getExchangeAmount (for floating-rate) or getFixRateForAmount (for fixed-rate) methods. Their responses return parameters networkFee and amountTo. networkFee is the fee deducted by the network from the amount sent to the user, while amountTo is the amount the user will receive after the transaction is processed.
To obtain the estimated amount for the user, deduct the networkFee value from amountTo.

The second method utilizes the createTransaction (for floating-rate) or createFixTransaction (for fixed-rate) methods. Their responses return parameters networkFee and amountExpectedTo.
To determine the estimated amount for the user, deduct the networkFee value from amountExpectedTo.

The third method involves using the getTransactions method. Its response returns parameters such as networkFee and amountExpectedTo, along with those mentioned previously. Additionally, it contains other fees:

  1. exchangeFee, which is our fee expressed as a percentage. To calculate exchangeFeeAmount, multiply amountTo by (exchangeFee/100).
  2. apiExtraFee represents your API fee expressed as a percentage. To calculate apiExtraFeeAmount, multiply amountTo by (apiExtraFee/100).
  3. totalFee is the sum of networkFee and exchangeFeeAmount.
    To obtain the estimated amount for the user, deduct networkFee from amountExpectedTo.

How can I get exchange limits in advance? Can I retrieve them after estimation?

To obtain exchange limits in advance, use the getPairsParams method to retrieve limits for fixed- and floating-rate transactions, or use getMinAmount to obtain the minimum limit for floating-rate transactions. Only after obtaining these limits should you use the getExchangeAmount or getFixRateForAmount methods for estimation. If you retrieve exchange limits after estimation, you may encounter exchange limit errors. You can handle these errors on your side by promptly updating exchange limits when the number of exchange limit errors exceeds a preset threshold. For instance, if you receive more than N errors within a specific timeframe, use the getPairsParams method to update the exchange limits.

Is it possible to pass an additional customer ID in the createFixTransaction or createTransaction method?

No, it's not possible. To verify if the transaction was created, use the parameters from the createTransaction response and cross-reference them with a sample from the getTransactions response.

Is it possible to fetch transaction details or status using the transaction hash?

No, it's not possible. To fetch transaction details, use the parameters provided by the getTransactions method.