Skip to main content
A LedgerAccount represents a wallet that can send and receive funds. Each submerchant (Company) under your platform has a LedgerAccount which tracks their balance across different currencies.

What is a LedgerAccount?

A LedgerAccount is a financial account that:
  • Sends and receives funds: Acts as a wallet for representing money
  • Tracks balances: Maintains balance information for each currency
  • Supports multiple currencies: Can hold balances in different currencies simultaneously
Each Company on your platform has a LedgerAccount that tracks their available funds. When payments are processed or transfers are made, the LedgerAccount balance is updated accordingly.

Balance information

The LedgerAccount object contains balance information in the balances array. Each balance entry includes:
  • balance: The current available balance
  • currency: The ISO currency code (e.g., “usd”, “eur”)
  • pending_balance: Funds that are pending and not yet available. It can take anywhere from one to seven days for funds to settle into an account, depending on the payment method and transaction type.
  • reserve_balance: Funds held in reserve. In some instances, Whop will take out a reserve against an account due to suspected fraud or elevated risk.
A LedgerAccount can have balances in multiple currencies. Check the balances array to see all currencies and their respective amounts.

API Reference

Retrieve Ledger Account API

See the full API reference for retrieving ledger accounts and all available fields

Retrieving a LedgerAccount

You can retrieve a LedgerAccount using the company’s ID (the biz_ ID). Each Company on your platform has a LedgerAccount associated with it, and you can access it directly using the company identifier.

Example

Here’s an example of how to retrieve a LedgerAccount using a company ID (biz_) with the Python SDK:
from whop_sdk import Whop

client = Whop(
    api_key="my_api_key",
)

ledger_account = client.ledger_accounts.retrieve(
    "biz_xxxxxxxxxxxxx",
)

print(ledger_account.id)
The response includes detailed information about the ledger account:
{
  "id": "ldgr_xxxxxxxxxxxxx",
  "balances": [
    {
      "balance": 1543.25,
      "currency": "usd",
      "pending_balance": 272.77,
      "reserve_balance": 0.0
    }
  ],
  "transfer_fee": 3.0,
  "ledger_account_audit_status": "pending",
  "payments_approval_status": "pending",
  "ledger_type": "primary",
  "owner": {
    "typename": "<string>",
    "id": "user_xxxxxxxxxxxxx",
    "name": "<string>",
    "username": "<string>"
  }
}
In this example:
  • The ledger account is retrieved using the company ID (biz_xxxxxxxxxxxxx)
  • id is the unique identifier for the ledger account
  • balances is an array containing balance information for each currency
  • owner contains information about the company that owns this ledger account
  • ledger_type indicates the type of ledger account (e.g., “primary”)
  • ledger_account_audit_status and payments_approval_status show the current status of the account