Binance
The world's largest cryptocurrency exchange by trading volume. Binance offers spot, margin, and futures trading with separate account types.
Overview
| Property | Value |
|---|---|
| Website | binance.com |
| Account Model | Separate accounts |
| Passphrase Required | No |
| API Documentation | Binance API Docs |
Credential Requirements
| Field | Required | Description |
|---|---|---|
apiKey | ✓ | API Key from Binance |
apiSecret | ✓ | Secret Key from Binance |
apiPassphrase | - | Not required |
Account Types
Binance uses separate accounts for different trading products. Each account has its own balance.
| External ID | Account Type | Description |
|---|---|---|
spot | SPOT | Spot trading account |
margin | MARGIN | Cross margin account |
isolated_margin | MARGIN | Isolated margin accounts |
futures | FUTURES | USDT-M Futures account |
coin_futures | COIN_FUTURES | COIN-M Futures account |
Trading Features
| Feature | Supported | Notes |
|---|---|---|
| Spot Trading | ✓ | |
| Cross Margin | ✓ | Up to 3x leverage |
| Isolated Margin | ✓ | Up to 10x leverage |
| USDT-M Futures | ✓ | Up to 125x leverage |
| COIN-M Futures | ✓ | Up to 125x leverage |
| Options | ✓ | European-style options |
Supported Order Types
| Order Type | Spot | Margin | Futures |
|---|---|---|---|
| Market | ✓ | ✓ | ✓ |
| Limit | ✓ | ✓ | ✓ |
| Stop Limit | ✓ | ✓ | ✓ |
| Stop Market | ✓ | ✓ | ✓ |
| Trailing Stop | - | - | ✓ |
| Take Profit | - | - | ✓ |
API Key Setup
Step 1: Access API Management
- Log in to Binance
- Hover over your profile icon
- Click API Management
Step 2: Create API Key
- Enter a label for your API key (e.g., "Cadenza Trading")
- Click Create API
- Complete security verification (2FA, email, etc.)
Step 3: Configure Permissions
Enable the following permissions based on your needs:
| Permission | Description | Required For |
|---|---|---|
| Enable Reading | Read account info, balances, orders | All operations |
| Enable Spot & Margin Trading | Execute spot and margin orders | Spot/Margin trading |
| Enable Futures | Execute futures orders | Futures trading |
warning
Never enable "Enable Withdrawals" - Cadenza does not require withdrawal permissions.
Step 4: IP Restrictions (Recommended)
- Select Restrict access to trusted IPs only
- Add Cadenza's IP addresses (contact support for the list)
- Click Confirm
Step 5: Save Credentials
- Copy the API Key
- Copy the Secret Key (only shown once!)
- Store both securely
Rate Limits
| Endpoint Type | Limit |
|---|---|
| Order requests | 10 orders/second |
| Order updates | 100,000 orders/day |
| Weight limit | 1,200/minute |
Example: Create Binance Credential
- Python
- TypeScript
- Go
response = credential_api.create_trading_account_credential(
cadenza_client.CreateTradingAccountCredentialRequest(
venue=cadenza_client.Venue.BINANCE,
credential_type=cadenza_client.CredentialType.EXCHANGE,
api_key="your-binance-api-key",
api_secret="your-binance-secret-key",
nickname="My Binance API"
)
)
const response = await credentialApi.createTradingAccountCredential({
venue: 'BINANCE',
credentialType: 'EXCHANGE',
apiKey: 'your-binance-api-key',
apiSecret: 'your-binance-secret-key',
nickname: 'My Binance API',
})
response, _, err := apiClient.TradingAccountCredentialAPI.CreateTradingAccountCredential(ctx).
CreateTradingAccountCredentialRequest(client.CreateTradingAccountCredentialRequest{
Venue: client.VENUE_BINANCE,
CredentialType: client.CREDENTIALTYPE_EXCHANGE,
ApiKey: client.PtrString("your-binance-api-key"),
ApiSecret: client.PtrString("your-binance-secret-key"),
Nickname: client.PtrString("My Binance API"),
}).Execute()
Example: Connect Binance Accounts
- Python
- TypeScript
- Go
# Connect spot account
spot_response = trading_account_api.connect_trading_account(
cadenza_client.ConnectTradingAccountRequest(
credential_ids=[credential_id],
external_trading_account_id="spot",
nickname="Binance Spot"
)
)
# Connect futures account
futures_response = trading_account_api.connect_trading_account(
cadenza_client.ConnectTradingAccountRequest(
credential_ids=[credential_id],
external_trading_account_id="futures",
nickname="Binance Futures"
)
)
// Connect spot account
const spotResponse = await tradingAccountApi.connectTradingAccount({
credentialIds: [credentialId],
externalTradingAccountId: 'spot',
nickname: 'Binance Spot',
})
// Connect futures account
const futuresResponse = await tradingAccountApi.connectTradingAccount({
credentialIds: [credentialId],
externalTradingAccountId: 'futures',
nickname: 'Binance Futures',
})
// Connect spot account
spotResponse, _, _ := apiClient.TradingAccountAPI.ConnectTradingAccount(ctx).
ConnectTradingAccountRequest(client.ConnectTradingAccountRequest{
CredentialIds: []string{credentialId},
ExternalTradingAccountId: "spot",
Nickname: client.PtrString("Binance Spot"),
}).Execute()
// Connect futures account
futuresResponse, _, _ := apiClient.TradingAccountAPI.ConnectTradingAccount(ctx).
ConnectTradingAccountRequest(client.ConnectTradingAccountRequest{
CredentialIds: []string{credentialId},
ExternalTradingAccountId: "futures",
Nickname: client.PtrString("Binance Futures"),
}).Execute()
Instrument ID Format
Binance instruments use the format: BINANCE:{BASE}/{QUOTE}
| Instrument Type | Example |
|---|---|
| Spot | BINANCE:BTC/USDT |
| Margin | BINANCE:ETH/USDT |
| USDT-M Futures | BINANCE:BTC/USDT |
| COIN-M Futures | BINANCE:BTC/USD |