npm.io
0.16.0 • Published 3d ago

@dexterai/connect

Licence
Version
0.16.0
Deps
1
Size
79 kB
Vulns
0
Weekly
2.2K

Dexter

@dexterai/connect

Sign in with Dexter — passkey sign-in for any app. Tap your face, you're in: a non-custodial Dexter Wallet and its live USD balance, in one component.

npm React Passkey


What this is

A React connector that adds "Sign in with Dexter" to any app. One <SignInWithDexter/> button runs a discoverable passkey ceremony — the user taps their face and you get back a session plus their non-custodial Dexter Wallet (address + live USD balance). No password, no seed phrase, no extension.

The user holds their own keys. Nothing here is custodial — only the user's passkey moves funds, enforced on-chain. Composes @dexterai/vault; the only peer is React.

Install

npm install @dexterai/connect react

Quick start

import { SignInWithDexter } from '@dexterai/connect/react';

function Header() {
  return (
    <SignInWithDexter
      onSuccess={({ session, vault }) => {
        // session = auth tokens (camelCase); vault = the Dexter Wallet
        seatYourSession(session);
      }}
    />
  );
}

Signed out, it renders a Sign in with Dexter button. On success it becomes a compact chip — the Dexter Wallet address + "$X.XX available."

Hook (full control)

For your own UI, use the hook directly:

import { useSignInWithDexter } from '@dexterai/connect/react';

const c = useSignInWithDexter();
await c.signIn();        // run the passkey ceremony
c.status;                // idle → pending → done → error
c.vaultAddress;          // the Dexter Wallet address (base58)
c.usdcBalance;           // USD available (via Dexter's RPC), or null
c.disconnect();

What useSignInWithDexter() gives you

Field What it is
signIn() / disconnect() run the passkey ceremony / clear state
status / isVaultConnected idle→pending→done→error / connected flag
session auth session tokens (camelCase)
vaultAddress / vaultPda the Dexter Wallet address / PDA
usdcBalance / refreshBalance() USD available, best-effort via Dexter's RPC
vault / credentialId / error raw vault payload / credential id / typed error

Exports

  • @dexterai/connect — framework-free: passkeyLogin(), ConnectError, types.
  • @dexterai/connect/react<SignInWithDexter/>, useSignInWithDexter().

License

MIT