Skip to main content

Features

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

Installation

EVM Only

pnpm add viem wagmi @tanstack/react-query @metalayer/sdk @metalayer/widget

EVM + Solana (beta)

pnpm add viem wagmi @tanstack/react-query @solana/web3.js @solana/spl-token @metalayer/sdk @metalayer/widget
Solana support is currently in beta and not available in mainnet environments. Contact our team to enable Solana bridging for testnet.

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.