Vingt.io
  • Introduction
    • Problem Statement & Solution
    • Introduction to Vingt.io
      • Vingt.io Index and Strategy Protocol (VISP)
  • Vingt.io Products
    • Index Tokens
    • Leveraged Tokens
  • Vingt.io Ecosystem
    • Ecosystem Overview
      • AI Smart Agents
      • Volar (Wallet)
      • Zero Liq (Dex)
      • Vingt Labs
    • Roadmap
  • Tokenomics
    • Token Utility
    • Token Distribution
    • Incentives
    • Economic Sustainability
  • Technical Guide
    • VISP Technical Foundation
      • Contract Functions
        • Set Token
        • SetTokenCreator
        • Controller
        • IntegrationRegistry
        • BasicIssuanceModule
        • DebtIssuanceModuleV3
        • TradeModule
        • StreamingFeeModule
        • AaveV3LeverageModule
      • Index Token Manger Guide
        • Creating a Set
        • Adding a Module
        • Configuring a Set
        • Basic Issuance
        • Trading
          • Via 0x
        • Charging a Streaming Fee
    • Deployed Contracts
    • Multisig Wallets
  • Miscellaneous
    • Audit and Security (VISP)
    • FAQs
    • Legal
      • Privacy Policy (Vingt.io)
      • Terms of Service (dApp)
      • Tokens Restricted for Restricted Persons
Powered by GitBook
On this page
  1. Technical Guide
  2. VISP Technical Foundation
  3. Index Token Manger Guide
  4. Trading

Via 0x

PreviousTradingNextCharging a Streaming Fee

Last updated 1 year ago

Getting the Trade Calldata from 0x API:

In order to execute a rebalance using 0x, you must fetch the trade calldata from the 0x /swap/v1/quote endpoint found .

0x supports BNB-chain and aggregates decentralized exchanges to return the best calldata to the user. When querying the 0x quote endpoint, be sure to use the correct 0x subdomain based on network.

It is important to remember that the parameters passed into the TradeModule trade function is in position units. However, parameters you pass into the 0x API must be in total notional units instead. Refer to 0x Documentation for examples on receiving trade quotes.

Sample 0x API response:

{
    "price": "108.2609065500801642",
    "guaranteedPrice": "102.8478612225761558",
    "to": "0xdef1c0ded9bec7f1a1670819833240f027b25eff",
    "data": "0xd9627aa40000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000002386f26fc100000000000000000000000000000000000000000000000000000e45e3d944cda116000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab869584cd000000000000000000000000100000000000000000000000000000000000001100000000000000000000000000000000000000000000003e67d7ea31600e8c94",
    "value": "0",
    "gas": "171000",
    "estimatedGas": "171000",
    "from": "0x1c5eeb49ddd0203444f9b4b6600226f78873cd4d",
    "gasPrice": "79000000000",
    "protocolFee": "0",
    "minimumProtocolFee": "0",
    "buyTokenAddress": "0x0954906da0bf32d5479e25f46056d22f08464cab",
    "sellTokenAddress": "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9",
    "buyAmount": "1082609065500801642",
    "sellAmount": "10000000000000000",
    "sources": [
        {
            "name": "0x",
            "proportion": "0"
        },
        {
            "name": "Uniswap",
            "proportion": "0"
        },
        {
            "name": "Uniswap_V2",
            "proportion": "1"
        },
        {
            "name": "Eth2Dai",
            "proportion": "0"
        },
        {
            "name": "Kyber",
            "proportion": "0"
        },
        {
            "name": "Curve",
            "proportion": "0"
        },
        {
            "name": "LiquidityProvider",
            "proportion": "0"
        },
        {
            "name": "MultiBridge",
            "proportion": "0"
        },
        {
            "name": "Balancer",
            "proportion": "0"
        },
        {
            "name": "CREAM",
            "proportion": "0"
        },
        {
            "name": "Bancor",
            "proportion": "0"
        },
        {
            "name": "mStable",
            "proportion": "0"
        },
        {
            "name": "Mooniswap",
            "proportion": "0"
        },
        {
            "name": "MultiHop",
            "proportion": "0"
        },
        {
            "name": "Shell",
            "proportion": "0"
        },
        {
            "name": "Swerve",
            "proportion": "0"
        },
        {
            "name": "SnowSwap",
            "proportion": "0"
        },
        {
            "name": "SushiSwap",
            "proportion": "0"
        },
        {
            "name": "DODO",
            "proportion": "0"
        },
        {
            "name": "CryptoCom",
            "proportion": "0"
        }
    ],
    "orders": [
        {
            "chainId": 1,
            "exchangeAddress": "0x61935cbdd02287b511119ddb11aeb42f1593b7ef",
            "makerAddress": "0xdcd6011f4c6b80e470d9487f5871a0cba7c93f48",
            "takerAddress": "0x0000000000000000000000000000000000000000",
            "feeRecipientAddress": "0x1000000000000000000000000000000000000011",
            "senderAddress": "0x0000000000000000000000000000000000000000",
            "makerAssetAmount": "1028478612225761559",
            "takerAssetAmount": "10000000000000000",
            "makerFee": "0",
            "takerFee": "0",
            "expirationTimeSeconds": "1611573427",
            "salt": "13296217963886828288287121507227614217710859303974535612166126598723404635862",
            "makerAssetData": "0xdc1600f30000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab000000000000000000000000dcd6011f4c6b80e470d9487f5871a0cba7c93f48000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000030000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae9000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000954906da0bf32d5479e25f46056d22f08464cab",
            "takerAssetData": "0xf47261b00000000000000000000000007fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
            "makerFeeAssetData": "0x",
            "takerFeeAssetData": "0x",
            "signature": "0x04"
        }
    ],
    "allowanceTarget": "0xdef1c0ded9bec7f1a1670819833240f027b25eff",
    "sellTokenToEthRate": "5.408199990410548256",
    "buyTokenToEthRate": "114.15627671612326308"
}
here