Skip to main content
POST
Get deposit signing data
Get the calldata and contract address needed for an onchain deposit.
Use a Broker API Key and pass the target user’s wallet in X-User-Wallet-Address. The gateway checks that the wallet belongs to your Broker. See Broker API Key and signing.

Usage notes

  • First call Estimate deposit fees, pass native_fee unchanged, and convert lz_fee to an integer using six USDT decimal places.
  • A first successful call may bind the user’s Perp account; repeat calls do not bind it again. Use the returned contract_address and data to build the onchain transaction.
  • x-perp-device-type is required and accepts only 1, 2, or 3.

Authorizations

KEY
string
header
required

Broker API Key

Timestamp
string
header
required

Unix timestamp in seconds

SIGN
string
header
required

Hexadecimal HMAC-SHA512 signature generated with the Broker Secret Key

Headers

X-User-Wallet-Address
string
required

Target user's wallet address. The gateway verifies that the user belongs to the current Broker.

x-perp-device-type
enum<string>
required

DexBuilder device type: 1 Android, 2 iOS, 3 WEB. A missing or invalid value returns INVALID_DEVICE_TYPE. Required only on the platform endpoints that specify this header.

Available options:
1,
2,
3

Body

application/json
address
string
required

Bound user wallet; must match X-User-Wallet-Address

chain
enum<string>
required

Network identifier: base, bsc, ethereum, solana, or arbitrum.

Available options:
base,
bsc,
ethereum,
solana,
arbitrum
Example:

"ethereum"

token_address
string
required

Token contract address

token_amount
string
required

Deposit amount as a decimal string

token_symbol
string
required

Token symbol

native_fee
integer<int64>

native_fee from POST /deposit/fee, in the chain's smallest native unit as int64

lz_fee
integer<int64>

From POST /deposit/fee: convert the USDT decimal lz_fee to int64 with six decimal places (for example, 0.5 to 500000); pass native_fee unchanged as int64

Response

Successful

code
integer

Business code; 0 indicates success

Example:

0

message
string

Human-readable message; success responses use success

Example:

"success"

reason
string

Error reason identifier; usually empty on success

trace_id
string

Trace ID to provide when requesting support

data
object