English Version
Cash In
Fund deposits in API Broker are a 100% asynchronous process. The user initiates a bank transfer, and API Broker detects the deposit, associates it with the corresponding brokerage account, and notifies the partner via webhook. Your platform does not need to poll: it simply receives the event and updates the user's balance.
How it works
User transfers → Bank detects the credit → API Broker identifies the depositor by tax ID
→ Credits to investment_account_id → Fires deposit_create webhook → Your platform updates UI
The entire process occurs automatically. There is no endpoint the partner needs to call to initiate or confirm a deposit.
Deposit models
Option 1 — BIND bank collection account (default)
Adcap Securities provides collection bank accounts (CBU) in ARS and USD at BIND bank. The user transfers from any bank account to that CBU.
API Broker monitors movements in real time, identifies the depositor by tax ID, and credits the balance to the corresponding brokerage account.
Key requirement: the source CBU of the transfer must belong to the same account holder as the brokerage account (same tax ID). Deposits from third parties are not credited.
Option 2 — PSP or Bank collection account
For partners operating as Payment Service Providers or Banks looking to reduce latency and costs. In this model, Adcap operates a collection account (CVU/CBU) within the partner's PSP and/or Bank.
This requires the partner to develop and expose a set of endpoints so that API Broker can query movements, balances, and instruct transfers.
Webhook: deposit_create
deposit_createWhen a deposit is successfully credited, API Broker sends a POST notification to the webhook URL configured for your platform.
Configuration
Your platform must expose a public URL accessible from the internet, without VPN. The URL is registered during the Homologation stage together with the API Broker team, and during integration in test environments.
Topic
deposit_create
Example payload
{
"topic": "deposit_create",
"items": [
{
"investment_account_id": 43101,
"currency_id": "ARS",
"amount": 50000.00,
"trade_date": "2025-06-10",
"status_id": "COMPLETED",
"deposit_id": 631184,
"tax_identification_value": "20301234567"
}
]
}Field descriptions
| Field | Type | Description |
|---|---|---|
topic | string | Always "deposit_create" |
investment_account_id | int | Brokerage account that received the deposit |
currency_id | string | Credited currency: ARS or USD |
amount | number | Credited amount |
trade_date | string | Date of the credit (format YYYY-MM-DD) |
status_id | string | Deposit status. Always COMPLETED for this event |
deposit_id | int | Unique deposit identifier in API Broker. Useful for reconciliation |
tax_identification_value | string | Depositor's tax ID |
Expected webhook response
Your endpoint must respond with HTTP 200 to confirm receipt. If API Broker does not receive a successful response, it will retry the delivery.
Process the webhook idempotently: the same event may be received more than once due to retries. Use
deposit_idas the deduplication key.
Balance query after deposit
Once the webhook is received, you can confirm the credited balance by querying the account statement:
GET /api/portfolio/accountstatements/{investment_account_id}
If the Balance Remuneration module is active, include:
GET /api/portfolio/accountstatements/{investment_account_id}?include_remunerated_balance=true
Supported currencies
| Currency | BIND collection account | PSP collection account |
|---|---|---|
| ARS (Argentine Pesos) | ✅ | ✅ |
| USD (US Dollars) | ✅ | Subject to agreement |
Operational considerations
- Identification is by tax ID: if the depositor does not have an active brokerage account or the tax ID does not match the source CBU, the deposit will not be credited automatically.
- Do not use polling: there is no need to periodically query the deposit status. The
deposit_createwebhook is the reliable crediting signal. deposit_idis unique per deposit and can be used for traceability and reconciliation.- USD deposits are credited to the user's brokerage account and can be used directly to operate MEP Dollar or USD-denominated mutual funds.
Key points to remember
- The process is 100% asynchronous: there is no confirmation endpoint — everything arrives via webhook.
- Implementing
deposit_createis mandatory for your platform to know when the balance is available. - Use
deposit_idfor deduplication: process the event idempotently. - Identification is by tax ID: the source CBU must match the brokerage account holder.
- Respond with HTTP 200 to the webhook to avoid unnecessary retries.
- Onboarding is a prerequisite: without an active
investment_account_id, the deposit cannot be associated with the user.
Updated 6 months ago
