Concepts & Glossary
The core vocabulary the Partner API and the rest of these docs rely on — partner, sub-account, master wallet, float, settlement, buying power, idempotency, webhooks and more.
The vocabulary the rest of these docs (and the API itself) relies on. Every term below has a
stable anchor — link to #term-<slug> from your own runbooks and internal docs.
Partner
Your business — the account behind a full API key (pk_live_ / sk_sandbox_). A partner owns one master wallet, any number of sub-accounts, webhooks, and pricing configuration. Your tier sets rate limits and scopes.
See: Authentication
Sub-account
An end user of your app, created with POST /users using your own externalId — your internal user ID, which doubles as the idempotency key (or POST /auto-register, which takes the same value as its uid field). Each sub-account has an isolated USD trading wallet and portfolio under your master account, identified by a usr_ id.
See: Sub-Accounts
Master wallet
Your partner-level USD balance. Funded by POST /topup (bank remittance, admin-confirmed); it is the source of every sub-account deposit and receives funds back on withdrawals. POST /payout moves money out to your bank.
See: Fund Flow
Float
(headroom / credit line)
Your funding headroom: availableToFundUsd = master balance + credit line − pending top-ups. GET /float reports it; the float.low webhook fires when the balance crosses your threshold (PATCH /float). An admin-set creditLimitUsd can let sub-account deposits run the master balance negative while your remittance is in flight.
See: Fund Flow
Trading wallet
The sub-account’s own USD wallet. Deposits credit it, BUY orders escrow from it (price + fees at order time), and SELL proceeds land in it once the trade settles.
Order vs Execution
An order is the instruction — BUY or SELL, market or LIMIT/STOP/STOP_LIMIT — and carries the status lifecycle (PENDING, WORKING, PROCESSING, COMPLETED/FILLED, REJECTED, CANCELLED). An execution is a fill report attached to the order (GET /orders/{id}/executions); one order can settle through one or more executions.
See: Trading
Holding
(position)
The settled units of one instrument inside a sub-account portfolio, with cost basis and current value (GET /users/{id}/portfolio). Fractional units are tracked natively.
Tax lot
A FIFO parcel of units from a single acquisition, with its own per-unit cost basis and acquisition date (GET /users/{id}/tax-lots). Disposals are matched to lots oldest-first to compute realized gains for CGT statements (GET /users/{id}/gains).
See: Reports
Settlement
(T+N)
Exchange finality, N business days after a fill — EGX settles on T+2; the other supported exchanges settle on T+3. SELL proceeds remain unsettled until the settlement date and are excluded from withdrawable cash until then.
Buying power
What a sub-account can trade versus withdraw right now: buyingPowerUsd includes unsettled SELL proceeds, withdrawableUsd excludes them (GET /users/{id}/buying-power). Platforms with settlement holds enabled reject over-withdrawals with 400 UNSETTLED_FUNDS.
See: Trading
Corporate action
An issuer event that changes holdings without a trade: split, rights issue, bonus, merger, delisting, or symbol change. Pushed via the corporateaction.declared webhook with the affected sub-accounts and their units — apply it or cached quantities go stale.
See: Webhooks
Dividend
A cash distribution per share held. Credited to sub-account trading wallets and pushed via the dividend.paid webhook, grouped by symbol with a per-sub-account distributions array.
See: Webhooks
Idempotency key
A unique header value that makes money-movement and account state-changing POSTs safe to retry: duplicates are deduplicated for 24 hours and replay the original response; a concurrent duplicate returns 409 until the first request completes. Required (not optional) on deposit, withdraw, trade, topup, payout, KYC assertion, subscribe, redeem, and webhook creation — those return 400 MISSING_IDEMPOTENCY_KEY without it.
See: Authentication
Webhook delivery
One attempt to POST an event to your endpoint, signed with x-mystocks-signature. Delivery is at-least-once with up to 6 attempts on an exponential back-off (immediate to 2 h) — dedupe by event id and treat handlers as idempotent.
See: Webhooks