Account Hub Tools
Tools for managing user profile, broker accounts, billing, quota, and
feedback. Revealed by calling the account hub tool.
whoami
Return the authenticated user's profile.
Parameters: None.
Response: WhoamiResult
{
"id": "u1v2w3x4-...",
"email": "[email protected]",
"tier": "free",
"mode": "paper",
"onboarding_step": null,
"active_account": "a1b2c3d4-...",
"account_count": 2,
"created_at": "2026-04-15T10:00:00Z"
}
| Field | Description |
|---|---|
tier |
"free", "waitlist", or "paid". Controls algorithm access |
mode |
"paper" (simulated) or "live" (real money) |
onboarding_step |
Current step if incomplete, null when done |
active_account |
UUID of the broker account used for trading |
account_count |
Total connected accounts (paper + live) |
get_accounts
List connected broker accounts with balances.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
broker |
string | No | null | Filter by broker name (e.g. "alpaca") |
Response: Array of BrokerAccountResult objects.
[
{
"broker": "alpaca",
"account_id": "a1b2c3d4-...",
"label": "My Paper Account",
"active": true,
"balance": {
"equity": 52340.50,
"cash": 48200.00,
"buying_power": 96400.00
}
},
{
"broker": "alpaca",
"account_id": "b2c3d4e5-...",
"label": "Live Trading",
"active": false,
"balance": null
}
]
Balance is only populated on the active account.
set_active_account
Switch the active broker account. All subsequent trading operations route through this account.
| Parameter | Type | Required | Description |
|---|---|---|---|
account_id |
string | Yes | UUID of the broker account to activate |
Response: OkResult
{
"ok": true,
"message": "Active account set to a1b2c3d4-..."
}
connect_broker
Connect a new broker account. Post-onboarding equivalent of set_broker_keys.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
broker |
string | Yes | -- | Broker name (currently "alpaca") |
mode |
string | Yes | -- | "paper" or "live" |
auth_method |
string | No | "api_key" | "api_key" or "oauth2" |
api_key |
string | Conditional | -- | Required for api_key method |
api_secret |
string | Conditional | -- | Required for api_key method |
label |
string | No | null | Optional display name |
Validates credentials against the broker before storing. Credentials are encrypted at rest.
Response: OkResult
set_risk_profile
Change experience level and risk tolerance. Updates the default optimizer preset.
| Parameter | Type | Required | Description |
|---|---|---|---|
options_experience |
string | Yes | "never", "a_few_times", or "regularly" |
iron_condor_experience |
string | Yes | "never", "understand_not_traded", or "yes" |
risk_tolerance |
string | Yes | "conservative", "moderate", or "aggressive" |
The risk tolerance maps to the default optimizer preset:
conservative-> conservative preset (high PoP floor, tight delta ranges)moderate-> balanced preset (standard ranges)aggressive-> aggressive preset (wider ranges, lower PoP floor)
Response: OkResult
get_quota_remaining
Check daily quota for a tool without consuming a slot. Call this before running expensive tools to avoid quota errors.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
tool_name |
string | No | "create_strategy" | "create_strategy" or "find_iron_condors" |
Response:
{
"tool": "create_strategy",
"remaining": 3,
"limit": 5,
"tier": "free"
}
Free tier has limited daily calls. Premium tier has higher or unlimited quotas.
submit_feedback
Submit feedback -- bug reports, feature requests, or general comments.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
message |
string | Yes | -- | The user's feedback |
category |
string | No | "general" | "general", "bug", "feature_request", "complaint", or "praise" |
Response: OkResult
billing
Collapsed action tool for billing and subscription management.
get_fees
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
action |
string | Yes | -- | "get_fees" |
billing_period |
string | No | null | Optional YYYY-MM period filter |
Returns fee summary with live and paper totals.
get_subscription
| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | "get_subscription" |
Returns current subscription details (plan, status, renewal date). Free tier users see their plan as "free".
cancel_subscription
| Parameter | Type | Required | Description |
|---|---|---|---|
action |
string | Yes | "cancel_subscription" |
Cancels the active subscription. Takes effect at the end of the current billing period. Only available to subscribed users.
Errors: SUBSCRIPTION_NOT_FOUND if no active subscription exists.
Cross-references
- hub-tools.md --
accounthub reveals these tools - onboarding.md -- initial broker setup during onboarding
- auth.md -- authentication before account access
- ../guides/free-vs-premium.md -- tier differences
- ../concepts/error-codes.md -- BROKER_NOT_CONNECTED, QUOTA_EXCEEDED errors