For most use cases, use the Transfers endpoint. The bridging endpoint is available for advanced integrations where you need direct control over cross-chain routing.
Create Bridge Transaction
Initiate a cross-chain stablecoin transfer between blockchain networks. The bridging endpoint moves stablecoins from one chain to another, handling routing and settlement automatically.Endpoint
POST /v1/bridge
Request Headers
| Header | Required | Description |
|---|---|---|
X-API-Key | Yes | Your API key |
Content-Type | Yes | application/json |
Idempotency-Key | No | Unique identifier for idempotent retries |
Request
curl -X POST https://api.thiqwave.com/v1/bridge \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: unique_request_id" \
-d '{
"quote_id": "quote_5555555555",
"source_currency": "USDC",
"source_network": "solana",
"source_address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"destination_currency": "USDC",
"destination_network": "ethereum",
"destination_address": "0x742d35Cc6634C0532925a3b844Bc123e5fA42f9c",
"amount": "1000.00",
"metadata": {
"user_id": "user_789"
}
}'
const response = await fetch('https://api.thiqwave.com/v1/bridge', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json',
'Idempotency-Key': 'unique_request_id',
},
body: JSON.stringify({
quote_id: 'quote_5555555555',
source_currency: 'USDC',
source_network: 'solana',
source_address: '7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU',
destination_currency: 'USDC',
destination_network: 'ethereum',
destination_address: '0x742d35Cc6634C0532925a3b844Bc123e5fA42f9c',
amount: '1000.00',
metadata: {
user_id: 'user_789',
},
}),
});
const bridge = await response.json();
console.log(bridge);
import requests
response = requests.post(
'https://api.thiqwave.com/v1/bridge',
headers={
'X-API-Key': 'your_api_key',
'Idempotency-Key': 'unique_request_id',
},
json={
'quote_id': 'quote_5555555555',
'source_currency': 'USDC',
'source_network': 'solana',
'source_address': '7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU',
'destination_currency': 'USDC',
'destination_network': 'ethereum',
'destination_address': '0x742d35Cc6634C0532925a3b844Bc123e5fA42f9c',
'amount': '1000.00',
'metadata': {
'user_id': 'user_789',
},
}
)
bridge = response.json()
print(bridge)
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
quote_id | string | Yes | Quote ID from a prior quote request. Locks in rates and fees. |
source_currency | string | Yes | Source stablecoin: USDT or USDC. |
source_network | string | Yes | Source blockchain network: ethereum, avalanche, arbitrum, base, polygon, tron, stellar, solana, xrpl, algorand, sui. |
source_address | string | Yes | Wallet address to debit stablecoins from. |
destination_currency | string | Yes | Destination stablecoin: USDT or USDC. |
destination_network | string | Yes | Destination blockchain network. |
destination_address | string | Yes | Wallet address to credit stablecoins to. |
amount | string | Yes | Amount in human-readable format (e.g., "1000.00"). |
metadata | object | No | Key-value pairs for your reference. |
Response
{
"bridge_id": "bridge_1234567890",
"quote_id": "quote_5555555555",
"status": "pending",
"source_currency": "USDC",
"source_network": "solana",
"source_address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"source_amount": "1000.00",
"destination_currency": "USDC",
"destination_network": "ethereum",
"destination_address": "0x742d35Cc6634C0532925a3b844Bc123e5fA42f9c",
"destination_amount": "999.50",
"created_at": "2026-04-09T14:30:00Z",
"completed_at": null
}
Response Fields
| Field | Type | Description |
|---|---|---|
bridge_id | string | Unique bridge transaction identifier. |
quote_id | string | Associated quote ID. |
status | string | Current status: pending, processing, completed, failed. |
source_currency | string | Source stablecoin. |
source_network | string | Source blockchain network. |
source_address | string | Source wallet address. |
source_amount | string | Amount debited from source. |
destination_currency | string | Destination stablecoin. |
destination_network | string | Destination blockchain network. |
destination_address | string | Destination wallet address. |
destination_amount | string | Amount credited to destination. |
created_at | string | ISO 8601 timestamp of creation. |
completed_at | string or null | ISO 8601 timestamp of completion. |
Bridge States
| Status | Description |
|---|---|
pending | Bridge transaction initiated. |
processing | Cross-chain transfer in progress. |
completed | Stablecoins delivered to destination wallet. |
failed | Bridge failed. Check details for reason. |
Notes
- Ensure the quote is not expired before creating a bridge transaction.
- Both source and destination must be stablecoins on supported blockchain networks.
- Monitor bridge status via the Get Bridge Transaction endpoint or webhooks.