kwami

mcp
Security Audit
Warn
Health Pass
  • License Ò€” License: Apache-2.0
  • Description Ò€” Repository has a description
  • Active repo Ò€” Last push 0 days ago
  • Community trust Ò€” 48 GitHub stars
Code Warn
  • process.env Ò€” Environment variable access in .releaserc.cjs
Permissions Pass
  • Permissions Ò€” No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

πŸ‘» kwami.io | A 3D Interactive AI Companion Library for creating engaging AI companions with visual (blob), audio, and AI speech capabilities.

README.md

Kwami

License
npm
CI
Node
pnpm

Kwami v3 is a Solana NFT collection and fully on-chain web3 app. Connect with Phantom, fund via MoonPay, mint a Kwami, publish it, and let others challenge it in a timed voice duel for a share of its account balance.

Mint Β· fund Β· publish Β· challenge Β· win (or grow the pot)


Table of contents


Overview

Kwami combines a Solana NFT, a funded on-chain account, and a voice AI companion. Authors mint and publish Kwamis; challengers pay in SOL or USDC for a 3-minute voice session to discover the secret word or phrase.

Outcome Result
Challenger says the secret in time Receives 80% of the Kwami’s account balance (SOL + USDC)
Time runs out or secret is wrong Ticket is lost; the author’s Kwami account keeps growing

Kwamis are immutable metadata but transferable assets β€” they can be bought and sold. The 3D model can be embedded in third-party apps. Minted owners unlock an AI program builder that generates Solana sub-programs for complex financial games before publish.


Features

  • Solana NFT collection β€” mint, own, transfer, and trade Kwamis
  • Phantom wallet β€” connect and sign on Solana
  • MoonPay on-ramp β€” fiat β†’ SOL/USDC without leaving the app
  • Paid voice challenges β€” SOL or USDC tickets, 3-minute sessions
  • Account economics β€” 80% reward on win; pot grows on miss
  • Kwami death β€” dies after losing 99% of account value, or when balance falls under ~$1 USD
  • Immutable + transferable β€” metadata locked; ownership can change on secondary markets
  • Embeddable 3D model β€” integrate the Kwami avatar in any third-party app
  • AI program builder β€” generate Solana sub-programs and smart-contract logic for custom financial games before publishing

How it works

Author                         Challenger
──────                         ──────────
Mint Kwami NFT
Fund account (SOL / USDC)
Set secret word/phrase
Customize on-chain logic
        β”‚  Publish
        β–Ό
                  Pay ticket (SOL / USDC)
                  Speak to Kwami (≀ 3 min)
                            β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β–Ό                           β–Ό
        Secret guessed              Time / miss
        β†’ 80% balance               β†’ ticket lost
          to challenger               pot grows
Concept Detail
Mint & publish Create a Kwami NFT, fund its account, set a secret, optionally customize Solana logic, then publish
Paid interaction Challengers pay in SOL or USDC for a voice session
Voice challenge 3-minute window to discover the secret by speaking to the Kwami
Reward split Correct guess β†’ 80% of balance to the challenger; miss β†’ author keeps the ticket
Death Loses 99% of account value, or balance under ~$1 USD
Ownership Immutable metadata; transferable NFT (buy / sell)
3D model Embeddable in third-party applications
AI program builder Generate Solana sub-programs for complex games before publish

Wallet & onboarding

Integration Role
Phantom Wallet connect and Solana transactions
MoonPay Fiat on-ramp for SOL / USDC

Getting started

Prerequisites

Tool Requirement
Node.js Version in .nvmrc (>= 22.14) β€” nvm use
pnpm >= 10 β€” corepack enable picks up packageManager from package.json

pnpm-lock.yaml is the lockfile of record. CI installs with --frozen-lockfile; an npm install here produces a lockfile CI will reject.

Install

git clone https://github.com/kwami-labs/kwami.git
cd kwami
nvm use
corepack enable
pnpm install    # also installs husky hooks

Build & verify

pnpm build
pnpm lint && pnpm typecheck && pnpm test:run

Consume the package

pnpm add kwami          # latest stable (main)
pnpm add kwami@rc       # release candidate (stg)
pnpm add kwami@dev      # prerelease (dev)

three is a peer dependency when embedding the 3D model:

pnpm add three

Scripts

# Build
pnpm build              # bundle + type declarations β†’ dist/
pnpm dev                # rebuild on change
pnpm clean              # remove dist/, coverage/, and test output

# Quality
pnpm lint
pnpm lint:fix
pnpm format
pnpm format:check
pnpm typecheck
pnpm audit:ci

# Tests β€” see docs/testing.md
pnpm test               # unit
pnpm test:watch
pnpm test:coverage      # unit + coverage ratchet (CI)
pnpm test:integration
pnpm test:e2e           # built bundle in a real browser (WebGL)
pnpm test:all

# Releases β€” see docs/releases.md
pnpm release:dry-run    # print next version; change nothing

Project structure

kwami/
β”œβ”€β”€ src/                  # Library & app source
β”‚   β”œβ”€β”€ agent/            # Voice pipeline
β”‚   β”œβ”€β”€ avatar/           # 3D renderers
β”‚   β”œβ”€β”€ memory/           # Memory adapters
β”‚   β”œβ”€β”€ soul/             # Personality
β”‚   β”œβ”€β”€ skills/           # Native behaviors
β”‚   β”œβ”€β”€ tools/            # Tool registry (MCP)
β”‚   β”œβ”€β”€ types/            # TypeScript definitions
β”‚   └── Kwami.ts          # Public entry surface
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ unit/
β”‚   β”œβ”€β”€ integration/
β”‚   └── e2e/
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ ci/               # Pipeline gates
β”‚   └── release/          # Baseline tag, back-merge
β”œβ”€β”€ docs/                 # Deep-dive guides
β”œβ”€β”€ .github/              # Workflows, PR template, CODEOWNERS
β”œβ”€β”€ CHANGELOG.md          # Generated by semantic-release
β”œβ”€β”€ CONTRIBUTING.md
β”œβ”€β”€ SECURITY.md
β”œβ”€β”€ LICENSE               # Apache-2.0
└── package.json

Documentation

Document Description
CONTRIBUTING.md Setup, branches, commits, PR checklist
SECURITY.md Supported versions & vulnerability reporting
CHANGELOG.md Released changes (generated)
docs/ci-cd.md CI pipeline & promotion gate
docs/releases.md Channels, version bumps, troubleshooting
docs/testing.md Unit / integration / e2e layers
LICENSE Apache License 2.0 (full text)

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening a PR.

Branch promotion (enforced in CI):

feature/* ──► dev ──► stg ──► main
  • Branch off dev; open PRs against dev
  • Use Conventional Commits β€” versions, tags, changelog, and npm publishes are derived from them
  • Feature PRs are squash-merged; the PR title becomes the release subject
  • Before push: pnpm lint && pnpm typecheck && pnpm test:unit && pnpm test:integration

Issue tracker: github.com/kwami-labs/kwami/issues


Security

Do not open public issues for vulnerabilities.

Report privately via GitHub Security Advisories or see SECURITY.md for supported versions, scope, and response expectations.


Releases

Releases are automated with semantic-release. Do not hand-edit CHANGELOG.md or the version field.

Branch npm tag Channel
main latest Stable
stg rc Release candidate
dev dev Prerelease

Details: docs/releases.md Β· History: CHANGELOG.md


License

Copyright Β© 2025 Alex Colls Outumuro

Licensed under the Apache License, Version 2.0. See the LICENSE file for the full text.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Reviews (0)

No results found