Skip to content

TYPESCRIPT SDK

LIVE

Aether Wealth SDK

A typed TypeScript client for the Aether Wealth public API — trades, accounts, stats, alerts, market data, macro calendar, and diary. Bring your API key; everything else is typed.

The programmatic way into your Aether Wealth data. Owner-scoped API keys, Zod-validated responses, typed errors, retries, and auto-pagination — in any Node, Bun, or edge runtime.

Install
npm install @aetherwealth/sdk
typescript@aetherwealth/sdk
import { AetherClient } from '@aetherwealth/sdk'

const client = new AetherClient({
  auth: { type: 'apiKey', apiKey: process.env.AETHER_API_KEY! },
})

const { data } = await client.trades.list({ status: 'OPEN' })

SDK status

The SDK is live on npm as @aetherwealth/sdk. Install it with npm i @aetherwealth/sdk, create a scoped key in the dashboard (Settings → API Keys), and pass it as auth — every call hits the same backend as the app, scoped to your account. baseUrl defaults to production; override it only for staging or local dev.

Quickstart

From install to your first request in a few lines.

Create a key in the dashboard, set it in your environment, and go — no userId, no shared secret, no baseUrl to hardcode.

quickstart.tstypescript
import { AetherClient } from '@aetherwealth/sdk'

const aether = new AetherClient({
  auth: { type: 'apiKey', apiKey: process.env.AETHER_API_KEY! },
})

// Read — typed + owner-scoped
const { data: openTrades } = await aether.trades.list({ status: 'OPEN' })
const stats = await aether.stats.summary({ pair: 'EURUSD' })

// Auto-paginate every trade — no manual page loop
for await (const trade of aether.trades.listAll({ pair: 'EURUSD' })) {
  // ...each trade
}

API coverage

Every data domain, fully typed.

Trades
List, get, create, update, and close trades — with filters and auto-paging iterators.
Accounts
List, create, update, and delete accounts, and read the trades under each one.
Stats
Aggregated performance — win rate, P&L, and R-multiple — by account, pair, or date range.
Alerts
Create and manage price, trendline, and indicator alerts on any pair and timeframe.
Market data
Instrument config, the economic calendar, and macro-indicator series like CPI and NFP.
Diary
Read and write your trading journal — daily entries, moods, ratings, and tags.

What you get

Batteries included, secrets protected.

Typed end to end
every request + response is typed; opt-in Zod validation on responses
Typed errors
AetherAuthError · AetherForbiddenError · AetherRateLimitError · AetherTimeoutError
Retries + idempotency
exponential backoff on 5xx/429; auto Idempotency-Key on creates
Auto-pagination
pages() and listAll() async iterators — no manual page loops
Secret-safe
browser guard, key redaction from errors, https-only transport
Any runtime
Node, Bun, and edge — inject your own fetch for tests or proxies

SDK FAQ

What is the Aether Wealth SDK?

@aetherwealth/sdk is the official, typed TypeScript client for the Aether Wealth public API. It gives you programmatic, owner-scoped access to your trades, accounts, stats, alerts, market data, macro calendar, and diary over a stable REST surface — with Zod-validated types, typed errors, retries, idempotency, and auto-pagination built in.

How do I authenticate?

Create a scoped API key in the dashboard under Settings → API Keys, then pass it as auth: { type: "apiKey", apiKey }. The key travels only on the Authorization header, and every request is scoped to your own account — you never send a userId or a shared secret.

Do I have to configure a base URL?

No. baseUrl defaults to the production API at https://api.aetherwealth.ai, so you only pass your key. Override baseUrl only when you want to target a staging environment or a local dev backend.

Which runtimes are supported?

Node 18+, Bun, and edge runtimes. The SDK is server-side by design — it refuses to run in a browser by default, because the API key is a long-lived secret that must never ship in client-side code. You can inject your own fetch for tests, proxies, or observability.

What can I read and write?

Read trades, accounts, stats, alerts, market data (config, economic calendar, macro series), and your diary. Keys default to read-only scopes; write scopes let you create, update, and close trades, alerts, and diary entries. What a key can do is always limited to the scopes you grant it.

Is it type-safe?

Yes — every request and response is typed end to end. Responses can be Zod-validated on demand, errors are typed by status (auth, forbidden, rate-limit, timeout, network), creates are idempotent, and list endpoints expose pages() and listAll() async iterators so you never write a manual pagination loop.