Background
- 新链通常希望 Skip Go API 将其链添加为代币的来源链和目标链,因为该 API 为所有主流 Cosmos 钱包(Leap、Keplr、IBC Wallet、Metamask Snap)以及许多热门 DeFi 聚合器和 dApp 前端(例如 Stargaze)提供跨链兑换与转账能力。因此,被接入 Skip Go API 后,你的链将立即获得整个跨链生态中的分发能力
- 本文档介绍了链需要满足的基本要求,以及其贡献者为使 Skip Go API 支持该链而必须完成的步骤
- 当你满足以下要求后,请通过我们的API 链集成申请表提交集成请求
想在流程开始阶段获得帮助?接入 IBC、Axelar、CCTP、Layerzero 或 Hyperlane 可能并不容易,甚至光是在它们之间做出选择就已经很有挑战。我们很乐意在严肃推进的团队旅程早期提供指导和实操支持;如果有帮助,即使你们还没有选定互操作协议,也可以先来联系。
1. 满足以下基本要求
- 提供清晰的说明,指导他人如何无许可地运行全节点并加入网络。通常这些说明应包括:
- 创世文件链接
- 全节点二进制文件,或从源代码构建二进制文件的说明
- 公共 peer / seeder 节点
- 公共 RPC
- 链元数据应可在常用的链注册表中获取(例如 https://github.com/cosmos/chain-registry)。元数据应包括:
- 链名称(以及可选的“pretty name”)
- 网站
chain_id- Bech32 前缀
slip44(也称为“coin type”)- 手续费信息(包括 denom、low price、average price 和 high price)
- Logo URI
- 持久化 peer 列表
- 公共 RPC 对于 EVM 链,这些元数据及所选链注册表可能会有所不同。请根据实际情况作出最佳判断,确定所需内容。
- 支持 IBC、Axelar、Layerzero、Eureka 和/或 Hyperlane。
2. 配置 IBC 机制
这里我们会设置 IBC client、channel 和 relayer。什么是 relayer?Relayer 是链下参与者,负责:
- 保持 IBC 轻客户端处于最新状态(需要定期更新以防止“过期”)
- 监控链上的出站 IBC packet,获取这些 packet,并将 packet 数据和 packet proof 发送到目标链
- 在你的链上创建远端链的轻客户端,并在远端链上创建你这条链的轻客户端
- 在这两个客户端之间创建一个 ICS-20
transferchannel
- 确保至少有 1 个可靠的 relayer 覆盖该 channel(能够持续保持轻客户端更新,并在两条链之间转发 packet)
3. 为你链上铸造的每个资产配置支持
对于你希望确保用户能够转移的每个原生资产:- 通过该 channel 转移一笔非零数量的代币
- 确认该代币已成功转移到目标链
- 将这些已转移的代币保留在目标链上
4. 在 Discord 上提交加入 Skip API 申请时需要提供的信息
请包含以下内容:- Team Name:
- Team Contact Name:
- Team Contact Telegram:
- Team Website:
- Swapping Venue Name** (if different from team name):
- Swapping Venue Website** (if different from team website):
- Swapping Venue Documentation:**
- 使用
/info/chainsendpoint 进行验证:/v2/info/chains - 如果未列出,请按照链支持要求处理
- 这是必需的前置条件
- 提供关于任何特殊配置或限制的文档或说明
- 提供相关细节,特别是在未使用标准 IBC-go 的情况下
- 说明使用的是上游 ibc-hooks 还是修改版
- 上游 ibc-hooks
其他链相关问题
- 该链是否支持 Packet Forward Middleware (PFM)?
- CosmWasm 合约部署是否为无许可? 如果不是,审批或治理流程是什么?
为什么这是必需的?对 channel 进行预热启动,可以触发 Skip 针对往返你链的桥接场景提供智能路由建议。我们会在链之间选择路由,以确保用户在目标链上始终收到其所选代币的最佳版本。作为为所有 API 用户提供良好体验的一部分,我们不会让用户把资产桥接到那些此前从未有人桥接过该资产的新链上。(对于普通用户来说,把一个链上尚不存在的现有代币带到该链,往往会让他们困在新链上,只拿着一个无用的代币。)这就是为什么我们需要对 channel 做“预热启动”处理,以便能够将其推荐为桥接路由。
有问题或反馈?帮助我们做得更好!加入我们的 Discord,并选择 “Skip Go Developer” 角色来分享你的问题和反馈。
Background
- New chains often want Skip Go API to add support for their chain as a source + destination for tokens because the API powers cross-chain swaps + transfers in all the major cosmos wallets (Leap, Keplr, IBC Wallet, Metamask Snap) and many popular DeFi aggregators and dapp frontends (e.g. Stargaze). As a result, being added to the Skip Go API instantly offers distribution across the interchain
- This document covers the basic requirements chains must satisfy and steps their contributors must complete in order for Skip Go API to support them
- Once you’ve met the requirements below, submit an integration request through our API Chain Integration Request Form
Want help at the beginning of this process?Getting connected to IBC, Axelar, CCTP, Layerzero or Hyperlane can be hard. Even choosing among them is a challenge. We’re happy to provide guidance and hands-on support to serious teams early in their journey — even before they’ve made a choice of interop protocol if helpful!
1. Satisfy the following basic requirements
- Provides clear instructions for permissionlessly running a full node and joining the network. Commonly instructions should include:
- Link to genesis file
- Full node binary or instructions for building binary from source code
- Public peer / seeder nodes
- Public RPCs
- Chain metadata is available in a commonly used chain registry (e.g. https://github.com/cosmos/chain-registry). Metadata should include:
- Chain name (and optionally “pretty name”
- Website
- chain_id
- Bech32 prefix
- slip44 (aka “coin type”)
- Fee information (with denom, low price, average price, and high price)
- Logo URIs
- Persistent peer lists
- Public RPCs This metadata and the chain registry of choice might differ for EVM chains. Please use your best judgement of whats required
- IBC, Axelar, Layerzero, Eureka, and/or Hyperlane support.
2. Configure IBC Machinery
Here we set up IBC clients, channels, and relayers.What is a relayer?Relayers are the off-chain actors that:
- Keep IBC light clients up to date (Regular updates are required to prevent “expiration”)
- Monitor chains for outbound IBC packets, grab them, and send the packet data and packet proof to the destination chain
- Create a light client of the remote chain on your chain, and a light client of your chain on the remote chain
- Create a ICS-20 “transfer” channel between these two clients
- Ensure there is at least 1 reliable relayer covering the channel (who can keep the light clients up to date and ferry packets between the two chains over time)
What if I don’t want to run my own relayers?Get in touch with us on our DiscordWe have great relationships with all the top relayer operators in the Cosmos ecosystem and can put you in touch with them.
3. Configure support for each asset minted on your chain
For each native asset that you want to ensure users can transfer over the- Transfer a non-zero amount of the token over the channel
- Confirm that the token successfully gets transferred to the destination chain
- Leave the transferred tokens on the destination chain
4. What chains will be asked for when submitting to get added to the Skip API on discord
Please include the following:- Team Name:
- Team Contact Name:
- Team Contact Telegram:
- Team Website:
- Swapping Venue Name** (if different from team name):
- Swapping Venue Website** (if different from team website):
- Swapping Venue Documentation:**
- Use the
/info/chainsendpoint to verify:/v2/info/chains - If not listed, follow the Chain Support Requirements
- This is a required prerequisite
- Include documentation or notes on any special setup or limitations
- Provide relevant details, especially if not using standard IBC-go
- Indicate if using upstream ibc-hooks or a modified version
- Upstream ibc-hooks
Additional Chain Questions
- Does the chain support Packet Forward Middleware (PFM)?
- Is CosmWasm contract deployment permissionless? If not, what is the approval or governance process?
Why is this required?Warm starting the channels kicks off Skip’s intelligent routing suggestions for folks bridging to and from your chain. We choose routes between chains that ensure users are always receiving the most desirable version of their chosen token on their destination chain.As a part of providing good user experiences for everyone using the API, we don’t enable users to bridge assets to new chains where no one has previously bridged that asset. (Often times, for ordinary users, taking an existing token to a chain it doesn’t exist leaves them stuck on that new chain with a useless token). That’s why we need to “warm start” channels — to enable recommending them as bridging routes.
Have questions or feedback? Help us get better!Join our Discord and select the “Skip Go Developer” role to share your questions and feedback.