> ## Documentation Index
> Fetch the complete documentation index at: https://partners.elementpay.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Deposit instructions

# Deposit instructions

Fetch **funding coordinates** for a customer account: fiat bank details (IBAN / account+routing / SWIFT as returned) or a stablecoin wallet + network.

Prerequisite: open or list an account in [Accounts](/customers/accounts). Same banking gate: vault `approved`/`active` and `products.deposit_account.status=ready`.

<Warning>
  **Sandbox:** returned coordinates often do **not** credit usable balance for outbound testing. Contact Element Pay for a sandbox credit if you need to exercise [stablecoin sends](/customers/stablecoin-sends) or other debit flows. **Live:** show these details to the end-customer and wait for real funding. On-chain stablecoin deposits typically need the **correct network** and a practical minimum around **\~2.00** major units; dust / wrong-network sends may never credit. Confirm with `GET …/accounts/{account_id}` `available` balance and/or the `account.credited` webhook before spending.
</Warning>

Alternate funding / exit path for the same customer: corridor [quote → accept](/quickstart) (OnRamp into crypto or OffRamp out), where your key and catalog allow it.

## Auth and environments

```bash theme={null}
export BASE_SANDBOX="$BASE_SANDBOX"
export BASE_LIVE="$BASE_LIVE"
export BASE="$BASE_SANDBOX"
export API_KEY="is_test_…"
```

```http theme={null}
X-API-Key: <API_KEY>
Content-Type: application/json
```

## When to call

| Goal                       | Use                                                                                                                     |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Fund a **fiat** rail       | Show returned bank fields to the end-customer                                                                           |
| Fund a **stablecoin** rail | Show `wallet_address` + `network` (and any chain disclaimer)                                                            |
| Outbound send / payout     | Not this route. Use balance on the account, then [stablecoin sends](/customers/stablecoin-sends) or later payout guides |

## Happy path

<Steps>
  <Step title="Resolve account_id">
    [Accounts](/customers/accounts): open or list until you have an `account_id`
  </Step>

  <Step title="Get deposit instructions">
    `GET …/accounts/{account_id}/deposit-instructions`
  </Step>

  <Step title="Show coords to the customer">
    Use `instructions` / disclaimer fields as display copy; do not invent bank or chain details
  </Step>
</Steps>

## Request

```bash theme={null}
export CUSTOMER_ID="pcus_…"
export ACCOUNT_ID="18"   # fiat example; use a stablecoin account_id for wallet rails

curl -sS "$BASE/partner/customers/$CUSTOMER_ID/accounts/$ACCOUNT_ID/deposit-instructions" \
  -H "X-API-Key: $API_KEY" | jq '.data'
```

### Fiat example (`data`)

```json theme={null}
{
  "account_id": 18,
  "customer_id": "pcus_…",
  "asset_type": "fiat",
  "currency": "EUR",
  "network": null,
  "status": "ready",
  "account_holder_name": "Jane Doe",
  "account_number": "DE89370400440532013000",
  "bank_code": "COBADEFF",
  "bank_name": "Example Bank",
  "swift_bic": "COBADEFFXXX",
  "instructions": "Show the account holder name and these bank details to the customer. They should send a bank transfer in the account currency to this account."
}
```

### Stablecoin example (`data`)

```json theme={null}
{
  "account_id": 21,
  "customer_id": "pcus_…",
  "asset_type": "stablecoin",
  "currency": "USDC",
  "network": "Base",
  "status": "ready",
  "account_holder_name": "Jane Doe",
  "wallet_address": "0x40C2f2e0326bD1f647fbeB8732529e08B4DB309f",
  "chain_disclaimer": "Send only USDC on Base to this address. Funds sent on the wrong network may be lost.",
  "instructions": "Show the wallet address and network to the customer. They must send the matching stablecoin on that network only."
}
```

Field sets differ by rail. Use the keys returned for that `account_id`; do not assume every account includes both bank and wallet fields.

## Errors

| Situation                         | Typical                                           | Action                                                                 |
| --------------------------------- | ------------------------------------------------- | ---------------------------------------------------------------------- |
| Banking gate not ready            | `409` with message `Deposit account is not ready` | Poll `products.deposit_account` until `status=ready`                   |
| Account still provisioning coords | `422` (coords not ready yet)                      | Poll `GET …/accounts/{account_id}` until coordinates exist, then retry |
| Unknown account / customer        | `404`                                             | Use ids from this API key                                              |

## Next

* [Stablecoin sends](/customers/stablecoin-sends) once the account has balance
* [Accounts](/customers/accounts) · [Route cheat sheet](/customers/route-cheat-sheet)
