---
title: "POST /gmx-account/deposit/cross-chain/prepare"
method: POST
path: "/gmx-account/deposit/cross-chain/prepare"
tags: ["GMX Account"]
---

# POST /gmx-account/deposit/cross-chain/prepare

`POST /gmx-account/deposit/cross-chain/prepare`

## Request

- Base URL: `https://arbitrum.gmxapi.io/v1`
- URL: `https://arbitrum.gmxapi.io/v1/gmx-account/deposit/cross-chain/prepare`
- Auth: none required
- TypeScript: <https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api/docs/gmx-account/deposit/cross-chain/prepare/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- CrossChainDepositPrepareRequest
  - `innerData` string: Optional extra payload appended to the LayerZero compose message (hex).
  - `nativeDropAmount` string: Optional native drop (gas) for the destination chain, in destination native decimals.
  - `nativeFee` string: Optional; when omitted, server quotes Stargate `nativeFee` on the source chain.
  - `composeGas` string: Optional client-supplied destination compose-gas hint; bypasses server quote.
  - `tokenKind` 'trade' | 'platform': "trade" → `IStargate.sendToken` (default); "platform" → `IStargate.send`.
  - `isNativeOnSource` boolean: Whether the source-chain token is the chain's native gas asset (ETH/BNB/etc.) — Stargate auto-wraps it to WETH/WBNB on the source side. Optional override; otherwise resolved from the registry.
  - `destinationStargatePoolAddress` string: Optional override; otherwise resolved from the registry by symbol/token.
  - `sourceStargatePoolAddress` string: Optional override; otherwise resolved from the registry by symbol/token.
  - `tokenAddress` string: Token address on the settlement chain (alternative to `tokenSymbol`).
  - `tokenSymbol` string: Token identifier. Provide one of: - `tokenSymbol` (e.g. "USDC" | "USDT" | "ETH"), or - `tokenAddress` on the settlement chain. Stargate pool addresses and source-side `isNativeOnSource` are resolved server-side.
  - `amount` string, required: Amount in token-native decimals as a base-10 string.
  - `account` string, required: GMX account that will receive the deposit on the settlement chain.
  - `srcChainId` number, double, required: Source chain id (where the user holds funds and signs the bridge tx).

## Response `200`

Success

- CrossChainDepositPrepareResponse
  - `expiresAt` number, double, required
  - `nativeFee` string, required
  - `composeGas` string, required
  - `payload` object, required
    - `value` string, required
    - `data` string, required
    - `to` string, required
  - `payloadType` 'transaction', required

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api.md) - [All operations](https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gmx/apis/gmx-io-gmx-public-api/revisions/f140bd95ce1d?raw)
