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

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

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

## Request

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

## Request body

- CrossChainWithdrawPrepareRequest
  - `gasPaymentToken` string: Optional ERC-20 token to pay relayer fee in. Defaults to chain's gas-payment token.
  - `bridgeOutParams` BridgeOutParamsDto, required
    - `data` string, required
    - `provider` string, required
    - `minAmountOut` string, required
    - `amount` string, required
    - `token` string, required
  - `account` string, required
  - `srcChainId` number, double, required

## Response `200`

Success

- CrossChainWithdrawPrepareResponse
  - `expiresAt` number, double, required
  - `payload` object, required
    - `gasPaymentParams` GasPaymentParamsDto, required
      - `gasPaymentTokenAmount` string, required
      - `gasPaymentTokenAddress` string, required
      - `relayerFeeAmount` string, required
      - `relayerFeeTokenAddress` string, required
    - `relayRouterAddress` string, required
    - `relayParams` RecordStringUnknown, required: Construct a type with a set of properties K of type T
    - `typedData` object, required
      - `message` RecordStringUnknown, required: Construct a type with a set of properties K of type T
      - `primaryType` 'BridgeOut', required
      - `types` RecordStringNameStringTypeStringArray, required: Construct a type with a set of properties K of type T
      - `domain` RecordStringUnknown, required: Construct a type with a set of properties K of type T
  - `requestId` string, required: Server-generated id; pass back to /submit and use for /status polling.
  - `payloadType` 'typed-data', 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)
