Skip to main content

Installation

npm install @aurum-sdk/core @aurum-sdk/hooks

AurumProvider Setup

Wrap your application root in the AurumProvider after initializing the Aurum instance.
import { Aurum } from '@aurum-sdk/core';
import { AurumProvider } from '@aurum-sdk/hooks';

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

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

Available Hooks

useAurum

Access the raw Aurum SDK instance.
const { aurum, isReady } = useAurum();

useAccount

Access connected user information.
const {
	publicAddress,
	walletName,
	walletId,
	email,
	isConnected,
	isInitializing 
} = useAccount();

useConnect

Connect to a wallet via modal or direct connection.
const { connect, isPending, error } = useConnect();

// Open wallet selection modal
await connect();

// Or connect directly to a specific wallet (skips modal)
import { WalletId } from '@aurum-sdk/types';

await connect(WalletId.MetaMask);
Note: WalletId.Email and WalletId.WalletConnect cannot be used with connect(walletId) — use the dedicated headless methods documented in Headless UI.
ConnectWidget Compatibility: Do not use useConnect() with <ConnectWidget>. Instead use useAccount() to react to connection state changes.

useDisconnect

Disconnect the current wallet.
const { disconnect } = useDisconnect();

await disconnect();

useChain

Access chain information and switch chains.
import { sepolia } from 'viem/chains';

const { chainId, switchChain, error } = useChain();

await switchChain(sepolia.id, sepolia);