Skip to main content

Understanding Your Balance

This guide explains the different types of balances on BettorEdge and how to check them via the API.

Prerequisites​

Balance Types​

Your BettorEdge account has three different balance types, each serving a specific purpose:

1. Balance (USD Balance - Real Money)​

Type: USD (Real Money)

Description: Your real USD balance available for trading on BettorEdge Markets. This is actual cash that you can:

  • Use to place orders on real money markets (market_type: "FOR_MONEY")
  • Withdraw to your bank account
  • Receive from winning positions
  • Transfer in and out freely

Use Case: All real money trading on BettorEdge Markets via the API uses your USD balance. This is the only balance type that can be withdrawn.

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 USD balance

Use Case: Take advantage of promotions and bonuses to increase your trading capital.

3. Free Market Balance (Edge Coins - Practice Only)​

Type: Edge Coins (Play Money)

Description: Edge Coins are a free virtual currency for practice only. This balance:

  • Is NOT real money and has no monetary value
  • Used for pick tracking and free-to-play games in the app
  • Cannot be withdrawn or converted to real money
  • Cannot be used for real money trading
  • Available only in the BettorEdge app (not via API)

Important: The BettorEdge API does NOT support Edge Coin orders. Edge Coin Mode is only available in the BettorEdge mobile and web applications for practice purposes.

Use Case: Practice trading strategies, track picks, or compete in free-to-play contests without risking real money. This is purely for practice and has no real monetary value.

Getting Your Balance​

Make an authenticated request to retrieve your current balance:

curl -X GET https://proxy.bettoredge.com/players/v1/players/player/balance/me \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

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​

FieldTypeDescription
player_balance_idstringUnique identifier for the balance record
player_idstringYour player ID
balancenumberReal USD balance (withdrawable, for real money trading)
promo_balancenumberPromotional balance in USD (not withdrawable)
free_market_balancenumberEdge Coins balance (practice only, NOT real money, cannot withdraw or use for FOR_MONEY trading)
create_datetimetimestampWhen the balance record was created
last_udpate_datetimetimestampLast time balance was updated

Understanding Available Funds​

When placing orders, the API uses your real money balance and promo balance:

Order Placement Priority​

  1. Real Balance First: Your USD balance is used before promo balance
  2. Promo Balance Second: If USD balance is insufficient, promo balance is used
  3. 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_cash is 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 orders
  • position - Invested in current positions
  • delayed_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​

  1. Check Balance First - Always verify available funds before placing orders
  2. Account for Promo Terms - Understand any restrictions on promotional balance
  3. Monitor Reserved Funds - Check portfolio for funds tied up in resting orders
  4. Track Delayed Cash - Remember that sale profits are held until settlement
  5. Separate Real vs Play - Don't confuse EdgeCoins with real balance in your code

Next Steps​

Now that you understand your balance:


Need help? Check out the Player Balance API Reference for detailed endpoint documentation.