Across is now live on BNB Smart Chain!
Bridge Now!
Across Documentation
V3 Developer Docs
V3 Developer Docs
  • 👋Introduction
    • Welcome to Across
    • What is Across?
    • Technical FAQ
    • Migration Guides
      • Migration from V2 to V3
      • Migration to CCTP
        • Migration Guide for Relayers
        • Migration Guide for API Users
      • Migration Guide for Non-EVM and Prefills
        • Breaking Changes for Indexers
        • Breaking Changes for API Users
        • Breaking Changes for Relayers
        • Testnet Environment for Migration
      • Solana Migration Guide
      • BNB Smart Chain Migration Guide
  • 🌟EXCLUSIVE
    • Integrate BNB Smart Chain
  • 🔗QUICKSTART
    • Instant Bridging in your Application
      • Bridge Integration Guide
      • Multichain Bridge UI Guide
      • Single Chain Bridge UI Guide
    • Embedded Crosschain Actions
      • Crosschain Actions Integration Guide
        • Using the Generic Multicaller Handler Contract
        • Using a Custom Handler Contract
      • Crosschain Actions UI Guide
    • Settle Crosschain Intents
    • ERC-7683 in Production
  • 🧠Concepts
    • What are Crosschain Intents?
    • Intents Architecture in Across
    • Intent Lifecycle in Across
    • Canonical Asset Maximalism
  • 🛠️Reference
    • API Reference
    • App SDK Reference
    • Contracts
      • Aleph Zero
      • Arbitrum
      • Base
      • BNB Smart Chain
      • Blast
      • Ethereum
      • Linea
      • Ink
      • Lens
      • Lisk
      • Mode
      • Optimism
      • Polygon
      • Redstone
      • Scroll
      • Soneium
      • Unichain
      • World Chain
      • zkSync
      • Zora
    • Selected Contract Functions
    • Supported Chains
    • Fees in the System
    • Actors in the System
    • Security Model and Verification
      • Disputing Root Bundles
      • Validating Root Bundles
    • Tracking Events
  • 🔁Relayers
    • Running a Relayer
    • Relayer Nomination
  • 📚Resources
    • Release Notes
    • Developer Support
    • Bug Bounty
    • Audits
Powered by GitBook
On this page
  • Best Practices
  • Example Flow
  1. 🔗QUICKSTART
  2. Embedded Crosschain Actions

Crosschain Actions UI Guide

PreviousUsing a Custom Handler ContractNextSettle Crosschain Intents

Last updated 2 months ago

LogoLogo

Products

  • Across Bridge
  • Across+
  • Across Settlement

Socials

  • Discord
  • Twitter
  • Medium
  • Forum

Resources

  • Blog
  • Across Brand Assets
  • Github

Routes

  • Bridge to Unichain
  • Bridge to Arbitrum
  • Bridge to Optimism
  • Bridge to Linea
  • Bridge to Polygon
  • Bridge to Base
  • Bridge to World Chain
  • Bridge to zkSync

This UI guide is a counterpart to the technical Crosschain Actions Integration Guide and is intended to offer UI and UX patterns developers can implement directly within their core application CTAs.

Best Practices

  • Embed a source chain selector directly within the UI component where users perform an action.

  • Default the source chain selector to the balance where the user has the most funds of the input asset. The destination chain is the network where the user is interacting with your protocol.

  • Don't require users to go to wallet, switch network, then return to app to perform an action. For example, if the user selects a source chain that is not the network they are currently connected to:

    • 1: user clicks the button to perform the action ("confirm")

    • 2: wallet prompts user to switch network to the source chain

    • 3: wallet prompts user to execute the crosschain action (depositing into Across)

Example Flow

This example app is a borrow/lend protocol where the user selects the vault on Optimism they want to deposit into. The source chain selector is embedded directly within the deposit flow removing the need for a user to go to a separate page or bridge to use funds from their desired chain.
User selects to use their funds on Arbitrum.
User inputs the amount they wish to send.
Since the user is currently connected to Ethereum, but want to use funds on Arbitrum to deposit into the Optimism vault, they will need to switch to Arbitrum and then confirm the deposit.
After switching the wallet network to Arbitrum the user is immediately prompted to confirm the transaction, without needing to go back to the app. Once confirming the user's assets are transferred from Arbitrum to Optimism and deposited into the vault, atomically.
Transfers in Across are executed extremely fast, typically under 5 seconds and providing the user with a timer to completion provides a magical UX and reduces the uncertainty they experience when bridging.