API Reference
Complete reference documentation for Quub's RESTful API. Explore endpoints, request/response formats, and authentication methods.
https://api.quub.fi/v1Bearer Token1000 req/minAuthentication
All API requests require authentication using an API key. Include your API key in the Authorization header as a Bearer token.
curl https://api.quub.fi/v1/wallets \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"API Key Types
- Test Keys: For sandbox environment
- Live Keys: For production environment
- Restricted Keys: Limited permissions
Security Notes
- Never expose API keys in client-side code
- Rotate keys regularly (every 90 days)
- Use restricted keys when possible
API Endpoints
Wallets
/v1/walletsCreate a new wallet
Request Body
{
"name": "My Wallet",
"type": "hot",
"chain": "ethereum",
"tags": ["production"]
}Response (200)
{
"id": "wlt_123abc",
"address": "0x742d35...",
"name": "My Wallet",
"created_at": "2025-10-10"
}/v1/wallets/:idRetrieve wallet details
Parameters
idstring, requiredThe wallet identifier
Response (200)
{
"id": "wlt_123abc",
"address": "0x742d35...",
"balance": "1500.50",
"chain": "ethereum"
}/v1/walletsList all wallets
Query Parameters
limitinteger, optionalMax results (default: 20)
offsetinteger, optionalPagination offset
Response (200)
{
"wallets": [...],
"total": 42,
"limit": 20,
"offset": 0
}Transactions
/v1/transactionsSend a transaction
Request Body
{
"from": "wlt_123abc",
"to": "0x742d35...",
"amount": "100",
"currency": "USDC",
"chain": "ethereum"
}Response (201)
{
"id": "tx_456def",
"status": "pending",
"hash": "0x9f8c...",
"created_at": "2025-10-10"
}/v1/transactions/:idGet transaction status
Parameters
idstring, requiredThe transaction identifier
Response (200)
{
"id": "tx_456def",
"status": "confirmed",
"confirmations": 12,
"block": 18234567
}Portfolio
/v1/portfolioGet portfolio summary
Query Parameters
currencystring, optionalValue currency (USD, EUR)
Response (200)
{
"total_value": "1500000",
"assets": [...],
"chains": [...],
"updated_at": "2025-10-10"
}DeFi Operations
/v1/defi/stakeStake tokens in a protocol
Request Body
{
"protocol": "aave-v3",
"asset": "ETH",
"amount": "5.5",
"wallet_id": "wlt_123abc"
}Response (201)
{
"id": "stake_789ghi",
"status": "pending",
"expected_apy": "4.25",
"transaction_id": "tx_..."
}/v1/defi/yieldsGet available yield opportunities
Query Parameters
assetstring, optionalFilter by asset
min_apynumber, optionalMinimum APY filter
Response (200)
{
"opportunities": [
{
"protocol": "aave-v3",
"asset": "USDC",
"apy": "8.5",
"tvl": "500000000"
}
]
}Error Codes
400Bad Request
Invalid request parameters
401Unauthorized
Invalid or missing API key
403Forbidden
Insufficient permissions
404Not Found
Resource does not exist
429Rate Limited
Too many requests
500Server Error
Internal server error
Error Response Format
{
"error": {
"code": "invalid_request",
"message": "Amount must be greater than 0",
"param": "amount",
"type": "validation_error"
}
}Rate Limiting
Rate Limits
100 req/min1,000 req/minCustomResponse Headers
X-RateLimit-LimitTotal requests allowed
X-RateLimit-RemainingRequests remaining
X-RateLimit-ResetUnix timestamp when limit resets
Need Help with Integration?
Our developer support team is available 24/7 to help you get started. Access our SDK libraries, code examples, and interactive API playground.