Across is now live on BNB Smart Chain!
Bridge Now!
Across Documentation
V2 Developer Docs
V2 Developer Docs
  • How Across Works
    • Overview
      • Roles within Across
      • Fee Model
      • Validating Root Bundles
      • Disputing Root Bundles
  • Developers
    • Across API
    • Across SDK
    • Contract Addresses
      • Mainnet (Chain ID: 1)
      • Arbitrum (Chain ID: 42161)
      • Optimism (Chain ID: 10)
      • Base (Chain ID: 8453)
      • zkSync (Chain ID: 324)
      • Polygon (Chain ID: 137)
    • Selected Contract Functions
    • Running a Relayer
    • Integrating Across into your application
    • Composable Bridging
    • Developer notes
    • Migration from V2 to V3
  • ADDITIONAL INFO
    • Support Links
    • Bug Bounty
    • Audits
Powered by GitBook
LogoLogo
On this page
  • How to initiate a deposit
  • How to track a deposit
  • How to speed up a deposit that is taking a long time to be picked up by a relayer
  • Using the API versus SDK to construct deposit parameters
  • Commonly asked questions
  1. Developers

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!

PreviousRunning a RelayerNextComposable Bridging

Last updated 1 year ago