1inch

v1.0.0

Provides 1inch API v5.2 client to get optimal DEX trade quotes and execute token swaps across multiple chains with gas and slippage control.

0· 120· 1 versions· 1 current· 1 all-time· Updated 4w ago· MIT-0

1inch DEX 聚合器技能

描述

1inch 是一个去中心化交易所 (DEX) 聚合器,通过智能路由算法在多个 DEX 之间寻找最优交易路径。本技能提供 1inch API v5.2 的客户端实现,支持获取报价和执行代币交换。

功能

  • 获取最优交易报价
  • 执行 DEX 代币交换
  • 支持多链和多 DEX 聚合
  • Gas 估算和优化
  • 限价单支持

API 端点

  • 基础 URL: https://api.1inch.dev/swap/v5.2
  • 获取报价: GET /quote - 获取交易报价
  • 执行交换: GET /swap - 获取交换交易数据

使用方法

Python 客户端

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)

DEX 交易

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%
)

API 参考

get_quote 参数

  • chain_id: 链 ID (1=Ethereum, 56=BSC, 137=Polygon, etc.)
  • from_token_address: 输入代币地址
  • to_token_address: 输出代币地址
  • amount: 输入数量 (最小单位)
  • protocols: (可选) 指定使用的协议
  • gas_price: (可选) Gas 价格
  • complexity_level: (可选) 路由复杂度级别

swap 参数

  • chain_id: 链 ID
  • from_token_address: 输入代币地址
  • to_token_address: 输出代币地址
  • amount: 输入数量
  • from_address: 发送方地址
  • slippage: 滑点容忍度 (百分比,1=1%)
  • disable_estimate: (可选) 禁用 Gas 估算
  • allow_partial_fill: (可选) 允许部分成交

响应格式

Quote 响应

{
  "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
}

Swap 响应

{
  "tx": {
    "from": "0x...",
    "to": "0x...",
    "data": "0x...",
    "value": "1000000000000000000",
    "gasPrice": "20000000000",
    "gas": 150000
  },
  "toTokenAmount": "1850000000",
  "fromTokenAmount": "1000000000000000000"
}

支持的链

  • Ethereum (1)
  • BSC (56)
  • Polygon (137)
  • Optimism (10)
  • Arbitrum (42161)
  • Avalanche (43114)
  • Fantom (250)
  • Gnosis (100)
  • 更多...

错误处理

  • 400: 请求参数错误
  • 401: API 密钥无效
  • 404: 代币或路由未找到
  • 429: 请求速率限制
  • 500: 服务器错误

速率限制

依赖

  • requests: HTTP 客户端库
  • Python 3.8+

Version tags

latestvk97307apte89c20ckkdy0bm5sh83zzb8