Getting started
From zero to your first funded account. This guide takes you from credentials to opening and funding an account, using the same conventions every A8 Core™ endpoint follows.
Before you begin
A8 Core™ is an API-first account core. You integrate over HTTPS against a single base URL, and every account type — banking, wealth, retirement, custody, and private-fund accounts — is reached through the same operations. To start, you need API access and a pair of credentials.
- Request access at Request API access. We provision a sandbox key for your provider.
- Receive a key id and signing secret. The key id travels in the
Authorizationheader asHMAC keyId:signature:timestamp; the secret never leaves your servers. - Point your client at the base URL and make your first authenticated call.
Environments
| Environment | Base URL | Purpose |
|---|---|---|
| Sandbox | https://api.sandbox.a8core.com | Build and test against realistic, non-settling data. |
| Production | https://api.a8core.io | Live accounts and real money movement. |
Sandbox and production use separate credentials. A sandbox key never resolves production data, and vice versa — part of A8 Core™’s per-provider isolation.
The shape of every call
Requests and responses are JSON with PascalCase field names. Identifiers such as ClientId and AccountId are GUIDs; references you supply (like ProviderReferenceId) are free-form strings scoped to your provider. Every response carries the same envelope:
| Field | Type | Description |
|---|---|---|
RequestId | long | A 13-digit identifier for the request, used for audit tracing. |
Status | int | 1 when the operation passed, 0 when it failed. |
| (resource id) | Guid | Resource operations add the resulting id, e.g. AccountId. |
Quickstart: open and fund an account
Three calls take a brand-new client from nothing to a funded account.
1 · Create a client
"ProviderReferenceId": "cli-55021", "ClientType": "Individual", "Contact": { "FirstName": "Jordan", "LastName": "Rivera" }
"RequestId": 1736472902004, "Status": 1, "ClientId": "8fa2c1e4-5b6d-4f3a-9c2e-7d1a2b3c4d5e"
2 · Open an account
"ClientId": "8fa2c1e4-5b6d-4f3a-9c2e-7d1a2b3c4d5e", "AccountType": "Roth", "ProviderReferenceId": "acct-10293"
3 · Fund it
"Amount": 5000.00, "Currency": "USD", "PaymentMethodType": "ECheck", "ProviderReferenceId": "fund-90233"
Build idempotency in from day one
Send a stable ProviderReferenceId on every create and money-movement call. A8 Core™ treats a repeated reference from your provider as the same operation, so a network retry never opens a duplicate account or double-posts a deposit. It costs nothing to add now and prevents the hardest class of bugs later.
You now have the full pattern: authenticate, send PascalCase JSON, read the envelope, and key every write with a reference. Everything else in the API follows these same rules.
Where to next
Talk to a human.
Stuck on an integration? Our team answers developer questions directly.