Wallet Endpoints
Manage organization wallets and configure yield monitoring.
GET /api/core/wallets
List all wallets for your organization.
Headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
Response:
{
"success": true,
"data": [
{
"id": 123,
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"blockchain": "solana",
"label": "Treasury Wallet",
"custodyProvider": "fireblocks",
"createdAt": "2025-10-23T14:00:00Z"
}
]
}
GET /api/core/wallets/monitored
Get wallets that are monitored for yield optimization.
Headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
Response:
{
"success": true,
"data": [
{
"id": 456,
"orgWalletId": 123,
"address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",
"blockchain": "solana",
"enableYield": true,
"bufferAmount": "5000.00",
"token": "USDC",
"availableBalance": "12500.00",
"reservedBalance": "0.00",
"deployedBalance": "7500.00",
"totalBalance": "20000.00"
}
]
}
GET /api/core/wallets/stats
Get wallet statistics for your organization.
Headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
Response:
{
"success": true,
"data": {
"totalWallets": 5,
"monitoredWallets": 3,
"totalBalance": "250000.00",
"deployedBalance": "175000.00",
"availableBalance": "75000.00",
"yieldEarned": "8432.17"
}
}
POST /api/core/wallets/add-and-monitor
Add a wallet and enable monitoring for yield optimization.
Headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
Request Body:
{
"orgWalletId": 123,
"enableYield": true,
"bufferAmount": "5000.00",
"metadata": {
"purpose": "treasury",
"department": "finance"
}
}
Response:
{
"success": true,
"data": {
"id": 456,
"orgWalletId": 123,
"enableYield": true,
"bufferAmount": "5000.00",
"createdAt": "2025-10-23T14:00:00Z"
}
}
The bufferAmount is the minimum balance to keep liquid (not deployed to yield). Funds above this amount will be automatically optimized.
PUT /api/core/wallets/:id
Update wallet label.
Headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
Request Body:
{
"label": "Updated Treasury Wallet"
}
Response:
{
"success": true,
"data": {
"id": 123,
"label": "Updated Treasury Wallet",
"updatedAt": "2025-10-23T14:30:00Z"
}
}
PUT /api/core/wallets/monitored/:id/buffer-settings
Update buffer settings for a monitored wallet.
Headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
Request Body:
{
"enableYield": true,
"bufferAmount": "10000.00"
}
Response:
{
"success": true,
"data": {
"id": 456,
"enableYield": true,
"bufferAmount": "10000.00",
"updatedAt": "2025-10-23T14:30:00Z"
}
}
Changing the buffer amount will trigger rebalancing. If you lower the buffer, excess funds may be deployed to yield. If you raise it, allocations may be unwound to restore the buffer.
Example Usage
// Get monitored wallets
const response = await fetch('https://api.rebelfi.io/api/core/wallets/monitored', {
headers: { 'Authorization': `Bearer ${accessToken}` }
});
const { data } = await response.json();
console.log('Monitored wallets:', data);
// Add and monitor a new wallet
const addResponse = await fetch('https://api.rebelfi.io/api/core/wallets/add-and-monitor', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
orgWalletId: 123,
enableYield: true,
bufferAmount: '5000.00',
metadata: { purpose: 'treasury' }
})
});
// Update buffer settings
const updateResponse = await fetch('https://api.rebelfi.io/api/core/wallets/monitored/456/buffer-settings', {
method: 'PUT',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
enableYield: true,
bufferAmount: '10000.00'
})
});
Buffer Management
The buffer amount determines how much liquidity to maintain for operational needs:
- Automatic Deployment: Funds above buffer → automatically deployed to yield
- Instant Liquidity: Buffer always available for immediate withdrawals
- Dynamic Adjustment: Changing buffer triggers automatic rebalancing
Recommended Buffer Amounts
| Wallet Type | Recommended Buffer | Rationale |
|---|
| Treasury | 5-10% of total | Low withdrawal frequency |
| Operational | 20-30% of total | Regular transactions |
| User Deposits | 5-15% of total | Based on withdrawal patterns |
| Payment Processing | 10-20% of total | Settlement cycles |
Monitor your withdrawal patterns for 1-2 weeks, then set buffer to 1.5x your peak daily withdrawal volume for safety.