Wallet Profiles
A Wallet Profile is a named group of wallets with shared configuration: which blockchains are enabled, the operation timeout, and optional gas sponsorship settings. All wallets registered via SDK under an API key belong to that key’s Wallet Profile.Key Principle: RebelFi never holds your private keys. You build transactions through the SDK, sign them with your
own key infrastructure, and submit the result. The Wallet Profile controls which chains and settings apply to
your SDK-managed wallets.
Creating a Wallet Profile
Create a Profile
Click Create Profile and fill in:
| Field | Description |
|---|---|
| Name | Descriptive label (e.g., “Customer Wallets”, “Treasury Ops”) |
| Enabled Chains | Blockchains wallets in this profile can use (Ethereum, Polygon, Solana, etc.) |
| Operation Timeout | Seconds before a PLANNED operation expires (default: 120s, range: 30–3600s) |
| Gas Sponsor Wallet | Optional: address of a wallet that pays gas fees on behalf of end users |
| Gas Sponsor Pays For Transaction | Whether the sponsor covers the full transaction fee (default: true) |
Linking an API Key to a Profile
API keys must be linked to a Wallet Profile. The key can only register wallets and execute operations within its profile.SDK Integration Flow
Once you have an API key scoped to a Wallet Profile, the full SDK flow is:EVM: Multi-Transaction Operations
EVM supply and unwind operations require two separate transactions: a token approval and the protocol interaction. The SDK returns both unsigned transactions. Submit them sequentially:Stale Transaction Refresh
Unsigned transactions expire (Solana blockhashes in ~15s, EVM gas prices in ~60s). If you need fresh unsigned transactions before signing, call:Signing Transactions
RebelFi doesn’t prescribe how you sign — use whatever key management system fits your infrastructure:| Key Management | Notes |
|---|---|
| Custody providers (Fireblocks, BitGo, Anchorage, etc.) | Pass the unsigned transaction bytes to the provider’s signing API |
| Software wallets (ethers.js, web3.js, Solana web3) | Sign locally with your private key |
| Hardware wallets / HSMs | Pass raw transaction bytes for offline signing |
| Browser wallets | For dashboard-connected wallets (not API keys) |
- The transaction hash (if you broadcast yourself)
- The signed transaction bytes (if you want RebelFi to broadcast)
Profile Settings Reference
Enabled Chains
Restricts which blockchains wallets in this profile can use. Wallet registration and operation planning will be rejected for chains not in this list.Operation Timeout
Controls how long a PLANNED operation waits for a submitted transaction before being marked FAILED. Increase this if your signing process takes longer (e.g., multi-sig approval flows).Gas Sponsorship
For wallets that don’t hold native gas tokens (SOL, ETH, POL), RebelFi can sponsor gas fees. How it works:- EVM chains: RebelFi sends a small amount of native token to your wallet before the transaction
- Solana: RebelFi either sends SOL beforehand or sets itself as the fee payer in an atomic transaction (both approaches are used because some protocols require the signer to also be the fee payer)
Security
API Key Security
API Key Security
- Store API keys in environment variables or secrets management (AWS Secrets Manager, Vault, etc.)
- Rotate keys every 90 days
- Use separate profiles and keys for dev, staging, and production
- Never log API keys in plain text
Profile Isolation
Profile Isolation
Each Wallet Profile is isolated. An API key scoped to Profile A cannot access wallets in Profile B. Use
separate profiles to enforce access boundaries between environments or customer segments.
Key Rotation
Key Rotation
To rotate an API key without downtime:
- Generate a new key linked to the same Wallet Profile
- Deploy the new key to production
- Verify it works
- Delete the old key from the dashboard