---
title: "Create new deposit address"
method: POST
path: "/deposit-addresses"
tags: ["depositAddresses"]
---

# Create new deposit address

`POST /deposit-addresses`

Any bridgable tokens sent to a generated deposit address will be automatically bridged to the set up address on the destination chain.

## Request body

- CreateDepositAddressPayload
  - `depositChains` NonEmptyString[], required — Array of blockchain chain identifiers where deposit addresses should be created (e.g., ["ETHEREUM", "ARBITRUM"]).
  - `addressNote` string — Optional note or label for the deposit address (max 80 characters).
  - `reusePolicy` 'create-new' | 'reuse-existing' — Whether to reuse an existing deposit address that matches the given parameters or always create a new one. By default an existing address is reused unless create-new is specified.
  - `webhookUrl` string — a non empty string
  - `refundAddress` string — a non empty string
  - `destinationChain` string, required — The blockchain chain identifier for the destination address (e.g., "BASE").
  - `destinationAddress` string, required — The blockchain address where bridged tokens will be sent.
  - `postBridgeData` union — Optional configuration for post-bridge actions (e.g., staking, lending). Must be omitted if your client does not have PBA enabled. See https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data for details.
    - ExtendedPostBridgeData
      - `_tag` 'extended', required
      - `vaultId` integer, required — an integer
    - StarkwareBtcfiCampaignPostBridgeData
      - `_tag` 'starkwarebtcfi', required
    - WirexWrapPostBridgeData
      - `_tag` 'wirexwrap', required
    - WirexWrapSandboxPostBridgeData
      - `_tag` 'wirexwrapsandbox', required
    - StarkwareBtcfiCampaignV2PostBridgeData
      - `_tag` 'starkwarebtcfiv2', required
      - `spans` StarknetFelt[], required — an array of at most 70 item(s)
    - AaveV3SupplyPostBridgeData
      - `_tag` 'aavev3supply', required
    - RocketFoundationDepositPostBridgeData
      - `_tag` 'rocketfoundationdeposit', required
    - MapleDepositPostBridgeData
      - `_tag` 'mapledeposit', required
  - `tokenOut` string — Token to be received on the destination address. The deposited token will be swapped automatically if needed.
  - `bridgeIfNotSwappable` boolean — Only valid if tokenOut is set as well. If true, deposited tokens that cannot be swapped to the tokenOut will be bridged instead of causing a failed bridge..

## Response `200`

Success

- DepositAddress[]
  - `depositChain` string, required — The blockchain network identifier where the deposit address is located.
  - `depositAddress` string, required — The generated deposit address where users should send tokens.
  - `destinationChain` string, required — The blockchain network identifier where bridged tokens will be sent.
  - `destinationAddress` string — a non empty string
  - `addressNote` string — Optional note or label for the deposit address (max 80 characters).
  - `supportedTokens` object[], required — List of tokens that can be deposited to this address.
    - `symbol` string, required — Token symbol (e.g., "ETH", "USDC").
    - `address` string, required — Token contract address on the deposit chain.
    - `maxDepositLimitUsd` number, required — Maximum deposit amount in USD for this token.
    - `minDepositLimitUsd` number, required — Minimum deposit amount in USD for this token.
  - `isActive` boolean, required — Whether this deposit address is currently active and accepting deposits.
  - `isPaused` boolean, required — Whether this deposit address is currently paused. Paused addresses reject incoming deposits until they are unpaused.
  - `postBridgeData` union — Optional configuration for post-bridge actions (e.g., staking, lending). Must be omitted if your client does not have PBA enabled. See https://docs.rhino.fi/api-integration/smart-deposits#post-bridge-data for details.
    - ExtendedPostBridgeData
      - `_tag` 'extended', required
      - `vaultId` integer, required — an integer
    - StarkwareBtcfiCampaignPostBridgeData
      - `_tag` 'starkwarebtcfi', required
    - WirexWrapPostBridgeData
      - `_tag` 'wirexwrap', required
    - WirexWrapSandboxPostBridgeData
      - `_tag` 'wirexwrapsandbox', required
    - StarkwareBtcfiCampaignV2PostBridgeData
      - `_tag` 'starkwarebtcfiv2', required
      - `spans` StarknetFelt[], required — an array of at most 70 item(s)
    - AaveV3SupplyPostBridgeData
      - `_tag` 'aavev3supply', required
    - RocketFoundationDepositPostBridgeData
      - `_tag` 'rocketfoundationdeposit', required
    - MapleDepositPostBridgeData
      - `_tag` 'mapledeposit', required
  - `tokenOut` string — Optional token to receive after bridging (for token swaps).
  - `refundAddress` string — a non empty string
  - `bridgeIfNotSwappable` boolean — Whether to bridge tokens even if they cannot be swapped (optional).
  - `chainMetadata` ChainMetadata — Optional chain-specific metadata. Currently only populated for Stellar SDAs, where it exposes the base address and memo id that the muxed deposit address resolves to.
    - `_tag` 'STELLAR', required
    - `baseAddress` string, required
    - `memoId` string, required

## Other responses

- `400` — The request did not match the expected schema
- `401` — Unauthorized
- `403` — ExtensionNotEnabled
- `422` — DepositAddressChainsNotSupported
- `429` — DepositAddressRateLimitExceeded
- `503` — EndpointDisabledError

---

[API](https://skmtc.net/rhino/apis/bridge-api.md) · [All operations](https://skmtc.net/rhino/apis/bridge-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rhino/bridge-api/revisions/fb4dd5f3c1b3/schema)
