DEX API

获取 Solana 兑换交易指令#

获取在 Solana 兑换或者询价自定义组装使用的交易指令数据。

请求地址#

GET https://www.okx.com/api/v5/dex/aggregator/swap-instruction

请求参数#

参数类型必传描述
chainIdString链 ID (如1: Ethereum,更多可查看链 ID 列表)
amountString币种询价数量
(数量需包含精度,如兑换 1.00 USDT 需输入 1000000,兑换 1.00 DAI 需输入 1000000000000000000),币种精度可通过币种列表取得。
fromTokenAddressString询价币种合约地址 (如:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee)
toTokenAddressString目标币种合约地址 (如:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48)
slippageString滑点限制。

注意:
在 Solana 网络上,滑点最小值为 0,最大值需小于 1
(如:0.005代表这笔交易的最大滑点为0.5%1代表这笔交易的最大滑点为 100%
userWalletAddressString用户钱包地址 (如:0x3f6a3f57569358a512ccc0e513f171516b0fd42a)
swapReceiverAddressString购买的资产的收件人地址 如果未设置,则用户钱包地址收到购买的资产 (如:0x3f6a3f57569358a512ccc0e513f171516b0fd42a)
feePercentString发送到分佣地址的询价或者目标币种数量百分比,最小百分比:0最大百分比:3。最多支持小数点后 2 位,系统将自动忽略超出的部分。(例如:实际传入 1.326%,但分拥计算时仅会取 1.32% 的分拥比例)
fromTokenReferrerWalletAddressString收取 fromToken 分佣费用的钱包地址。
使用 API 时,需要结合 feePercent 设置佣金比例,且单笔交易只能选择 fromToken 分佣或 toToken 分佣

注意:
对于 Solana:分佣地址需提前存入一些 SOL 进行激活。
toTokenReferrerWalletAddressString收取 toToken 分佣费用的钱包地址。
使用 API 时,需要结合 feePercent 设置佣金比例,且单笔交易只能选择 fromToken 分佣或 toToken 分佣

注意:
对于 Solana:分佣地址需提前存入一些 SOL 进行激活。
dexIdsString限定询价的流动性池 dexId , 多个组合按 , 分隔 (如 1,50,180 ,更多可查看流动性列表)
priceImpactProtectionPercentageString(可选,默认值为 90%) 允许的价格影响百分比 (介于 0 和 1.0 之间)。

当用户设置了 priceImpactProtectionPercentage 后,如果估算的价格影响超过了指定的百分比,将会返回一个错误。例如,如果 PriceImpactProtectionPercentage = .25 (25%),任何价格影响高于 25% 的报价都将返回错误。

这是一个可选开启的功能,默认值为 0.9。当百分比被设置为 1.0 (100%) 时,此功能将被禁用,也就是说,每一笔交易都会被允许通过。

注意:当我们无法计算价格影响时,我们会返回 null,并且价格影响保护也会被禁用。
computeUnitPriceString用于 Solana 网络上的交易,类似于 Ethereum 上的 gasPrice,这个价格决定了交易的优先级,价格越高意味着交易越有可能更快地被网络处理。
computeUnitLimitString用于 Solana 网络上的交易,可类比为 Ethereum 上的的 gasLimit,这个限制可以确保交易不会占用过多的计算资源。

响应参数#

参数类型描述
addressLookupTableAccountArray地址查找表账户。是 Solana 区块链中的一种数据结构,用于优化交易中地址的管理和引用。它允许开发者将一组相关的地址存储在一个表中,并通过索引值(而非完整的 32 字节地址)在交易中引用这些地址,从而显著提升交易的效率和可扩展性。
instructionListsArray交易指令详细信息
dataString指令数据
accountsArray指令账户信息
isSignerBoolean账户是否是签名者
isWritableBoolean账户是否可写
pubkeyBoolean账户公钥地址
programIdString指令执行程序id

请求示例#

shell
curl --location --request GET 'https://www.okx.com/api/v5/dex/aggregator/swap-instruction?chainId=501&amount=350000000&fromTokenAddress=11111111111111111111111111111111&toTokenAddress=Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB&slippage=0.4&userWalletAddress=FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk \
--header 'OK-ACCESS-PROJECT: 86af********d1bc' \
--header 'OK-ACCESS-KEY: 37c541a1-****-****-****-10fe7a038418' \
--header 'OK-ACCESS-SIGN: leaV********3uw=' \
--header 'OK-ACCESS-PASSPHRASE: 1****6' \
--header 'OK-ACCESS-TIMESTAMP: 2023-10-18T12:21:41.274Z'

响应示例#

200
{
    "code": "0",
    "data": {
        "addressLookupTableAddresses": [
            "EDDSpjZHrsFKYTMJDcBqXAjkLcu9EKdvrQR4XnqsXErH",
            "9YcB7FUV4cLxTtDWEf399ooy3idpfepeEhMqGihKDDwX",
            "4tbRdGdVvuSzWjFeJJYVMv2vvTpEhCdWbFmNZAnuxmtk"
        ],
        "instructionLists": [
            {
                "data": "ApC+BgA=",
                "accounts": [],
                "programId": "ComputeBudget111111111111111111111111111111"
            },
            {
                "data": "A08vKAAAAAAA",
                "accounts": [],
                "programId": "ComputeBudget111111111111111111111111111111"
            },
            {
                "data": "AwAAAN22LW+lIkpOjB6e81eI68Mgzu7zEfkmh9QEBkCPOLG3DQAAAAAAAAAxNzM5MjU1OTc3NzU58B0fAAAAAAClAAAAAAAAAAbd9uHXZaGT2cvhRs7reawctIXtX1s3kTqM9YV+/wCp",
                "accounts": [
                    {
                        "isSigner": true,
                        "isWritable": false,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "9haFKThJYWEVA66mtxv7nTBWMHieQdnZpmLjvXAiS2zm"
                    }
                ],
                "programId": "11111111111111111111111111111111"
            },
            {
                "data": "AQ==",
                "accounts": [
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9haFKThJYWEVA66mtxv7nTBWMHieQdnZpmLjvXAiS2zm"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "So11111111111111111111111111111111111111112"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "SysvarRent111111111111111111111111111111111"
                    }
                ],
                "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
            },
            {
                "data": "AgAAAICT3BQAAAAA",
                "accounts": [
                    {
                        "isSigner": true,
                        "isWritable": true,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9haFKThJYWEVA66mtxv7nTBWMHieQdnZpmLjvXAiS2zm"
                    }
                ],
                "programId": "11111111111111111111111111111111"
            },
            {
                "data": "EQ==",
                "accounts": [
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9haFKThJYWEVA66mtxv7nTBWMHieQdnZpmLjvXAiS2zm"
                    }
                ],
                "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
            },
            {
                "data": "AQ==",
                "accounts": [
                    {
                        "isSigner": true,
                        "isWritable": true,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "HwEh3U3E7aPRwXUhzes6wxX1kbSmKm85ugK6DXP5vgzf"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "11111111111111111111111111111111"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    }
                ],
                "programId": "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
            },
            {
                "data": "QUs/TOtbW4iAk9wUAAAAAIXrRQQAAAAAHVqQAgAAAAABAAAAgJPcFAAAAAABAAAAAgAAAAEAAAANAQAAAGQBAAAABQEAAABkTpgBAAAAAAA=",
                "accounts": [
                    {
                        "isSigner": true,
                        "isWritable": true,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9haFKThJYWEVA66mtxv7nTBWMHieQdnZpmLjvXAiS2zm"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "HwEh3U3E7aPRwXUhzes6wxX1kbSmKm85ugK6DXP5vgzf"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "So11111111111111111111111111111111111111112"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
                    },
                    {
                        "isSigner": true,
                        "isWritable": true,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9haFKThJYWEVA66mtxv7nTBWMHieQdnZpmLjvXAiS2zm"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "HjkGLCPnsMr4yP2Tmi1Uj7gV7Y2xDj2Npn9kYfVBYr2s"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "8gJ7UWboMeQ6z6AQwFP3cAZwSYG8udVS2UesyCbH79r7"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "chM5ZB1uPZxvJJAK4D1Z4KHAYjWKvwuQTy6fFAeWQ1T"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "FGFaiYjXTVuLsKvzn6ueckraNTeqUGHeYqrQPQCpd7kH"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "So11111111111111111111111111111111111111112"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "DoBNfRox1ZjEsZq6QPY4jpN8hN4Fu9JVkAxJQro164VR"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "D1ZN9Wj1fRSUQfCjhvnu1hqDMT7hzjzBBpi12nVniYD6"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "6TWKYuLYtuJVtvfqnPEs1ZxFMRDGTKkQJgTa4Dv7CzQS"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "EMfT8Jw2M5fs691J6ycgTuggXRJ4uLfbCrqZYJXMXpdL"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "7VVeicGxT7XmwG4Sg25QVFRcAZDaBtGxT9d1CpByzGYN"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "5quBtoiQqxF9Jv6KYKctB59NT3gtJD2Y65kdnB1Uev3h"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "HV1KXxWFaSeriyFvXyx48FqG9BoFbfinB8njCJonqP7K"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "HjkGLCPnsMr4yP2Tmi1Uj7gV7Y2xDj2Npn9kYfVBYr2s"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "HwEh3U3E7aPRwXUhzes6wxX1kbSmKm85ugK6DXP5vgzf"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "2EXiumdi14E9b8Fy62QcA5Uh6WdHS2b38wtSxp72Mibj"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "3uaZBfHPfmpAHW7dsimC1SnyR61X4bJqQZKWmRSCXJxv"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "4zbGjjRx8bmZjynJg2KnkJ54VAk1crcrYsGMy79EXK1P"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "5XkWQL9FJL4qEvL8c3zCzzWnMGzerM3jbGuuyRprsEgG"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "jfrmNrBtxnX1FH36ATeiaXnpA4ppQcKtv7EfrgMsgLJ"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "CDSr3ssLcRB6XYPJwAfFt18MZvEZp4LjHcvzBVZ45duo"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "77quYg4MGneUdjgXCunt9GgM1usmrxKY31twEy3WHwcS"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "37m9QdvxmKRdjm3KKV2AjTiGcXMfWHQpVFnmhtb289yo"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "AQKXXC29ybqL8DLeAVNt3ebpwMv8Sb4csberrP6Hz6o5"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9MgPMkdEHFX7DZaitSh6Crya3kCCr1As6JC75bm3mjuC"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "H61Y7xVnbWVXrQQx3EojTEqf3ogKVY5GfGjEn5ewyX7B"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9FLih4qwFMjdqRAGmHeCxa64CgjP1GtcgKJgHHgz44ar"
                    },
                    {
                        "isSigner": false,
                        "isWritable": false,
                        "pubkey": "FGBvMAu88q9d1Csz7ZECB5a2gbWwp6qicNxN2Mo7QhWG"
                    }
                ],
                "programId": "6m2CDdhRgxpH4WjvdzxAYbGxwdGUz5MziiL5jek2kBma"
            },
            {
                "data": "CQ==",
                "accounts": [
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "9haFKThJYWEVA66mtxv7nTBWMHieQdnZpmLjvXAiS2zm"
                    },
                    {
                        "isSigner": false,
                        "isWritable": true,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    },
                    {
                        "isSigner": true,
                        "isWritable": true,
                        "pubkey": "FvUDkjR1STZ3c6g3DjXwLsiQ477t2HGH4LQ81xMKWJZk"
                    }
                ],
                "programId": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
            }
        ]
    },
    "msg": ""
}