Skip to main content

Pre-requisites

In this guide, you’ll create your first conversion transaction — converting cryptocurrency to fiat currency. For example, we’ll convert 1000 USDC on Ethereum to USDT on Tron.

Crypto-to-Crypto Conversions

1

Create a quote

To create a quote, call the /quotes endpoint. This provides the current conversion rate for the given source and destination assets.

Request Example

Response Example

Save this quote ID - you’ll need it for the conversion transaction.
2

Create a conversion transaction

To execute the conversion, call the /transactions endpoint with your quote ID. This creates a conversion transaction between your Conduit custody accounts.
Conversion transactions are used to convert assets or networks within your own Conduit custody — not to send funds to external wallets or third parties.

Source Types

The source field can be either:
  • Account ID (acct_...) - For USD balance conversions (fiat-to-fiat only). Funds are already in the system, so no external pay-in is required. Processing is faster and skips compliance screening. Note: If both source and destination are account IDs, the system automatically routes to BALANCE_CONVERSION transaction type (crypto-to-crypto).
  • Bank Account ID (bank_...) - For external bank account conversions (fiat-to-fiat). Requires external pay-in from the bank account before conversion can proceed.

Destination Types

The destination field must be a Bank Account ID (bank_...) for CONVERSION transactions. Note: If both source and destination are account IDs, the system automatically routes to BALANCE_CONVERSION transaction type (crypto-to-crypto), not CONVERSION.

Request Examples

Crypto-to-Crypto Conversion (Account IDs)

Response Example

Fiat-to-Fiat Conversions

1

Create a quote

To create a quote, call the /quotes endpoint. This provides the current conversion rate for the given source and destination currencies.

Request Example

Response Example

Save this quote ID - you’ll need it for the conversion transaction.
2

Create a conversion transaction

To execute the conversion, call the /transactions endpoint with your quote ID. This creates a conversion transaction between your Conduit custody accounts.

Source Types

The source field can be either:
  • Account ID (acct_...) - For USD balance conversions (fiat-to-fiat only). Funds are already in the system, so no external pay-in is required. Processing is faster and skips compliance screening. Note: If both source and destination are account IDs, the system automatically routes to BALANCE_CONVERSION transaction type (crypto-to-crypto).
  • Bank Account ID (bank_...) - For external bank account conversions (fiat-to-fiat). Requires external pay-in from the bank account before conversion can proceed.

Request Examples

Fiat-to-Fiat Conversion (External Bank Account)

Fiat-to-Fiat Conversion (USD Balance)

For conversions from USD balances, use an account ID as the source:

Response Example

Monitor Transaction Status

After creating the transaction, you can track its progress using the Transaction Status field.
You can listen to webhook events to stay updated as the transaction moves through each stage of processing.

Summary

Once the status iscompleted, your conversion is finalized. What just happened:
  • USDC or USD was withdrawn from your Conduit custody account.
  • Conduit converted it to USDT or EUR at the quoted rate.
  • USDT or EUR was deposited into your Conduit custody account or bank account.
  • All applicable network fees were included in the quote.

Troubleshooting

Use this section to quickly diagnose and resolve common conversion errors.

Quick checklist

  • Use appropriate IDs for source:
    • Account ID (acct_...) for USD balance conversions (funds already in system)
    • Bank account ID (bank_...) for external bank account conversions (requires external pay-in)
  • Use bank account ID (bank_...) or Account ID (acct_...) for destination
  • Use a valid, unexpired quote (valid for 3 minutes)
  • Ensure sufficient balance in the source account (for USD balance conversions) or arrange external pay-in (for external bank account conversions)
  • Verify the conversion pair is supported (networks and assets)

Common errors

Invalid source or destination ID

Incorrect: using wallet IDs Request example
Response example
Solution:
  • For source: Use account IDs (acct_...) for USD balance conversions, or bank account IDs (bank_...) for external bank account conversions. Do not use wallet IDs (wlt_...).
  • For destination: Use account IDs (acct_...) or bank account IDs (bank_...). Do not use wallet IDs (wlt_...).
Correct: using account IDs (custody accounts) Request example

Invalid or expired quote

Request example
Response example
Solution: Generate a new quote and retry. Quotes expire after 3 minutes.

Insufficient funds

Response example
Solution: Check your source custody account balance. Ensure you have enough to cover both the conversion amount and network fees.

Incompatible networks

Response example
Solution: Verify that both networks are supported. Check the quote response for available conversion pairs.

What’s next?

API Reference

Also check our API Reference to learn how to create conversion transactions using our API.

Support

Reach out to our support team to get help and share your feedback.