Portfolio management

List accounts

List all accounts available to the user. This includes FCM accounts, which must be specified when sending orders.

res = await client.list_accounts()

for item in res:
    print(item.account.name)

Account permissions

Permission
Description

list

Trader is allowed to know about the account but not its balances or positions

reduce_or_close

Trader can send orders only to reduce or close (risk manager)

set_limits

Trader allowed to set or change risk limits on the account

trade

Trader allowed to send orders

view

Read-only view of account, including balances and positions

Get account summary

Get an account summary for a specified account.

Account summary fields

Field
Description

account

Account ID

timestamp

Snapshot timestamp

equity

Total account equity or net liquidation value

cash_excess

Withdrawable cash

purchasing_power

Total purchasing power of the account

unrealized_pnl

Unrealized P&L

realized_pnl

Realized P&L

yesterday_equity

Yesterday account equity or net liquidation value; not provided on all venues

total_margin

Margin usage including open orders and positions

position_margin

Margin usage including only positions

balances

Map of products/assets to their quantities

positions

See "Account Positions" table

Get position summary

Get an aggregated summary of positions and a snapshot of unrealized PnL and notional value for a specified account(s).

Get account history

Get historical snapshots of account summaries for the specified account.

Paper Trading Accounts

Paper trading accounts allow users to test strategies and practice trading without real money. Each user automatically has access to a default paper account with the format PAPER:{email}. Users can create up to 2 additional paper accounts.

Enable paper trading (GraphQL)

Enable paper trading for the authenticated user through the GraphQL API. This creates the default paper account if it doesn't exist.

Open paper account

Create a new paper trading account for the authenticated user.

Request Parameters:

  • account_name (optional): Custom name for the paper account

    • If not specified, creates/accesses the default account PAPER:{email}

    • When specified, creates account as PAPER:{email}:{account_name}

  • usd_balance_cents (optional): Initial balance in USD cents

    • If not specified, uses default balance ($100,000)

Note: Users can have 1 default account plus up to 2 additional named accounts. Contact Architect for access to additional accounts.

Reset paper account

Reset the cash balance in a paper account.

Request Parameters:

  • account: Account identifier (UUID or name)

    • Accepts: PAPER:{email}, PAPER:{email}:{name}, or account UUID

  • usd_balance_cents (optional): Balance to reset to in USD cents

    • If not specified, resets to default balance

Error Handling

Common error scenarios and solutions:

Account Limit Exceeded

  • Error when trying to create more than three paper accounts

  • Solution: Contact Architect for increased limits, support[at]architect.co

Account Not Found

  • Specified account doesn't exist for reset operations

  • Verify account name/ID is correct

  • Ensure account was created before attempting operations

Last updated