Overview
An account in Trace Finance is multi-currency: every account includes crypto support by default, and you declare which fiat assets (like BRL) to enable when you create it. Each fiat asset and the crypto wallet run their own onboarding pipelines.Prerequisites
- Valid authentication credentials.
- Account owner details (legal name, tax ID, industry, expected monthly volume, and address). See KYC/KYB for the document checklist that follows account creation.
Steps
Create the account
Submit a request with the fiat assets to enable and the account owner’s details. Crypto support is always included — you don’t need to declare it.The response returns the account in
ACTION_REQUIRED status along with the document types required for onboarding under requirements.currentlyDue. Fiat onboarding requires document uploads; crypto has none. Need to fix a rejected field after creation? Use PATCH /api/accounts/{accountId} to replace the owner profile before submitting for review.Upload required documents
The creation response includes a Returns
requirements.currentlyDue array listing every document you need to provide. Each item carries a type discriminator — ACCOUNT_DOCUMENT / UBO_DOCUMENT for a specific documentType, or IDENTITY_VERIFICATION / INCORPORATION_DOCUMENT for a grouped requirement whose options array lists the acceptable document types together with the subTypes and requiredMetadata each option needs. Documents are uploaded against the flat /api/documents endpoint — set holder.type to ACCOUNT and holder.referenceId to the account ID:204 No Content. Upload one document per request, repeating for every requirement listed in currentlyDue.Add beneficial owners (company accounts)
Company-owned accounts require at least one beneficial owner (UBO). Register each UBO with their identity, contact, and address details. The response includes the UBO’s
phone and email are required so we can reach the UBO for follow-up during compliance review.id, which you’ll need for uploading their documents.Upload UBO documents
Each UBO needs identity documents. Use the same Returns
/api/documents endpoint — set holder.type to UBO and holder.referenceId to the UBO’s id. Identity documents typically require a documentSubType (e.g., FRONT_SIDE / BACK_SIDE) and a metadata.country:204 No Content. Repeat for every side and every UBO registered on the account.Submit for review
Once all required documents are uploaded, submit the account for compliance review. This endpoint has no request body:Returns
202 Accepted. The account transitions from ACTION_REQUIRED to REVIEWING. If any documents are still missing or rejected, the API returns 422 with a MISSING_DOCUMENTS_FOR_REVIEW error listing the outstanding documentType names.Wait for activation
After review is approved, each asset activates on its own pipeline. Subscribe to the
ACCOUNT_ASSET_ACTIVATED and ACCOUNT_ASSET_FAILED webhooks to react as each asset finishes, or poll GET /api/accounts/{accountId} — the account moves through OPENING and becomes ACTIVE once the first underlying provider account finishes onboarding (typically the crypto wallet, since it has no manual steps). Each entry in the response’s assets array carries its own provider-account status (ONBOARDING, ACTIVE, FAILED, FROZEN, DEACTIVATED) so you can see which assets are ready.What happens next
- Make a deposit — fund the account with BRL or crypto.
- Execute a swap — convert between the account’s assets.