Allwallex API ยท v1

Scoped server API keys.

Scoped testnet credentials support managed wallets, approved receiving details, ledger reads, bounded internal transfers and merchant checkout orders.

Testnet environment. Transactions use test assets and do not settle real payments.

01Issue a key securely

Open Developers, verify your passkey, choose the permissions your application needs, an expiry of 1โ€“365 days and a limit of 1โ€“600 requests/minute. POST /v1/workspaces/{workspaceId}/developer-access/keys uses an app session and Idempotency-Key. The raw secret is returned once and never stored in the idempotency response.

02Recover an interrupted response

Retry the identical issuance request with its original key. An existing issuance returns secret=null and secretAvailable=false, together with current metadata. If the first secret was not saved, revoke that key and create another. The UI saves pending request metadata, never the secret.

03Choose exact permissions

workspace:read permits GET /v1/merchant/workspace. wallets:read permits GET /v1/merchant/wallets and GET /v1/merchant/wallets/{id}. wallets:create permits POST /v1/merchant/wallets with a stable Idempotency-Key. wallets:receive permits GET /v1/merchant/wallets/{id}/receive. deposits:read permits GET /v1/merchant/deposits. statements:read permits GET /v1/merchant/statements with walletId, assetId, from, to and optional timezone. Workspace identity comes only from the key. Wallet pages default to 50 rows, support limit 1โ€“100 and a before cursor, and return nextCursor; metadata responses withhold receiving addresses.

04Keep the credential on your backend

Send the secret only in Authorization: Bearer over HTTPS. Browser Origin or Sec-Fetch-Site requests are refused; native Node fetch is supported, and both dashboard proxies reject /v1/merchant paths. Secret values must not appear in HTML, browser bundles, mobile apps, URLs or logs. Production service deployment and private account verification are separate release requirements.

05Handle quotas and access changes

X-Allwallex-Key-Limit, X-Allwallex-Key-Remaining and X-Allwallex-Key-Reset report the per-key minute window; a 429 includes Retry-After. Denied-scope requests consume this budget. The shared workspace budget is 120 requests/minute across valid keys and API replicas. Rotating keys does not increase that budget. Anonymous traffic has a separate trusted client-network budget. Store failures return 503 with Retry-After; wait before retrying with the same original idempotency key. Revoked, expired, creator-demoted or inactive/expired website-bound keys are rejected. Logout does not revoke an independent server credential.

06Receiving readiness

The receiving endpoint returns an address only while custody setup, current network monitoring, published deposit pricing and an address-bound operator approval are valid. state=available includes the approved address; setup_required, paused and temporarily_unavailable return address=null. Display the network and supported assets together with the address, and refresh readiness before presenting new payment instructions. This permission cannot activate receiving or send funds.

07Rotate and revoke

A replacement issuance uses replacesKeyId and caps the old key expiry to 24 hours without extending an earlier expiry. Financial replacements retain the same internal-transfer policy and share daily usage. Deploy and test the new secret, then revoke the old key with recent app MFA. Revocation is permanent. External sending and signing remain unavailable through server keys.

GET https://api.allwallex.com/v1/merchant/workspace
Authorization: Bearer <server-only-aw_test_token>

GET /v1/merchant/wallets
GET /v1/merchant/deposits?state=credited
GET /v1/merchant/statements?walletId=<uuid>&assetId=ethereum%3Asepolia%3Aeth&from=2026-01-01T00%3A00%3A00.000Z&to=2026-02-01T00%3A00%3A00.000Z

# Secret issuance replay
{ "apiKey": { "id": "<original-key-id>" }, "secret": null, "secretAvailable": false }
Open your workspace