Namera is a programmable session key layer for smart wallets. It enables wallets to delegate scoped permissions through session keys with programmable policies, designed for agents, automation, and multi-chain execution.
Namera is organized as a Turborepo monorepo using Bun as the package manager.
| Package | Description |
|---|---|
apps/cli |
CLI for managing accounts, sessions, wallets and running local MCP server |
apps/docs |
Developer documentation built with Fumadocs + Tanstack Start |
| Package | Description |
|---|---|
packages/sdk |
Core TypeScript SDK for smart accounts, session keys, policies, and transaction execution |
packages/config |
Centralized configurations (tsconfig, Biome, Vitest, tsdown) |
packages/ui |
Shared UI components |
Full documentation is available at namera.ai/docs.
- SDK Docs — smart accounts, session keys, policies, transactions, signing
- CLI Docs — keystore, smart account, session key commands, MCP server
- Getting Started — end-to-end guide from installation to first transaction
- Node.js 18+
- pnpm:
npm install -g pnpm
Clone the repository and install dependencies:
gh repo clone thenamespace/namera
cd namera
pnpm installStart all apps in development mode:
pnpm run devBuild all packages and apps:
pnpm run buildTo build a specific package or app:
pnpm run build --filter=@namera-ai/sdk
# or
pnpm run build --filter=@namera-ai/cliLint and format:
pnpm run lint
pnpm run lint:checkContributions are welcome. Please read the guidelines below before submitting a PR.
- Fork the repository and create a branch for your changes
- Install dependencies with
pnpm install - Make your changes and ensure tests pass
- Run linting with
pnpm run lint - Open a pull request against
main
All PRs should:
- Follow the existing code style (Biome enforces this)
- Use Effect patterns (
Effect.gen,@effect/schemafor validation, tagged error classes) - Include tests where applicable
- Pass CI checks
This repo uses Conventional Commits. Commit messages should follow this format:
<type>(<scope>): <description>
Common types:
feat: new featurefix: bug fixdocs: documentation changeschore: tooling, config, or maintenancerefactor: code changes that do not fix bugs or add featurestest: adding or updating tests
Example:
feat(sdk): add passkey session key support
fix(cli): resolve keystore decryption edge case
docs: update session key policy examples
Commitlint is configured via lefthook and will validate commits automatically.
This repo uses Changesets for versioning and publishing.
To version packages:
pnpm run changesetChangesets will guide you through selecting the version bump (major, minor, patch) for each package. The CI pipeline handles publishing when a release PR is merged, and approved by a maintainer.
Please report security issues via GitHub Security Advisories: https://github.com/thenamespace/namera/security
Do not open a public issue for security vulnerabilities.
Apache 2.0. See LICENSE.