Integration Guide
A guide on how to integrate IBC Eureka for chain developers, asset issuers, and application developers
Types of Integrators
There are three types of integrators of Eureka:
- Chain Developers - ensuring that your chain is compatible with Eureka and can facilitate the bridging of assets to and from other chains in the Eureka ecosystem.
- Asset Issuers - ensuring the assets you care about being bridged over Eureka are properly set up in the protocol and in the Skip Go API for application developers to support easily.
- Application Developers - ensuring your end users have access to Eureka assets and bridging capabilities via the Skip Go API.
Chain Developers
If you’re developing a Cosmos-based blockchain, the easiest way to unlock Eureka assets and bridging capabilities is by opening up an IBC connection to the Cosmos Hub:
- Requires an IBC (classic) connection to the Cosmos Hub
- No chain upgrade is needed if you’re already using IBC
- Users benefit from reduced cost of asset transfers between Eureka-enabled domains through batching
- Chains only need to maintain a single relayer to the Cosmos Hub to reach the entire Eureka and IBC network
If you are interested in a direct Eureka connection to Ethereum or L2s/Solana coming later this year, please reach out to Jeremy or Susannah directly as additional integration work is required.
Asset Issuers: Bringing Your Token to Ethereum
To bridge assets to Ethereum through Eureka while maintaining full control over your token’s representation, you must deploy a custom ERC20 contract. This approach ensures you retain ownership of the token’s metadata and on-chain behavior.
Requirements:
- Custom ERC20 Implementation
Deploy an ERC20 contract that implements our required interface standards - CoinGecko Listing
Maintain a CoinGecko listing to ensure accurate pricing and metadata in our interfaces
Why deploy a custom ERC20?
- Full Metadata Control - Set your token’s name, symbol, and other details during deployment
- Verified Ownership - Register the contract under your project’s domain on Etherscan
- Permanent Governance - Maintain irrevocable control over the token’s core logic
Ready to get started?
Follow our step-by-step Custom ERC20 Integration Guide to deploy your contract.
Application Developers
If you’re an application developer looking to give your users access to Eureka assets in your UI or to leverage them within your protocol, integrating into the Eureka ecosystem via Skip Go is super simple!
Requesting New Assets
If you want to enable bridging of a new asset (e.g., an Ethereum asset) to Cosmos or Eureka-connected chains, you can submit a request by joining our Discord and opening a support ticket. Our team will review your request and provide guidance on the next steps.
New Skip Go Integrator
If you’re brand new to Skip Go, read about our cross-chain developer platform on the Getting Started page will be the best resource for you to get up to speed on the capabilities of Skip Go and the various integration options.
- For the quickest and easiest integration, you can integrate the Widget in minutes! For more control over the UI you provide your users, the Client Library is the way to go.
- The integration provides a one-click experience for users to transfer assets across the Eureka ecosystem and beyond in a single integration (via Skip Go’s aggregation and composability engine).
Current Skip Go Integrator
Ensuring Eureka works with your Skip Go integration is the same easy process as any other bridge! Changes are as follows:
eureka_transfer
Operation type to be expected to be returned from the/route
and/msgs_direct
endpointseureka_transfer
Transfer type to be expected to be returned from the/status
endpoint in the transfer sequenceeureka
bridge type returned from the/bridges
endpoint- To keep Eureka opt-in, integrators must pass
eureka
into theexperimental_features
array in the/route
and/msgs_direct
calls to enable Eureka routing
What this looks like for each type of Skip Go integration:
- If you’re using the Widget, make sure you’re updated to version
3.5.0
or above and pass ineureka
to the experimentalFeatures prop. - If you’re using the Client Library, make sure you’re updated to version
0.16.22
or above and pass ineureka
to the experimentalFeatures param. - If you’re integrated directly with the REST endpoints, you can find the relevant types in the API reference for the Route Operation and for the Lifecycle Tracking Transfer.