背景

  • DEX 通常希望 Skip Go API 将其纳入支持的兑换场所,因为该 API 为所有主流 Cosmos 和 Ethereum 钱包(MM、Keplr、IBC Wallet、Metamask Snap)中的跨链兑换与转账提供能力,也为许多热门 DeFi 聚合器和 dapp 前端(例如 Stargaze)提供跨链 DEX 聚合能力。因此,一旦接入 Skip Go API,你的 DEX 就能立即在跨链生态中获得分发。
  • Skip Go API 的兑换系统目前基于 CosmWasm 构建,可支持在 Cosmos SDK 模块(例如 Osmosis Poolmanager)以及其他 CosmWasm 合约(例如 Astroport DEX)上的资产兑换,只要这些模块或合约能够被 Skip Go API 的 CosmWasm 合约查询和执行。该 API 也支持 EVM DEX(Uniswap v2/v3、Aerodrome、Velodrome)。

链要求

  1. 该链必须已被 Skip Go API 支持
    1. 使用 /info/chains 端点查询当前已主动支持的链列表:/v2/info/chains
    2. 如果你的链尚未被支持,请按照 Chain Support Requirements 中的说明申请支持
    3. 这是前置条件
  2. 支持 CosmWasm
  3. 支持 IBC
  4. 支持 ibc-hooks(可参考我们关于 ibc-hooks 的博客文章)

模块 / 合约要求

通用要求

  1. 模块 / 合约必须能够被 Skip Go API 的 CosmWasm 合约调用。对于 Cosmos SDK 模块,这要求下文所述的模块查询已加入白名单,并且可被 CosmWasm 合约查询(可参考 Osmosis 的示例)。

执行消息

  1. 支持“Swap Exact In”方法:用户指定输入资产和兑换路径后,模块 / 合约将用户提供的资产兑换为目标输出资产,并发送给用户(模块示例可参考 Osmosis,合约示例可参考 Astroport)。
    1. 兑换输入:
      1. 一项资产(原生 Cosmos coin 或 CW20 token,包含 denom 和 amount)
      2. 一条路径(可以是单个池,也可以是多个池,如果其设计类似路由器)
    2. 兑换输出:
      1. 一项资产
  2. 建议具备(可选):支持“Swap Exact Out”方法。用户指定期望输出资产、实现该资产所需经过的兑换路径,以及可用于兑换的输入资产最大数量;模块 / 合约随后精确使用获得该输出资产所需的输入资产数量,并将输出资产发送给用户(模块示例可参考 Osmosis)。

查询消息

  1. 提供“Swap Exact In Simulation”方法:用户可传入与“Swap Exact In”执行方法相同的输入参数,查询返回如果实际执行该方法,用户将收到的资产(模块示例可参考 Osmosis,合约示例可参考 Astroport)。
  2. 提供“Swap Exact Out Simulation”方法:用户可输入期望获得的资产以及给定的池 / 路径,查询返回为了获得该目标输出资产所需投入的资产(模块示例可参考 Osmosis,合约示例可参考 Astroport)。

让 Skip 为你的 DEX 添加支持

当你的 DEX 及其所在链满足上述要求后,可以通过我们的 Discord 提交支持工单,申请集成。 我们可能会基于以下因素请求补充信息,以帮助确定你的兑换场所集成优先级:
  • 兑换量
  • 流动性
  • 技术文档的质量与清晰度

必填提交信息

基本信息

  • 团队名称
  • 联系人姓名
  • 联系人 Telegram
  • 团队网站
  • 兑换场所名称(如果与团队名称不同)
  • 兑换场所网站
  • 兑换场所文档

其他 DEX 信息

请回答以下问题,帮助我们评估集成适配性:
  • 这是什么类型的场所? 例如:AMM、CLOB、质押协议
  • 如果是 AMM,支持哪些定价曲线?
    • 请附上相关文档
    • 说明任何非标准逻辑
  • 手续费如何计算?
    • 例如池费、maker/taker 费等
    • 请附上相关文档,并说明任何非标准机制
  • 哪些代币通常能在该场所获得更优价格?
  • 哪些代币或代币对最受欢迎?

Background

  • DEXes often want Skip Go API to add support for their DEX as a swapping venue because the API powers cross-chain swaps + transfers in all the major cosmos and ethereum wallets (MM, Keplr, IBC Wallet, Metamask Snap) and cross-chain DEX aggregation to many popular defi aggregator and dapp frontends (e.g. Stargaze). As a result, being added to the Skip Go API instantly offers distribution across the interchain for your DEX
  • The Skip Go API’s swapping system is currently built in CosmWasm and can support swapping assets on Cosmos SDK modules (ex: Osmosis Poolmanager) and other CosmWasm contracts (ex: Astroport DEX) that can be queried and executed by Skip Go API’s CosmWasm contracts. The API support’s swapping EVM dexes. (Uniswap v2/v3, Aerodrome, Velodrome).

Chain Requirements

  1. The chain must already be supported by the Skip Go API
    1. Use the /info/chains endpoint to query a list of actively supported chains: /v2/info/chains
    2. If your chain is not already supported, follow the instructions in Chain Support Requirements to request support
    3. This is a pre-requisite
  2. CosmWasm Support
  3. IBC support
  4. ibc-hooks Support (Check out our blog post about ibc-hooks)

Module / Contract Requirements

General

  1. The module / contract must be able to be called by the Skip Go API’s CosmWasm contracts. For Cosmos SDK modules, this will require the module queries described below to be whitelisted and queryable by CosmWasm contracts (see Osmosis for an example).

Execution Messages

  1. Supports a “Swap Exact In” method where a user specifies an input asset and path to swap, and the module / contract swaps the given user asset to the user’s desired output asset and sends it to the user (see Osmosis for a module example, or Astroport for a contract example).
    1. Inputs into the swap:
      1. An asset (Native cosmos coin or CW20 token, incl. denom and amount)
      2. A path (can be a single pool, or multiple pools if designed like a router)
    2. Outputs of the swap:
      1. An asset
  2. NICE TO HAVE (Optional): Supports a “Swap Exact Out” method where a user specifies a desired output asset, a path to swap through to achieve that asset, and a maximum amount of an input asset to swap, and the module / contracts swaps in the exact input asset needed to acquire the specified output asset and sends it to the user (see Osmosis for a module example).

Query Messages

  1. Exposes a “Swap Exact In Simulation” method where a user can put the inputs that would be used in the “Swap Exact In” execution method, and gets a response from the query that specifies the asset they would receive if executing the method (see Osmosis for a module example, or Astroport for a contract example).
  2. Exposes a “Swap Exact Out Simulation” method where a user can input the asset desired and a given pool / path, and the query returns the asset required to swap in to receive the output asset desired (see Osmosis for a module example, or Astroport for a contract example).

Getting Skip to Add Support for Your DEX

Once your DEX and its chain meet the requirements listed above, you can submit it for integration by opening a support ticket in our Discord. We may request additional information to help prioritize the integration of your swap venue based on:
  • Swap volume
  • Liquidity
  • Quality and clarity of technical documentation

Required Submission Info

General Information

  • Team Name
  • Contact Name
  • Contact Telegram
  • Team Website
  • Swapping Venue Name (if different from team name)
  • Swapping Venue Website
  • Swapping Venue Documentation

Additional DEX Information

Please answer the following questions to help us assess integration suitability:
  • What kind of venue is it? e.g., AMM, CLOB, staking protocol
  • If an AMM, what pricing curves are supported?
    • Include documentation
    • Describe any non-standard logic
  • How are fees calculated?
    • Pool fees, maker/taker fees, etc.
    • Include documentation and note any non-standard mechanisms
  • Which tokens typically offer better pricing on this venue?
  • Which tokens or token pairs are the most popular