Integrating Across into your application
Instructions and examples for calling the smart contract functions that would allow third party projects to transfer assets across EVM networks.
Across was designed as a platform on which third party projects enabling cross chain asset transfer could be built. We are very excited to build together and we've put together this guide which should contain everything you need to integrate with Across.
If you have further questions or suggestions for this guide, please send a message to the #developer-questions channel in the Across Discord.
How to initiate a deposit
Deposits are initiated from contracts called "SpokePools" deployed on any supported EVM. For example, on Ethereum the contract is named "Ethereum_SpokePool.sol"_, and on Optimism the contract is named "Optimism_SpokePool.sol".
Spoke pool addresses can be found here.
Deposits are triggered via the SpokePool contract's deposit
function, whose parameters are explained in detail here. This documentation also explains how to populate parameters like relayerFeePct
and quoteTime.
Here is a deposit sent on Optimism. Here is a deposit on Ethereum
How to track a deposit
Deposit and corresponding fill events are conveniently scraped by a database and displayed here.
The database implementation can be found in this repository.
How to speed up a deposit that is taking a long time to be picked up by a relayer
The lower a deposit's relayer fee %, the less relayers are incentivized to fulfill it. While a deposit is not fully filled, its relayer fee % can be increased by calling speedUpDeposit
.
Using the API versus SDK to construct deposit parameters
We recommend using the API for the easiest way to query suggested deposit params.
Commonly asked questions
Can I use the Across SDK to submit contract transactions?
Not yet, working on it!
Last updated