API Key Authentication
Generating API Keys
API keys are scoped to a Wallet Profile. You must create a Wallet Profile before generating an API key. Each key can only register wallets and execute operations within its linked profile.- Dashboard
- API
- Navigate to Settings → Wallet Profiles and create a profile (or use an existing one)
- Navigate to Settings → API Keys
- Click Generate API Key
- Provide a descriptive name (e.g., “Production SDK”, “Dev Environment”)
- Select the Wallet Profile to associate with this key
- Copy and securely store the key (shown only once)
API Key Format
RebelFi API keys follow this format:rfk_sandbox_xxxxxxxxxxx- Development keyrfk_prod_xxxxxxxxxxx- Production key
Using API Keys
Include the API key in thex-api-key header:
SDK Authentication
When using the TypeScript SDK:Security Best Practices
API Key Management
Secure Storage
Secure Storage
DO:
- Store in environment variables
- Use secrets management (AWS Secrets Manager, HashiCorp Vault, Azure Key Vault)
- Encrypt at rest
- Commit to version control
- Store in code or configuration files
- Share via email or chat
- Log in plain text
Key Rotation
Key Rotation
Rotate API keys regularly:
- Generate new API key
- Deploy new key to production (blue/green deployment)
- Verify new key works
- Revoke old key
- Update documentation
Separate Keys Per Environment
Separate Keys Per Environment
Use different API keys for each environment:
- Development:
rfk_sandbox_xxx - Staging:
rfk_prod_xxx(non-dev environments use production prefix) - Production:
rfk_prod_xxx
Rate Limiting
RebelFi enforces rate limits per API key:| Endpoint Type | Limit |
|---|---|
| Read (GET) | 100 requests/minute |
| Write (POST) | 20 requests/minute |
Handling Rate Limits
When rate limited, you’ll receive a429 status with RATE_LIMIT_EXCEEDED error code.
Troubleshooting
401 Unauthorized
401 Unauthorized
403 Forbidden
403 Forbidden
Cause: Valid credentials but access deniedSolution:
- Verify the Wallet Profile linked to this API key is enabled (not disabled or deleted)
- Verify the wallet you are accessing belongs to the key’s Wallet Profile
- Check that the blockchain you are targeting is enabled in the Wallet Profile’s
enabledChainsconfiguration
429 Rate Limit Exceeded
429 Rate Limit Exceeded
Cause: Too many requests in time windowSolution:
- Implement exponential backoff
- Reduce request frequency
- Contact support for higher limits if needed
Next Steps
Wallet Profiles
Set up wallet profiles and link your API key
API Reference
Explore authenticated API endpoints