Passkey authentication for AI-native apps.
npm install @rockfridrich/villa-sdkimport { villa } from "@rockfridrich/villa-sdk";
const user = await villa.signIn();
// { address: "0x...", nickname: "alice", avatar: "🦊" }That's it. No API keys, no configuration.
npm install @rockfridrich/villa-sdk @rockfridrich/villa-sdk-reactimport { useVilla, VillaButton } from "@rockfridrich/villa-sdk-react";
function App() {
const { user } = useVilla();
return user ? <p>@{user.nickname}</p> : <VillaButton />;
}curl https://docs.villa.cash/CLAUDE.txtWorks with Claude Code, Cursor, Windsurf, Lovable.
| Resource | URL |
|---|---|
| Docs | docs.villa.cash |
| AI Context | CLAUDE.txt |
| SDK | npm |
| React | npm |
| Name | URL | Purpose |
|---|---|---|
| Production | villa.cash | Stable |
| Construction | construction.villa.cash | Preview |
| Docs | docs.villa.cash | Documentation |
| PR Preview | villa-shard-{pr}-{date}.up.railway.app |
Automatic PR environments |
bun install
bun dev # Start all services
bun verify # Typecheck + lint + testInternal dashboard for monitoring deployments, CI status, and service health.
cd apps/telemetry
bun dev # Starts on http://localhost:3003
bun test # Run Playwright E2E testsRequires gh CLI authenticated (gh auth login) for GitHub API access.
Not deployed - local development tool only.
All services run on Railway.
MIT