Overview
Device-native, self-custodial embedded wallets across every chain, from one SDK.
@cavos/kit gives applications one wallet integration across chains without
flattening their differences. Users authenticate with a familiar identity and
control a deterministic wallet through device-native key material—no seed
phrase, MPC cluster, or browser extension.
Starknet, Solana, and Stellar are available today. Cavos is designed to reach every chain through adapters that preserve the same product contract while using each network's native account, signing, execution, and fee model.
import { Cavos } from "@cavos/kit";
const wallet = await Cavos.connect({
chain: "solana", // "starknet" | "solana" | "stellar"
network: "testnet",
identity: { userId: user.id, email: user.email },
appSalt: "my-app",
appId: process.env.NEXT_PUBLIC_CAVOS_APP_ID,
});
if (wallet.chain === "solana" && wallet.status === "ready") {
await wallet.execute(1_000_000n, recipient);
}The stable product contract
| Piece | Role |
|---|---|
| Identity | A stable userId plus an app-specific salt anchors the wallet independently of the current device. |
| Device-native authority | Keys are created and used locally. Starknet and Solana authorize P-256 device signers; Stellar locally unwraps its active ed25519 control key with enrolled device factors. |
| Chain adapter | Implements address derivation, signing, execution, recovery, and sponsorship for one network family. |
| Unified SDK | Cavos.connect({ chain, network }) returns a discriminated wallet union so shared onboarding stays stable and chain-native methods remain typed. |
| Sponsorship | A paymaster, relayer, fee payer, or fee-bump service removes the need for users to acquire gas when that adapter supports it. |
What remains chain-native
Execution is intentionally not reduced to a misleading universal transaction format:
- Starknet: Cairo
DeviceAccount, arbitrary multicalls, Starknet paymaster. - Solana: device-account PDA, native P-256 verification, transfer or allowlisted CPI execution, sponsoring relayer.
- Stellar: classic
G…account, locally unwrapped control key, XLM payments, Soroban invocation, optional fee-bump sponsorship.
Narrow on wallet.chain before calling chain-native methods. See
Chains for the capability matrix.
Security properties
- Self-custodial: Cavos does not hold a signing key that can move user funds.
- MPC-free: there are no reconstructable server-side key shards.
- Device-native: authority is created or unlocked locally on an enrolled device.
- Deterministic identity: the same stable identity and app salt resolve to the same wallet for that adapter.
- Recoverable: each adapter exposes non-custodial device approval and recovery appropriate to its account model.
Where to next
Quickstart
Install, choose an adapter, and execute a sponsored transaction.
Chains
Current availability and the adapter contract for future chains.
Starknet
Cairo DeviceAccount and paymaster execution.
Solana
Device-account PDA and sponsoring relayer.
Stellar
Classic account, local control-key unlock, and Soroban calls.
React
Provider, hooks, modal, and chain switching.
React Native
Secure Enclave, Android Keystore, and native passkeys.
Dashboard
Console: roles, API keys, webhooks, sponsorship, allowlists.
For agents
Machine-readable docs and implementation rules for coding agents.