HTTP request response

Solvers specify a deadline for their requests, at which point the HTTP connection will be closed.

The HTTP connection will be held until:

  • The deadline is reached and the request expires.

  • The Solver meets all criteria for success and received a successful response.

The HTTP request will be closed with the following example of a successful response:

{
  "id": 0,
  "pool_address": "string",
  "signed_payload": "string",
  "order_id": 0,
  "liquidity_manager_id": 0,
  "volume_token_out": "string",
  "gas_price": 0,
  "gas_used_hot": 0,
  "gas_compensation": 0,
  "amount_payload_offset": 202,
  "amount_out_min_payload_offset": 266
}

id Unique identifier of the Solver which requested this HOT order.

pool_address Address of the Valantis Sovereign Pool where this HOT order should be executed. The contract that executes signed_payload against this address must have already approved it to transfer the correct input token amount.

signed_payload Bytes encoded calldata payload which should be executed against pool_address. It already contains all relevant parameters, including the ECDSA signature to be verified by the HOT smart contract, compatibility with the pricing logic, etc.

order_id Unique identifier of the HOT order.

liquidity_manager_id Unique identifier of the market-maker that has authorized the HOT order.

volume_token_out Amount of tokenOut that the user will receive if they execute the signed payload and the swap is considered discounted. Note that this amount will change if the user wants to do a partial fill.

gas_price Currently unused and returned as 0 by default.

gas_used_hot Gas units consumed by a HOT swap via the Valantis Sovereign Pool, by doing a smart contract call to pool_address with payload signed_payload.

gas_compensation The amount of extra output token added by the Liquidity Manager, to compensate for any additional gas cost incurred by the HOT swap compared to other venues. Note that gas_compensation is already included in volume_token_out.

This is calculated as: max((gas_used_hot - expected_gas_units) * (expected_gas_price * 1e9) * eth_to_token_out_conversion , 0)

Where eth_to_token_out_conversion is the exchange rate that converts ETH price to output token price.

amount_payload_offset string offset of signed_payload corresponding to the amountIn field in Sovereign Pool Swap Params. This is relevant for partially filled orders, where solvers should string replace signed_payload between indices [amount_payload_offset, amount_payload_offset + 64] with the updated hex-encoded value of amountIn

amount_out_min_payload_offset string offset of signed_payload that corresponds to the amountOutMin field in Sovereign Pool Swap Params. This is relevant for partially filled orders, where solvers should string replace signed_payload between indices [amount_out_min_payload_offset, amount_out_min_payload_offset + 64] with the updated hex-encoded value of amountOutMin

See here for more information about the other API methods: https://hot.valantis.xyz/swagger/index.html#/

Last updated