获取 Solana 兑换交易指令#
获取在 Solana 兑换或者询价自定义组装使用的交易指令数据。
请求地址#
GET https://www.okx.com/api/v5/dex/aggregator/swap-instruction
请求参数#
参数 | 类型 | 必传 | 描述 |
---|---|---|---|
chainId | String | 是 | 链 ID (如1 : Ethereum,更多可查看链 ID 列表) |
amount | String | 是 | 币种询价数量 (数量需包含精度,如兑换 1.00 USDT 需输入 1000000,兑换 1.00 DAI 需输入 1000000000000000000),币种精度可通过币种列表取得。 |
fromTokenAddress | String | 是 | 询价币种合约地址 (如:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ) |
toTokenAddress | String | 是 | 目标币种合约地址 (如:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 ) |
slippage | String | 是 | 滑点限制。 注意: 在 Solana 网络上,滑点最小值为 0 ,最大值需小于 1 。(如: 0.005 代表这笔交易的最大滑点为0.5% ,1 代表这笔交易的最大滑点为 100% ) |
userWalletAddress | String | 是 | 用户钱包地址 (如:0x3f6a3f57569358a512ccc0e513f171516b0fd42a ) |
swapReceiverAddress | String | 否 | 购买的资产的收件人地址 如果未设置,则用户钱包地址收到购买的资产 (如:0x3f6a3f57569358a512ccc0e513f171516b0fd42a ) |
feePercent | String | 否 | 发送到分佣地址的询价或者目标币种数量百分比,最小百分比:0 ,最大百分比:3 。最多支持小数点后 2 位,系统将自动忽略超出的部分。(例如:实际传入 1.326%,但分拥计算时仅会取 1.32% 的分拥比例) |
fromTokenReferrerWalletAddress | String | 否 | 收取 fromToken 分佣费用的钱包地址。 使用 API 时,需要结合 feePercent 设置佣金比例,且单笔交易只能选择 fromToken 分佣或 toToken 分佣。 注意: 对于 Solana:分佣地址需提前存入一些 SOL 进行激活。 |
toTokenReferrerWalletAddress | String | 否 | 收取 toToken 分佣费用的钱包地址。 使用 API 时,需要结合 feePercent 设置佣金比例,且单笔交易只能选择 fromToken 分佣或 toToken 分佣。 注意: 对于 Solana:分佣地址需提前存入一些 SOL 进行激活。 |
dexIds | String | 否 | 限定询价的流动性池 dexId , 多个组合按 , 分隔 (如 1,50,180 ,更多可查看流动性列表) |
priceImpactProtectionPercentage | String | 否 | (可选,默认值为 90%) 允许的价格影响百分比 (介于 0 和 1.0 之间)。 当用户设置了 priceImpactProtectionPercentage 后,如果估算的价格影响超过了指定的百分比,将会返回一个错误。例如,如果 PriceImpactProtectionPercentage = .25 (25%),任何价格影响高于 25% 的报价都将返回错误。 这是一个可选开启的功能,默认值为 0.9。当百分比被设置为 1.0 (100%) 时,此功能将被禁用,也就是说,每一笔交易都会被允许通过。 注意:当我们无法计算价格影响时,我们会返回 null,并且价格影响保护也会被禁用。 |
computeUnitPrice | String | 否 | 用于 Solana 网络上的交易,类似于 Ethereum 上的 gasPrice,这个价格决定了交易的优先级,价格越高意味着交易越有可能更快地被网络处理。 |
computeUnitLimit | String | 否 | 用于 Solana 网络上的交易,可类比为 Ethereum 上的的 gasLimit,这个限制可以确保交易不会占用过多的计算资源。 |
响应参数#
参数 | 类型 | 描述 |
---|---|---|
addressLookupTableAccount | Array | 地址查找表账户。是 Solana 区块链中的一种数据结构,用于优化交易中地址的管理和引用。它允许开发者将一组相关的地址存储在一个表中,并通过索引值(而非完整的 32 字节地址)在交易中引用这些地址,从而显著提升交易的效率和可扩展性。 |
instructionLists | Array | 交易指令详细信息 |
data | String | 指令数据 |
accounts | Array | 指令账户信息 |
isSigner | Boolean | 账户是否是签名者 |
isWritable | Boolean | 账户是否可写 |
pubkey | Boolean | 账户公钥地址 |
programId | String | 指令执行程序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": ""
}