AurumAurum

@aurum-sdk

0.1.4

A modern SDK for web3 developers. One integration. All major wallets. Fully customizable.

Aurum SDK Default View

Developer & User Friendly

Web2 & Web3 Authentication

Passwordless email login via Coinbase Embedded Wallets, with native support for MetaMask, Phantom, WalletConnect and more.

Custom Branding

Add your logo, brand color, font, and border radius. Comes with light and dark themes out of the box. Full whitelabel support.

Multiple Integration Patterns

Use the modal for instant setup, embedded widgets for inline experiences, or the headless API to build completely custom flows.

Ready in Minutes

Use Aurum's simple API to get setup fast.

Wallets Simplified

Quick Start

Up and running with a few lines of code

App.tsx
123456789101112
import { Aurum } from '@aurum-sdk/core';

const aurum = new Aurum({
  wallets: {
    embedded: { projectId: 'cdp-project-id' },
    walletConnect: { projectId: 'reown-project-id' },
  },
});

// Opens the connect modal
const address = await aurum.connect();
console.log('Connected:', address);
App.tsx
1234567891011121314151617181920212223242526272829
import { Aurum } from '@aurum-sdk/core';
import { AurumProvider, useAccount, useConnect } from '@aurum-sdk/hooks';

const aurum = new Aurum({
  wallets: {
    embedded: { projectId: 'your-cdp-id' },
    walletConnect: { projectId: 'your-reown-id' },
  },
});

function App() {
  return (
    <AurumProvider aurum={aurum}>
      <WalletButton />
    </AurumProvider>
  );
}

function WalletButton() {
  const { connect } = useConnect();
  const { publicAddress, isConnected } = useAccount();

 if (isConnected) {
    return <p>Connected: {publicAddress}</p>;
  }
    
  // Opens the connect modal
  return <button onClick={connect}>Connect Wallet</button>;
}
App.tsx
12345678910111213141516171819
import { Aurum } from '@aurum-sdk/core';
import { ConnectWidget } from '@aurum-sdk/core/widgets';

const aurum = new Aurum({
  wallets: {
    embedded: { projectId: 'your-cdp-id' },
    walletConnect: { projectId: 'your-reown-id' },
  },
});

function App() {
  return (
   // Embeds the connect widget directly in your app
    <ConnectWidget
      aurum={aurum}
      onConnect={({ address }) => console.log('Connected:', address)}
    />
  );
}
App.tsx
12345678910111213141516171819
import { Aurum } from '@aurum-sdk/core';
import { WalletId } from '@aurum-sdk/types';

const aurum = new Aurum({
  wallets: {
    embedded: { projectId: 'your-cdp-id' },
    walletConnect: { projectId: 'your-reown-id' },
  },
});

function MetaMaskButton() {
  const connect = async () => {
    const address = await aurum.connect(WalletId.MetaMask);
    console.log('Connected:', address);
  };

  // Connect using your own UI
  return <button onClick={connect}>Connect MetaMask</button>;
}

Get Started

Explore the docs or try the live demo