Payments that earn until they settle.

Money comes in, earns while it waits, and goes out in seconds. Payouts, collections and escrow from one balance, through one API.

Anywhere money waits, it can earn.

Built for businesses whose money spends time in between: before a payout, across a trade, or sitting in customer accounts.

How it works for payment processors

Security

Your keys. Your custody. Nothing moves until you sign.

Security overview

You hold the keys

RebelFi prepares each transaction and your custody signs it. We never hold a key that can move your money.

Scoped API keys

Profile keys act only inside their wallet profile. Admin keys read across the organization and can never move funds.

Verified counterparties

Every recipient passes KYB before an on-ramp or off-ramp account opens for them.

A record of every step

Each operation and transaction has its own ID and status, and ramp activity exports to CSV for finance.

Developers

Built for developers and the software they ship.

  • TypeScript SDKnpm install @rebelfi/sdk, with typed clients for venues, operations, earnings and ramps.
  • REST APIOne API key in the x-api-key header, on api.rebelfi.io/v1.
  • You signRebelFi returns unsigned transactions. Your custody signs and broadcasts them.
  • SandboxRun the full flow, KYB to payout, without real funds.
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,  });}
supply.tsView docs ↗
Let’s talk

Put your balance to work.

Tell us about your business and what you want to build.

Email sales

[email protected]

Opens your email application. You can also copy the address above.