Why Logos Kit
A wallet and an app SDK for the Logos Execution Zone: public and private accounts, approvals people can read, and the calls your Basecamp app needs.
Logos Kit is two things that ship together:
- A wallet for the Logos Execution Zone (LEZ): public and private accounts, the native token (LGO) and other tokens, private transfers proved on the user's own machine, and approvals that show what a transaction really does.
- An SDK your app uses to ask that wallet for things: connect, read balances, propose transfers and program calls, and follow them until they land. It runs in Basecamp apps (QML). A TypeScript client covers Node scripts and tools; a web and React Native connect kit is planned.
Keys, accounts and approvals live only in the wallet. Your app asks; the user decides.
Quickstart
From template to an installed Basecamp app that sends LGO, in about ten minutes.
Install the wallet
From the Logos Kit catalog in Basecamp, or with the CLI.
Worked example: testimonials
Connect, pick an account, approve, land on chain: a complete app.
Worked example: faucet
Test funds into any account, with rate limits and private accounts.
What you get
| Private by default | Public and private accounts side by side. Private transfers are proved locally with RISC Zero: minutes on a laptop, and the app never sees a key. |
| Approvals you can read | Every request is decoded into effects (who pays whom, which token, which program), with the fee cap and the program's source verification. Calls the wallet can't read are flagged as such. |
| Honest outcomes | LEZ 0.3 includes failed transactions, so "included" isn't "worked". The wallet proves the effect from chain state and reports success, failure or unknown. |
| Built for Basecamp | User-facing steps are Basecamp intents, so the shell attests which app is asking. Reads are plain module calls. |
| QML first, TypeScript too | Apps call the wallet from QML (LogosKit). The same client (@logos-kit/client, @logos-kit/codec, byte-exact LEZ encoding) runs in Node for scripts and tools. Web and React Native connect kits are planned. |
| Apps to copy | A testimonial app, a faucet app and a template, each with loading, pending, error and unconfirmed states. |
How the pieces fit
┌─────────────┐ intent (connect, send, sign, funds) ┌──────────────────┐
│ your app │ ─────────────────────────────────────▶ │ Basecamp shell │
│ (LogosKit) │ └────────┬─────────┘
│ │ ▼
│ │ module call (reads, status) ┌──────────────────┐
│ │ ─────────────────────────────────────▶ │ Logos Kit wallet│
└─────────────┘ │ keys · approvals│
│ proving · policy│
└────────┬─────────┘
▼
LEZ sequencer (zone)| Piece | Where |
|---|---|
| Wallet (Basecamp) | logos_kit_wallet_ui over the core module logos_kit_wallet, from the Logos Kit catalog |
| Wallet (terminal) | logos-kit CLI, same engine and policy |
| QML SDK and UI kit | sdk/qml/LogosKit/, sdk/qml/LogosKitUi/ (QML SDK) |
| TypeScript SDK | @logos-kit/client, @logos-kit/codec (client) |
| Protocol | LWS-0: methods and intents |
Testnets only
Logos Kit runs on LEZ testnets and is unaudited. Don't use it with anything of
value. The wallet defaults to the official LEZ testnet,
which runs LEZ v0.3.0.