1inch 是一个去中心化交易所 (DEX) 聚合器,通过智能路由算法在多个 DEX 之间寻找最优交易路径。本技能提供 1inch API v5.2 的客户端实现,支持获取报价和执行代币交换。
https://api.1inch.dev/swap/v5.2GET /quote - 获取交易报价GET /swap - 获取交换交易数据from oneinch_client import OneInchClient
client = OneInchClient(api_key="your_api_key")
# 获取交易报价
quote = client.get_quote(
chain_id=1, # Ethereum
from_token_address="0x...",
to_token_address="0x...",
amount="1000000000000000000" # 1 ETH in wei
)
# 获取支持的代币
tokens = client.get_tokens(chain_id=1)
from oneinch_swap import OneInchSwap
swap = OneInchSwap(api_key="your_api_key")
# 执行代币交换
tx_data = swap.swap(
chain_id=1,
from_token_address="0x...",
to_token_address="0x...",
amount="1000000000000000000",
from_address="0x...",
slippage=1 # 1%
)
chain_id: 链 ID (1=Ethereum, 56=BSC, 137=Polygon, etc.)from_token_address: 输入代币地址to_token_address: 输出代币地址amount: 输入数量 (最小单位)protocols: (可选) 指定使用的协议gas_price: (可选) Gas 价格complexity_level: (可选) 路由复杂度级别chain_id: 链 IDfrom_token_address: 输入代币地址to_token_address: 输出代币地址amount: 输入数量from_address: 发送方地址slippage: 滑点容忍度 (百分比,1=1%)disable_estimate: (可选) 禁用 Gas 估算allow_partial_fill: (可选) 允许部分成交{
"fromToken": {
"symbol": "ETH",
"name": "Ethereum",
"decimals": 18,
"address": "0x...",
"logoURI": "..."
},
"toToken": {
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"address": "0x...",
"logoURI": "..."
},
"fromTokenAmount": "1000000000000000000",
"toTokenAmount": "1850000000",
"protocols": [...],
"estimatedGas": 150000
}
{
"tx": {
"from": "0x...",
"to": "0x...",
"data": "0x...",
"value": "1000000000000000000",
"gasPrice": "20000000000",
"gas": 150000
},
"toTokenAmount": "1850000000",
"fromTokenAmount": "1000000000000000000"
}
requests: HTTP 客户端库共 1 个版本