On this page

latest contributor to this doc

Last Edit:

@smk762

1inch_v6_0_classic_swap_create

The 1inch_v6_0_classic_swap_create method returns transaction data for classic swap from 1inch API version 6.0.

To use methods which interface with the 1inch API, you need to set the 1inch_api url in your MM2.json file. You'll also need to set your 1inch API key as an environment variable called ONE_INCH_API_TEST_AUTH, e.g. ONE_INCH_API_TEST_AUTH="Bearer YourAPIkey".

As this feature is still experimental, you will need to build KDF from source on the dev branch with a build flag, e.g. cargo build --features test-ext-api.

Refer to the 1inch Classic Swap documentation for more information.

StructureTypeDescription
basestringBase coin name
relstringRel coin name (must be from the same EVM chain as the base coin)
amountnumeric string or rationalSwap amount (in coins units)
slippagefloatAllowed slippage, min: 0; max: 50
feefloatOptional. Partner fee, percentage of src token amount will be sent to referrer address, min: 0; max: 3. Should be the same for quote and swap rpc. Default is 0
protocolsstringOptional. Specify liquidity sources e.g.: &protocols=WETH,CURVE,BALANCER,...,ZRX (by default - all used)
gas_pricenumeric stringOptional. Network price per gas, in Gwei. 1inch takes in account gas expenses to determine exchange route. Should be the same for a quote and swap
complexity_levelnumericOptional. Maximum number of token-connectors to be used in a transaction, min: 0; max: 3; default: 2
partsnumericOptional. Limit maximum number of parts each main route parts can be split into. Should be the same for a quote and swap. Default: 20; max: 100
main_route_partsnumericOptional. Limit maximum number of main route parts. Should be the same for a quote and swap. Default: 20; max: 50
gas_limitnumericOptional. Maximum amount of gas for a swap. Should be the same for a quote and swap. Default: 11500000; max: 11500000
include_tokens_infobooleanOptional. Return fromToken and toToken info in response (default is true)
include_protocolsbooleanOptional. Return used swap protocols in response (default is true)
include_gasbooleanOptional. Include estimated gas in return value (default is true)
connector_tokensstringOptional. Token-connectors can be specified via this parameter. If not set, default token-connectors will be used
excluded_protocolsstringOptional. Excluded supported liquidity sources. Should be the same for a quote and swap, max: 5
permitstringOptional. Used according https://eips.ethereum.org/EIPS/eip-2612
compatibilityboolOptional. Exclude the Unoswap method
receiverboolOptional. This address will receive funds after the swap. By default same address as 'my address'
referrerboolOptional. Address to receive the partner fee. Must be set explicitly if fee is also set
disable_estimateboolOptional. if true, disable most of the checks, default: false
allow_partial_fillboolOptional. if true, the algorithm can cancel part of the route, if the rate has become less attractive. Unswapped tokens will return to 'my address'. Default: true
use_permit2boolOptional. Enable this flag for auto approval by Permit2 contract if you did an approval to Uniswap Permit2 smart contract for this token. Default is false

StructureTypeDescription
dst_amountnumberDestination token amount, in coins units.
src_tokenobjectSource (base) token information. A standard 1inchTokenInfo object.
dst_tokenobjectDestination (rel) token info. A standard 1inchTokenInfo object.
protocolslistOptional. A list of standard 1inchProtocolInfo objects, used as liquidity sources used to route trade.
txobjectA standard 1inchTxFields object.

POST
1inch_v6_0_classic_swap_create
{
  "mmrpc": "2.0",
  "userpass": "RPC_UserP@SSW0RD",
  "method": "1inch_v6_0_classic_swap_create",
  "params": {
    "base": "ETH",
    "rel": "USDC-ERC20",
    "amount": 0.1,
    "slippage": 1,
    "include_tokens_info": true,
    "include_protocols": true,
    "include_gas": true,
    "fee": 0,
    "complexity_level": 3,
    "gas_limit": 11500000,
    "main_route_parts": 50,
    "parts": 100,
    "protocols": ""
  }
}