Skip to main content
POST
private/verify_block_trade

Authorizations

X-DeriveWallet
string
header
required

The wallet the request acts for.

X-DeriveTimestamp
string
header
required

The current time in milliseconds, as a decimal string.

X-DeriveSignature
string
header
required

EIP-191 signature of the timestamp, by the wallet or one of its session keys.

Body

application/json

A signed side, as private/execute_block_trade takes it, and its role.

direction
enum<string>
required
Available options:
buy,
sell
legs
object[]
required
max_fee
string<decimal>
required

Highest total fee this side pays, in USD, including extra_fee.

nonce
string
required
role
enum<string>
required

The payload this side signed: maker (a quote) or taker (an execution).

Available options:
maker,
taker
signature
string
required
signature_expiry_sec
integer<int64>
required
signer
string
required

20-byte Ethereum address as a 0x-prefixed lowercase hex string.

Required string length: 42
Pattern: ^0x[0-9a-fA-F]{40}$
subaccount_id
integer<int64>
required
client
string
default:""
extra_fee
string<decimal>
default:0

Broker fee for this side, in USD, paid to the owner of referral_code. It is not signed. The side's max_fee caps the total fee.

label
string
default:""
referral_code
string
default:""

Response

Success

Result for private/simulate_block_trade and private/verify_block_trade: one side's fee and margin if it executed now.

estimated_fee
string<decimal>
required

The side's total fee, extra_fee included.

is_valid
boolean
required

False if the side does not have enough margin for its trade and fees, or if the trade takes the subaccount over its maximum asset count.

post_initial_margin
string<decimal>
required

Decimal string of the human value (e.g. "1.5"), up to 12 fractional digits; a string or JSON number is accepted

pre_initial_margin
string<decimal>
required

Decimal string of the human value (e.g. "1.5"), up to 12 fractional digits; a string or JSON number is accepted

expires_at_sec
integer<int64> | null

The last second at which the signed side can execute. Null for an unsigned side.

invalid_reason
string | null
within_price_band
boolean | null

Whether both sides are within the currency's RFQ price band. Null if it has no band.