Understanding Your Balance
This guide explains the different types of balances on BettorEdge and how to check them via the API.
Prerequisites
- Completed authentication and obtained a Bearer token (see Authentication Guide)
Balance Types
Your BettorEdge account has three different balance types, each serving a specific purpose:
1. Balance (Real Money)
Type: USD
Description: Your real money balance available for trading on BettorEdge Markets. This is actual cash that you can:
- Use to place orders on real markets
- Withdraw to your bank account
- Receive from winning positions
Use Case: All standard trading on BettorEdge Markets uses your USD balance.
2. Promo Balance (Promotional Funds)
Type: Promotional/Bonus USD
Description: Promotional or bonus funds provided by BettorEdge through promotions, bonuses, or special offers. This balance:
- Can be used to place orders on real markets
- May have specific terms and conditions
- Cannot be withdrawn directly (must be used for trading)
- Winnings from promo balance typically convert to real balance
Use Case: Take advantage of promotions and bonuses to increase your trading capital.
3. Free Market Balance (EdgeCoins)
Type: EdgeCoins (Play Money)
Description: EdgeCoins are a free virtual currency used exclusively in EdgeCoin Mode. This balance:
- Is completely free and not connected to real money
- Used for pick tracking and free-to-play games
- Available only in the BettorEdge app
- Cannot be converted to real money
Important: The BettorEdge API currently does NOT support EdgeCoin orders. EdgeCoin Mode is only available in the BettorEdge mobile and web applications.
Use Case: Practice trading strategies, track picks, or compete in free-to-play contests without risking real money.
Getting Your Balance
Make an authenticated request to retrieve your current balance:
- cURL
- JavaScript
- Python
curl -X GET https://proxy.bettoredge.com/players/v1/players/player/balance/me \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
const response = await fetch('https://proxy.bettoredge.com/players/v1/players/player/balance/me', {
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
const data = await response.json();
console.log('Your balance:', data);
response = requests.get(
'https://proxy.bettoredge.com/players/v1/players/player/balance/me',
headers={
'Authorization': f'Bearer {access_token}'
}
)
data = response.json()
print('Your balance:', data)
Response Structure
{
"message": "Success",
"player_balance": {
"player_balance_id": "balance_abc123",
"player_id": "player_xyz789",
"balance": 1250.50,
"promo_balance": 50.00,
"free_market_balance": 10000.00,
"create_datetime": "2024-01-01T00:00:00Z",
"last_udpate_datetime": "2024-01-15T10:30:00Z"
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
| player_balance_id | string | Unique identifier for the balance record |
| player_id | string | Your player ID |
| balance | number | Real money balance in USD |
| promo_balance | number | Promotional balance in USD |
| free_market_balance | number | EdgeCoin balance (play money) |
| create_datetime | timestamp | When the balance record was created |
| last_udpate_datetime | timestamp | Last time balance was updated |
Understanding Available Funds
When placing orders, the API uses your real money balance and promo balance:
Order Placement Priority
- Real Balance First: Your USD balance is used before promo balance
- Promo Balance Second: If USD balance is insufficient, promo balance is used
- EdgeCoins Not Supported: EdgeCoin balance cannot be used via API
Calculating Available for Trading
To calculate your total available funds for API trading:
const data = await response.json();
const { balance, promo_balance } = data.player_balance;
// Total available for API orders (USD + Promo)
const totalAvailable = balance + promo_balance;
console.log(`USD Balance: $${balance.toFixed(2)}`);
console.log(`Promo Balance: $${promo_balance.toFixed(2)}`);
console.log(`Total Available: $${totalAvailable.toFixed(2)}`);
console.log(`EdgeCoins (app only): ${data.player_balance.free_market_balance}`);
Common Scenarios
Scenario 1: Sufficient USD Balance
Balance State:
- USD Balance: $500
- Promo Balance: $100
Place Order:
- Order Amount: $200
Result:
- Order uses $200 from USD balance
- Remaining USD: $300
- Promo balance unchanged: $100
Scenario 2: Using Promo Balance
Balance State:
- USD Balance: $50
- Promo Balance: $100
Place Order:
- Order Amount: $120
Result:
- $50 from USD balance (now $0)
- $70 from promo balance (now $30)
- Total used: $120
Scenario 3: Insufficient Funds
Balance State:
- USD Balance: $30
- Promo Balance: $20
Place Order:
- Order Amount: $100
Result:
- Order fails - insufficient funds
- Error: "Insufficient balance"
Balance Changes
Your balance changes when:
Balance Increases:
- Winning positions settle and pay out
- Deposits are processed
- Promotional bonuses are credited
- Sell orders complete above your cost basis
delayed_cashis released when markets settle
Balance Decreases:
- Buy orders are placed
- Withdrawals are processed
- Losing positions settle at $0
Balance Reservations:
- When you place an order, funds are reserved
- Reserved funds show in your portfolio as
resting_buys - If the order is cancelled, funds return to your balance
- If the order fills, funds convert to a position
Checking Balance Before Orders
It's a good practice to check your balance before placing large orders:
// Get current balance
const balanceResponse = await fetch(
'https://proxy.bettoredge.com/players/v1/players/player/balance/me',
{ headers: { 'Authorization': `Bearer ${accessToken}` } }
);
const { player_balance } = await balanceResponse.json();
// Calculate total available
const totalAvailable = player_balance.balance + player_balance.promo_balance;
// Determine order size
const orderAmount = Math.min(totalAvailable, 100); // Max $100 or available funds
// Place order
const orderResponse = await fetch(
'https://proxy.bettoredge.com/markets/v1/orders/order/place',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${accessToken}`
},
body: JSON.stringify({
order_context_hash: 'your-hash-here',
price: 0.65,
amount: orderAmount,
market_type: 'standard'
})
}
);
Balance vs Portfolio
Understanding the difference between your balance and portfolio:
Balance
- What it is: Available cash not currently in use
- Shows: Money ready to place new orders
- Check endpoint:
/v1/players/player/balance/me
Portfolio
- What it is: Active positions and open orders
- Shows: Money currently at risk or waiting in orders
- Check endpoint:
/v1/portfolio/me
Total Capital
Total Capital = Balance + Portfolio Capital
Where Portfolio Capital includes:
resting_buys- Reserved for open buy ordersposition- Invested in current positionsdelayed_cash- Profit held until market settles
EdgeCoin Mode (App Only)
While EdgeCoins appear in your balance response, they are only usable in the BettorEdge app:
What is EdgeCoin Mode?
- Free-to-play trading with virtual currency
- Perfect for practicing strategies without risk
- Used for pick tracking and leaderboards
- Compete in free contests
API Limitation:
- The API does not support placing EdgeCoin orders
- EdgeCoin orders can only be placed through the BettorEdge mobile or web app
- API endpoints only process real USD and promo balance orders
Why Check EdgeCoins via API?
- Track your EdgeCoin balance programmatically
- Integrate app-based contest standings with your systems
- Monitor EdgeCoin earnings from pick tracking
Best Practices
- Check Balance First - Always verify available funds before placing orders
- Account for Promo Terms - Understand any restrictions on promotional balance
- Monitor Reserved Funds - Check portfolio for funds tied up in resting orders
- Track Delayed Cash - Remember that sale profits are held until settlement
- Separate Real vs Play - Don't confuse EdgeCoins with real balance in your code
Next Steps
Now that you understand your balance:
- Place Your First Order - Use your balance to trade
- Check Your Portfolio - See where your capital is invested
- Understanding Liquidity - Find markets to trade
Need help? Check out the Player Balance API Reference for detailed endpoint documentation.