# Deposit Fiat

> Wire fiat currency into your Alpha Ladder account using first-party bank transfer, same-name (named account), or third-party (COBO) paths via the MCP API.

Send fiat funds into a Alpha Ladder account by wiring to Alpha Ladder's bank details (first-party), using a registered named account (same-name), or initiating a managed COBO transfer (third-party).

## Before you start

Call `get_module_permissions` and confirm the `deposit` module returns `hasPermission: true` before proceeding. If permission is missing, the downstream tools will be rejected. See [Module permissions](/developers/financial-services/concepts#module-permissions).

## The flow

Alpha Ladder supports three fiat deposit paths. Choose the one that matches the depositor relationship.

### Path A — First-party wire (account owner wires directly)

<Steps>

<Step>

**Discover currencies** — call `get_fiat_deposit_currencies` to list available fiat currencies (use default parameters for first-party).

</Step>

<Step>

**Get the wire details** — call `get_deposit_bank_account` (currency) to retrieve Alpha Ladder's receiving bank account details (IBAN, SWIFT/BIC, bank address) that the user should wire funds to.

Show the returned bank details to the user. The user initiates the wire outside the MCP surface; no execute call is required.

</Step>

</Steps>

### Path B — Same-name (named account) deposit

<Steps>

<Step>

**Discover currencies** — call `get_fiat_deposit_currencies` (`isSameNameAccount: true`) to list currencies available for named-account deposits.

</Step>

<Step>

**Confirm same-name support** — call `get_named_account_currencies` to confirm which currencies support the same-name transfer path.

</Step>

<Step>

**Retrieve named accounts** — call `get_named_account_list` to retrieve the user's registered named bank accounts (IBAN, SWIFT, owner name) to share with the sending bank.

The user wires from their own registered bank account; no execute call is required. For an explanation of first-party vs third-party and what "named account" means, see [First-party vs third-party](/developers/financial-services/concepts#first-party-vs-third-party-cobo).

</Step>

</Steps>

### Path C — Third-party (COBO) deposit

<Steps>

<Step>

**Discover currencies** — call `get_fiat_deposit_currencies` (`withdrawalParty: 'third_party'`) to list currencies available for third-party deposits.

</Step>

<Step>

**List COBO payors** — call `get_fiat_deposit_bank_accounts` (`withdrawalParty: 'third_party'`) to list the configured COBO payor bank accounts (each with `baNumber`, owner info, and relationship).

</Step>

<Step>

**Preview fees** — call `get_third_party_fiat_deposit_estimate` (currency, amount, feePayer, baNumber) to preview the fee breakdown and net/gross amounts before committing. Show the estimate to the user and ask for explicit confirmation.

</Step>

<Step>

**Submit the deposit** — call `execute_third_party_fiat_deposit_submit` to submit the deposit request. Returns a `depositNumber` reference.

<Callout type="warn">Destructive — call this only after the user has explicitly confirmed the fee and amounts shown by `get_third_party_fiat_deposit_estimate`.</Callout>

</Step>

</Steps>

For the `feePayer` field: `'paid_by_me'` deducts the fee from the deposited amount; `'paid_by_third_party'` adds it on top. See [Fees and charge types](/developers/financial-services/concepts#fees-and-charge-types).

## Ask in chat

> "I want to deposit 5,000 USD into my Alpha Ladder account. The funds are coming from a third-party COBO payor."

The agent will call `get_fiat_deposit_currencies` (third_party), list your COBO payors via `get_fiat_deposit_bank_accounts`, calculate fees with `get_third_party_fiat_deposit_estimate`, and ask you to confirm before submitting.

## What you get back

`execute_third_party_fiat_deposit_submit` returns `{ depositNumber }` — the unique deposit reference (e.g. `"DP2026..."`). For first-party and same-name paths, the bank wiring details are returned by `get_deposit_bank_account` or `get_named_account_list` respectively; the user completes the transfer through their bank.

For full field descriptions and status conventions, see [Response Reference](/developers/financial-services/responses).
