Embedded wallets without the lock-in.

Add passkey wallets to your app, with device linking, recovery, and transaction signing. Use managed hosting or discuss an assisted deployment.

Use built-in wallet components, or use your own.

Serverless wallets on Cloudflare, in a few API calls

Accounts and Wallets API

One passkey creates the account and its wallet. Recovery is built in.

Passkey sign-upA non-custodial wallet in one call
RecoveryEmail or a linked device
import { useSeams } from '@seams/wallet/react'; const { registerWallet } = useSeams(); const result = await registerWallet({ authMethod: { kind: 'passkey', rpId: 'wallet.example.com' }, });

Sessions and Approvals API

One unlock opens a signing session with limits. Transactions that matter wait for the owner.

Signing sessionsAn expiry and a use limit per unlock
ApprovalsThe owner confirms in the wallet
import { transfer, useSeams } from '@seams/wallet/react'; const { unlock, seams } = useSeams(); await unlock(walletId, { signingSession: { ttlMs: 15 * 60_000, remainingUses: 5 }, }); await seams.near.signAndSendTransaction({ receiverId: "bob.near", actions: [transfer('1 NEAR')], });

Wallet console

Manage wallets, policies, and your team in one place. No code needed.

Custody and control, built in

Keys split between user device and server.

Limit what apps and agents can sign.

Link by QR. Recover with email or recovery codes.

Apache-2.0 open source with key export.

Ship wallets this week. Keep your users for good.

Passkey wallets with device linking and recovery. Free for up to 300 monthly active users.