Account Management
Creating client accounts, tracking balances across 23 currencies, and internal settlements.
An Account represents an isolated balance sheet within your client tenant. You can instantiate accounts for individual retail users, business entities, or separate corporate treasury divisions.
Creating an Account
Every account is linked to the identification of its holder, so verify or import the holder
first (see Identity Verification). Then create the account
with the identification's ID, or with the external_uuid you gave it.
Request
curl -X POST https://sandbox.depasify.com/api/v1/accounts \
-H "Authorization: Bearer <your_jwt_token>" \
-H "Content-Type: application/json" \
-d '{
"identification_uuid": "25f21bf7-54d2-4b47-9db2-af48558df5eb"
}'Response
{
"data": {
"id": "8f3a2c1e-5b7d-4e9a-9c21-7d4b6e0f1a23",
"referral": "P2ZRZ5",
"status": "active",
"alias": null,
"created_at": 1772813114,
"balance": {},
"status_verification": "approved",
"complete_name": "Acme Ltd",
"identification_external_uuid": "016aba24-5d22-4008-b7ed-0c77bbe044c6",
"identification_uuid": "25f21bf7-54d2-4b47-9db2-af48558df5eb"
}
}referral is the account's payment reference: incoming transfers to a pooled bank account that
quote it are credited to this account.
Querying Account Balances
The balance endpoint returns the account's balance in every currency it holds, as decimal
strings. Add include[details]=true to split each balance into available and
pending_settlement.
Request
curl -G https://sandbox.depasify.com/api/v1/accounts/8f3a2c1e-5b7d-4e9a-9c21-7d4b6e0f1a23/balance \
-H "Authorization: Bearer <your_jwt_token>" \
--data-urlencode "include[details]=true"Response
{
"data": {
"EUR": "159200.5",
"USD": "85000.0",
"USDC": "42750.0",
"details": {
"EUR": { "available": "154200.5", "pending_settlement": "5000.0" },
"USD": { "available": "85000.0", "pending_settlement": "0.0" }
}
}
}Internal Settlements Between Accounts
Move funds between two accounts in your vault without using an external payment rail. Both
sides post a ledger entry, and metadata is stored with them for your own reporting:
curl -X POST https://sandbox.depasify.com/api/v1/accounts/8f3a2c1e-5b7d-4e9a-9c21-7d4b6e0f1a23/internal_settlement \
-H "Authorization: Bearer <your_jwt_token>" \
-H "Content-Type: application/json" \
-d '{
"destination_account_id": "2b9e4f6a-1c3d-4a8b-b5e7-9f0c2d4e6a81",
"amount": "10000.00",
"currency": "EUR",
"metadata": { "description": "Internal liquidity rebalancing", "category": "treasury" }
}'The response returns the debit posted on the source account and the credit posted on the
destination in from and to. See Ledger in the API reference for every
field.