Check Your Balance
View your current account balances at any time.Sandbox Funding
In sandbox, use the deposit endpoint to add test funds instantly. No bank linking required. Returns204 on success. The deposit is processed asynchronously — the balance reflects it within a few seconds.
Amounts are in the lowest denomination of the currency. For USD,
10000000 = $100,000.00.Bank Transfer
Transfer funds from your bank to your Cadana business account using the account details provided by Cadana. Supports domestic ACH, wire (USD), and international SWIFT transfers.Get Your Funding Details
Retrieve the bank account details to send funds to. These are also available in the Dashboard under Business > Account > Top up Account. The response returns one or more funding accounts depending on the currencies enabled for your business. Pass the optionalcurrency query parameter to filter by a specific currency.
Example — USD:
For USD, the response includes three transfer methods: ACH, wire, and SWIFT.
ACH Direct Debit (USD only)
Link an external US bank account and pull funds directly into your Cadana account.Connect a Bank Account
There are two ways to link a bank account: Via Dashboard: Go to Settings > Payment Methods > Add payment method and follow the on-screen flow. Via hosted link (for platforms): Generate a hosted link that opens the bank connection flow. The user completes it in their browser and is redirected to your app. Response:url — this opens Cadana’s hosted link-out experience, where the user selects their bank and authorizes the connection. When they finish or exit, they’re redirected back to your returnURL (or refreshURL if the link has expired).
The mode parameter controls where the hosted flow starts:
Inside the link-out experience, the user connects their account one of two ways:
- Instant verification — the user signs in to their bank and the account is verified immediately. It comes back with status
activeand is ready to use. - Manual entry + micro-deposit — the user types their account and routing numbers. This is also the fallback when instant connection isn’t available for their bank or fails. The account is created with status
needs_confirmationand must be verified with a micro-deposit before it can be used — see Complete Micro-Deposit Verification.
Check the Account Status
After the user returns from the link-out experience, list external accounts to check the connection status. Each account carries one of these statuses:
Response:
Complete Micro-Deposit Verification
When an account is linked with micro-deposits, it stays inneeds_confirmation until the user confirms a small test deposit sent to their bank.
- One or two small test deposits (about $0.01) are sent to the linked bank account. These can take 1–2 business days to appear. The transaction carries a short verification code in its description (for example,
SM1A2B). - The business also receives a Micro-Deposit Verification Required email with the expected arrival date and step-by-step instructions.
- The user completes verification back in the hosted link-out experience — immediately after micro-deposit linking is initiated, the flow redirects them to the link-out page, where they enter the code.
- Once confirmed, the account transitions to
activeand can be used for deposits.
Resume Verification with a Verification Link
The test deposits take 1–2 business days, so users typically leave the flow before they can verify. To bring a user back to finish, generate a link inverification mode, scoped to the pending account:
Redirect the user to the returned url. It opens a focused verification page for that account only — the user can complete verification there but cannot add or remove payment methods, which makes it safe to trigger from an automated flow.
Take externalAccountId from the account list. Generating a verification link requires the account to be awaiting verification: the request fails with 404 for an unknown account and 400 if the account is already active.
There is no API endpoint to submit the micro-deposit code — verification is completed in the hosted link-out experience only. Poll the account status, or subscribe to the
external-account.added event, to detect when the account becomes active. Only active accounts can be used to create a deposit.Remove a Linked Account
Delete an external account that is no longer needed. A successful deletion returns a204 No Content response.
Create a Deposit
Initiate an ACH debit from the linked bank account. Also available in the Dashboard under Business > Account > Top up Account > ACH Direct Debit. Response:ACH deposits typically take 1–3 business days to settle. Your balance updates once the transfer completes.
Crypto Funding
Fund your account by sending USDC or USDT to your Cadana crypto wallet address.Crypto funding is not enabled by default. Contact your account manager to set it up.
Supported Chains
Create a Deposit Address
Deposit addresses are created per currency and chain — they don’t exist by default. Create one for each chain you want to receive on: Response:400 if crypto deposits aren’t enabled for the business, or if an address already exists for that currency and chain.
Get Your Crypto Wallet Address
Once created, call the funding details endpoint withcurrency=USDC or currency=USDT. The response includes a cryptoWallets array with your addresses for each chain.
Example response:
If a
memo is returned, you must include it in your transaction. Deposits without the required memo may not be credited.Webhook Notification
When funds arrive in your business account, Cadana emits atransaction.succeeded event with type: "DEPOSIT". Subscribe to this event to programmatically detect when your account has been funded.
JSON
Insufficient Funds During Payroll
If you approve a payroll without sufficient balance, it moves toawaiting funds status. Once you fund the account, the payroll proceeds automatically — no need to re-approve. See Payroll Lifecycle for details.
Manage Reserves (EOR)
Manage Reserves (EOR)
Reserves allow you to lock a portion of your business balance for obligations like security deposits, severance, or notice period payments. Locked funds are deducted from your available balance and held until released.To view reserve balances, pass
include=reserves:Lock reserves:Release reserves:Reserve types: SECURITY_DEPOSIT, SEVERANCE, NOTICE_PERIOD