Allwallex API ยท v1

Move between workspace wallets.

Working testnet workflow: request a quote, verify a passkey, confirm once, and retrieve the saved receipt. Both wallets belong to the same workspace and chain.

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

01Choose an exact asset identity

For example, ethereum:sepolia:usdc is a test asset. It cannot use ethereum:usdc mainnet balances or Base USDC. GET /v1/assets returns explicit chain and environment metadata.

02Review a 60-second quote

Send a decimal amount as a string. The response contains atomic amounts, both wallet IDs, processing fee, zero network fee, total debit, tariff version and expiry. Quotes do not reserve a balance.

03Confirm with recent verification

Current endpoints use a same-origin user session, workspace owner/admin permission and a passkey verified within 15 minutes. Merchant API-key authentication is still being implemented.

04Recover an interrupted response

Keep the confirmation Idempotency-Key. Read the quote status to recover its receipt, or retry the identical confirmation. Cancel an open quote atomically before starting a replacement transfer. Cancellation returns the receipt if confirmation already committed.

05Follow the record

One database transaction writes balanced ledger entries, the operation, fee assessment, consumed quote, idempotency response, audit and outbox event. Internal movements do not broadcast a blockchain transaction.

POST /v1/workspaces/{workspaceId}/internal-transfer-quotes
Idempotency-Key: <quote-request-id>
{ "sourceWalletId": "<uuid>", "destinationWalletId": "<uuid>", "assetId": "ethereum:sepolia:usdc", "amount": "25.5", "reference": "Store settlement" }

POST /v1/workspaces/{workspaceId}/internal-transfers
Idempotency-Key: <confirmation-request-id>
{ "quoteId": "<saved-quote-uuid>" }

GET /v1/workspaces/{workspaceId}/internal-transfer-quotes/{quoteId}
POST /v1/workspaces/{workspaceId}/internal-transfer-quotes/{quoteId}/cancel
{}

GET /v1/workspaces/{workspaceId}/internal-transfers?before=<last-transfer-id>
Open your workspace