Invoices
Draft and send an invoice from a conversation.
Business/Developers
A TypeScript SDK and REST API for yield and payouts. Webhooks for every ramp event. A sandbox without real funds. An MCP server so your agents work inside the limits you set.
npm install @rebelfi/sdk, with typed clients for venues, operations, earnings and ramps.x-api-key header, on api.rebelfi.io/v1.import { RebelfiClient } from '@rebelfi/sdk'; const client = new RebelfiClient({ apiKey: process.env.REBELFI_API_KEY }); // 1. Discover where float can earnconst { venues } = await client.venues.list({ blockchain: 'solana', token: 'USDC',});const strategy = venues[0].strategies[0]; // 2. Plan a supply. RebelFi returns unsigned transactions.const op = await client.operations.supply({ walletId: 42, strategyId: strategy.strategyId, amount: '2500000000000', // 2.5M USDC in base units tokenAddress: strategy.tokenAddress,}); // 3. Sign in your own custody, then report the hashfor (const tx of op.transactions) { const txHash = await yourCustody.signAndBroadcast(tx.unsignedTransaction); await client.transactions.submitHash({ operationId: op.operationId, txHash, });}
// What did the float make this month?const earnings = await client.allocations.earnings({ walletId: 42, blockchain: 'solana', token: 'USDC', days: 30, includeBreakdown: true,});earnings.totalYieldEarnedUsd; // per day in earnings.history // Payout window opens: unwind the whole position. No lock-up.const unwind = await client.operations.unwind({ walletId: 42, strategyId: strategy.strategyId, fullWithdrawal: true,});
// 1. Add a recipient. KYB starts automatically.const recipient = await client.ramp.createRecipient({ name: 'OnEdge', type: 'business', externalId: 'ref-123',}); // 2. On customer.approved, open an off-ramp accountconst { id } = recipient;const account = await client.ramp.createRecipientOfframpAccount(id, { orgWalletId: 42, bankDetails: { routingNumber: '021000021', accountNumber: '987654321', accountType: 'checking', accountHolderName: 'OnEdge Inc', bankName: 'Chase Bank', },}); // 3. Send USDC to the account's deposit address. USD lands by ACH.
curl -X POST https://api.rebelfi.io/v1/operations/supply \ -H "x-api-key: $REBELFI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "walletId": 42, "strategyId": 1, "amount": "2500000000000", "tokenAddress": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" }' # 202 → { "operationId": 123, "status": "AWAITING_SIGNATURE", ... }
API reference
Plan operations, report what you signed, read earnings, and move money on and off ramp. Every endpoint is documented with requests, responses and errors.
/v1/venuesDiscover yield venues and strategiesPOST/v1/operations/supplyPlan a supply into a strategyPOST/v1/operations/unwindPlan an unwind, partial or fullPOST/v1/transactions/submit-hashReport a transaction you broadcastGET/v1/allocations/earningsDaily earnings history per walletPOST/v1/ramp/recipientsCreate a recipient and start KYBPOST/v1/ramp/recipients/{id}/offramp-accountsOpen an off-ramp account for a recipientGET/v1/ramp/transactionsList on-ramp and off-ramp activityDocumentation
Webhooks
Register one URL in the dashboard and follow a recipient from KYB to a completed payout.
Agents
The RebelFi MCP server gives agents the same actions as the API, with limits you set on every one.
Draft and send an invoice from a conversation.
Queue a payout to a verified recipient.
Open an escrow and release it on delivery.
Sandbox
The same SDK and endpoints, with simulated KYB and ramp transactions and no real funds.
Tell us about your business and what you want to build.