Skip to main content
Beta Release: The Metalayer Widget v1.x is currently in beta. To install the latest beta version, use @metalayer/widget@beta.

Features

  • Cross-chain token bridging
  • Multi-wallet support (Ethereum + Solana)
  • Responsive design
  • Framework agnostic
  • Type-safe with TypeScript

Installation

pnpm add viem wagmi @tanstack/react-query @solana/web3.js @solana/spl-token @metalayer/sdk@beta @metalayer/widget@beta

API Key Setup

Contact our team to get your API key.

Basic Usage

import '@metalayer/widget/styles.css';

import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import { WidgetProvider, Widget } from '@metalayer/widget';
import { WagmiProvider, createConfig, http } from 'wagmi';
import { mainnet } from 'wagmi/chains';

const queryClient = new QueryClient();

const wagmiConfig = createConfig({
  chains: [mainnet],
  transports: { [mainnet.id]: http() },
});

function App() {
  return (
    <WagmiProvider config={wagmiConfig}>
      <QueryClientProvider client={queryClient}>
        <WidgetProvider
          sdkConfig={{
            apiKey: 'your-api-key',
            environment: 'mainnet',
          }}
          onSupportedChainsLoad={(chains) => {
            // Update your wagmi config with the widget's supported chains
          }}
        >
          <Widget onConnectClick={() => openWalletModal()} />
        </WidgetProvider>
      </QueryClientProvider>
    </WagmiProvider>
  );
}
Note: The widget requires a WagmiProvider from your application. Use onSupportedChainsLoad to update your wagmi config with the chains the widget supports.