Complete endpoint documentation for CLVRBRIDGE — The Wallet Engine of Web3.
All API requests require an API key passed in the x-api-key header.
// Every request must include:
x-api-key: clvr_live_xxxxxxxxxxxxx
Your API key is sent via encrypted email during onboarding. Demo keys are available for testing with rate limits.
Get real-time quotes from all connected providers. Returns the best price, all competing quotes, and execution data.
| Field | Type | Required | Description |
|---|---|---|---|
| type | string | ✅ | Trade type: BUY, SELL, or SWAP |
| fiatCurrency | string | BUY/SELL | Fiat currency code: USD, EUR, GBP |
| fiatAmount | number | BUY | Amount of fiat to spend (min $10) |
| cryptoCurrency | string | BUY/SELL | Cryptocurrency symbol: BTC, ETH, SOL, etc. |
| cryptoAmount | number | SELL | Amount of crypto to sell |
| fromAsset | string | SWAP | Source asset: ETH, BTC, etc. |
| toAsset | string | SWAP | Destination asset: USDC, SOL, etc. |
| fromAmount | number | SWAP | Amount of source asset to swap |
| network | string | Optional | Blockchain network (auto-detected if omitted) |
| walletAddress | string | Optional | User's wallet address for execution |
| country | string | Optional | User's country code (default: US) |
const res = await fetch('https://api.clvrbridge.com/api/quote', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'clvr_live_xxxxxxxxxxxxx'
},
body: JSON.stringify({
type: 'BUY',
fiatCurrency: 'USD',
fiatAmount: 500,
cryptoCurrency: 'BTC',
country: 'US'
})
});
const data = await res.json();
const res = await fetch('https://api.clvrbridge.com/api/quote', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'clvr_live_xxxxxxxxxxxxx'
},
body: JSON.stringify({
type: 'SWAP',
fromAsset: 'ETH',
toAsset: 'USDC',
fromAmount: 0.1,
network: 'ethereum'
})
});
const data = await res.json();
| Field | Type | Description |
|---|---|---|
| requestId | string | Unique request identifier |
| timestamp | number | Unix timestamp of response |
| responseTimeMs | number | Total response time in milliseconds |
| type | string | Echo of request type |
| status | string | SUCCESS, PARTIAL_SUCCESS, or FAILED |
| totalQuotes | number | Number of providers that returned quotes |
| providersResponded | array | List of provider names that responded |
| quotes | array | All quotes sorted by best price |
| bestQuote | object | The winning quote with execution data |
| message | string | Human-readable summary |
{
"requestId": "req_1784658454873_9bt9wy",
"timestamp": 1784658458409,
"responseTimeMs": 3536,
"type": "SWAP",
"status": "SUCCESS",
"totalQuotes": 4,
"providersResponded": ["0x", "kyberswap", "velora", "1inch"],
"quotes": [
{
"provider": "kyberswap:ethereum",
"fromAmount": 0.1,
"fromCurrency": "ETH",
"toAmount": 193.867287,
"toCurrency": "USDC",
"fee": 0,
"effectiveRate": "1938.6729",
"estimatedTimeMs": 30000,
"successRate": 0.92
}
],
"bestQuote": {
"provider": "kyberswap:ethereum",
"toAmount": 193.867287,
"toCurrency": "USDC",
"fee": 0,
"executionData": { ... }
},
"message": "Best from kyberswap:ethereum: 193.86728700 USDC"
}
| Code | Meaning |
|---|---|
| 200 | Quotes returned successfully |
| 400 | Missing or invalid parameters |
| 401 | Missing or invalid API key |
| 429 | Volume limit reached for your tier |
| 503 | No quotes available from any provider |
Execute a trade using the bestQuote.executionData from a quote response.
| Field | Type | Required | Description |
|---|---|---|---|
| provider | string | ✅ | Provider name from bestQuote.provider |
| quote | object | ✅ | The full bestQuote object from quote response |
| walletAddress | string | ✅ | User's wallet address |
| side | string | Optional | buy or sell (for exchange trades) |
| symbol | string | Optional | Trading pair symbol |
| amount | number | Optional | Trade amount |
const res = await fetch('https://api.clvrbridge.com/api/execute', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'clvr_live_xxxxxxxxxxxxx'
},
body: JSON.stringify({
provider: 'kyberswap:ethereum',
quote: quoteData.bestQuote,
walletAddress: '0xUserWalletAddress'
})
});
const result = await res.json();
// { success: true, provider: "kyberswap:ethereum", executionType: "CALLDATA", transaction: { ... } }
| Type | Description | What You Do |
|---|---|---|
| CALLDATA | DEX swap transaction data | User signs and submits the transaction |
| REDIRECT | Redirect to provider's checkout | Open the redirect URL for the user |
| EXCHANGE | CEX order placement | Order is placed on the exchange |
Returns all connected providers with their capabilities, coverage, and current pricing tiers.
{
"providers": {
"ccxt": { "capabilities": ["BUY", "SELL"], "coverage": "18 exchanges" },
"0x": { "capabilities": ["SWAP"], "coverage": "Ethereum, L2s, 70+ sources" },
"poloniex": { "capabilities": ["BUY", "SELL"], "coverage": "Established global exchange, 350+ pairs" }
},
"tiers": {
"pilot": { "baseFee": "0%", "uplift": "100%", "commitment": "10%" },
"tier1": { "baseFee": "2%", "uplift": "80%", "commitment": "10%" },
"tier2": { "baseFee": "1.5%", "uplift": "85%", "commitment": "25%" },
"tier3": { "baseFee": "1%", "uplift": "90%", "commitment": "50%+" }
}
}
Returns your account metrics including trade volume, revenue earned, and provider performance.
Health check endpoint. Returns service status.
// Response:
{ "status": "healthy", "timestamp": 1784658458409 }
Returns your current revenue balance and earnings breakdown.
| Plan | Requests / Day | Execution |
|---|---|---|
| Demo | 100 | ❌ |
| Pilot | 1,000 | ✅ |
| Tier 1 | 10,000 | ✅ |
| Tier 2 | 100,000 | ✅ |
| Tier 3 | 1,000,000 | ✅ |