Self-custodial
Cavos never holds a key that can move user funds. The on-chain account is the sole authority over signers.
A device-native, self-custodial embedded wallet for Stellar. The signing key is created and used on the user's device — Cavos cannot see it, cannot sign with it, and cannot move funds. Available via @cavos/kit for web and @cavos/kit/react-native for mobile (Expo Development Builds, EAS, or bare React Native — Expo Go is not supported).
In the browser, the device key is a non-extractable P-256 key stored via WebCrypto. On React Native, it uses the OS keystore. These platform primitives provide the hardware-backed isolation — the SDK does not enforce non-extractability on Node or other server runtimes.
Cavos provisions a classic G… Stellar account — not a Soroban contract. It's the same address format that wallets, exchanges, and every Stellar tool already understands.
cv:ct).npm install @cavos/kitUse Cavos.connect with chains: ["stellar"]. Connect never creates the account — it's created lazily on first execute. You can call execute when status is "undeployed" or "ready". Only "needs-device-approval" blocks execution.
import { Cavos } from "@cavos/kit";
const session = await Cavos.connect({
chains: ["stellar"],
defaultChain: "stellar",
network: "mainnet",
identity: { userId: user.id, email: user.email },
appSalt: "my-app",
appId: process.env.NEXT_PUBLIC_CAVOS_APP_ID,
});
const wallet = session.wallet("stellar");
// Execute when undeployed OR ready
if (wallet.status !== "needs-device-approval") {
const hash = await wallet.execute(
10_000_000n, // 1 XLM in stroops
"GDESTINATION...ADDRESS"
);
}Cavos never holds a key that can move user funds. The on-chain account is the sole authority over signers.
Standard Stellar address format compatible with all exchanges, wallets, and ecosystem tools.
The Cavos relayer sponsors account reserves and pays transaction fees — users hold no XLM to get started.
The account can invoke Soroban contracts and satisfy require_auth for on-chain apps like escrows.
WebAuthn PRF passkey for device approval (note: on Stellar it unwraps the spending key, not 2FA). Recovery codes as offline backup.
Connect derives the address immediately. The on-chain account is created on first execute, atomically.
Follow the quickstart to reach a sponsored transaction.
We use anonymous analytics to understand how developers use Cavos. No personal data is collected. Privacy Policy