<BridgeButton>
SET UP THE SDK BEFORE YOU START:
- You can find the SDK setup instructions in the Quickstart page.
- We also created a tutorial to make it easier to understand how devs need to initialize the Nexus SDK in their project.
Use the BridgeButton component to provide a pre-built bridge interface that handles token bridging between supported chains.
The widget automatically manages the bridge flow, UI modals, and transaction state.
Props
Typescript
import type { BridgeParams } from '@avail-project/nexus-core';
 
interface BridgeButtonProps {
  title?: string; // Appears in the modal header once initialization completes
  prefill?: Partial<BridgeParams>; // chainId, token, amount (locked in the UI)
  className?: string; // Applied to the wrapper div around your trigger content
  children(props: { onClick(): void; isLoading: boolean }): React.ReactNode; // render prop trigger
}Example
Note: 
Refer to the API reference for a full list of supported tokens and chains,
as well as more examples of how to use the BridgeButton widget.
Here are examples of how to use the BridgeButton widget:
Basic Bridge Button
App.tsx
import {NexusProvider, BridgeButton } from '@avail-project/nexus-widgets';
 
function App() {
  return (
    <BridgeButton>
      {({ onClick, isLoading }) => (
        <button onClick={onClick} disabled={isLoading}>
          {isLoading ? 'Loading...' : 'Open Bridge'}
        </button>
      )}
    </BridgeButton>
  );
}Pre-filled Bridge Button
App.tsx
import { NexusProvider, BridgeButton } from '@avail-project/nexus-widgets';
 
function App() {
  return (
    <BridgeButton
      prefill={{
        chainId: 137,  // Polygon (destination)
        token: 'USDC',
        amount: '100',
      }}
    >
      {({ onClick, isLoading }) => (
        <button onClick={onClick} disabled={isLoading}>
          {isLoading ? 'Bridging…' : 'Bridge 100 USDC to Polygon'}
        </button>
      )}
    </BridgeButton>
  );
}Last updated on