---
title: "Create Deposit"
method: POST
path: "/deposits"
tags: ["Deposits"]
---

# Create Deposit

`POST /deposits`

Resolves a deposit destination and returns the on-chain addresses that can fund it. No authentication is required; any business can be resolved by its account ID. A caller authenticated as a user can additionally resolve their own user account.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `amount` number — Amount to prefill on hosted deposit page.
  - `destination` union, required — Destination account ID or wallet address. Object form is supported for compatibility.
    - string
    - object
      - `account_id` string — Destination account ID.
      - `address` string — Destination wallet address.
      - `network` string — Destination wallet network.
  - `metadata` object — Metadata to include with the deposit response.
  - `network` string, nullable — Destination network override.

## Response `201`

deposit created

- object
  - `account_id` string, nullable, required — Account ID of the destination owner. Null for raw wallet address destinations.
  - `amount` string — Requested deposit amount.
  - `hosted_url` string, nullable, required — URL of the hosted deposit page. Only present for business destinations.
  - `metadata` object, required — Metadata from the request.
  - `methods` object, required — Available deposit methods for destination.
    - `bank` object, nullable, required — Bank deposit details. Only present when bank deposits are active for the destination account.
      - `currencies` object[], required — Bank transfer currencies available for this deposit.
        - `account_number` string, nullable, required — Bank account number for deposits in this currency.
        - `currency` string, required — Currency supported by these bank instructions.
        - `deposit_bank_address` string, nullable, required — Receiving bank address.
        - `deposit_bank_name` string, nullable, required — Receiving bank name.
        - `deposit_beneficiary_name` string, nullable, required — Beneficiary name to use for transfer.
        - `deposit_reference` string, nullable, required — Reference to include with bank transfer.
        - `rails` string[], required — Active deposit rails for this currency, such as `ach`, `wire`, or `sepa`.
        - `routing_number` string, nullable, required — Bank routing number for deposits in this currency.
        - `swift_bic` string, nullable, required — SWIFT/BIC code for international wires, when available.
    - `crypto` object[], required — Crypto networks available for this deposit, each with its on-chain deposit address and the tokens accepted on that network.
      - `deposit_address` string, nullable, required — Address to send funds to on this network. Null when the provider has not issued one yet.
      - `icon_url` string, nullable, required — Network icon URL.
      - `name` string, required — Network display name, such as `Ethereum` or `Solana`.
      - `supported_currencies` object[], required — Tokens accepted for deposit on this network.
        - `icon_url` string, nullable, required — Token icon URL. Null when no icon is available.
        - `name` string, required — Token symbol, such as `USDC`.
  - `object` 'deposit', required

## Other responses

- `400` — Invalid Parameters

## Changes

- **2026-07-26** `60bbb4a6ffbc` — 3 info
  - added the new optional `header` request parameter `Idempotency-Key`
  - added the required property `methods/bank/currencies/items/deposit_bank_address` to the response with the `201` status
  - added the required property `methods/bank/currencies/items/swift_bic` to the response with the `201` status

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/deposits/post.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/whop/whop-api/revisions/60bbb4a6ffbc/schema)
