KWQR Documentation
Your guide to using the KWQR decentralized ledger system.
Welcome to KWQR
Proof you can hold. Trust you can carry.
KWQR is your personal digital ledger — simple, secure, and totally in your control. It turns everyday actions, important documents, or even full files into QR codes you can print, scan, and trust forever.
There’s no app to download, no account to make, and no company spying on your data. Just your browser, your QR codes, and your keys.
✨ What Can You Do with KWQR?
Track a process from start to finish
Every step — signed, sealed, and scannable. Great for co-ops, supply chains, shared projects, or proof of work.
Print your proof
Ledger entries become printable QR codes. Keep them in a notebook, share them in meetings, mail them with contracts, or stash them in a safe.
Own your actions
Every update is signed with your private key (which never leaves your device). That means only you can make a valid update — no one else.
Store whole files — on paper
Yep. KWQR can slice up a file, turn it into QR codes, and let you print the entire thing. Want to keep a legal doc, artwork, or message alive for 100 years? Put it on paper — the math will bring it back.
Offline by design
KWQR works without servers, without blockchain, and even without the internet. Your data lives where you want: online, offline, or on your shelf.
Core Features
Understand the main functionalities of the KWQR application.
Generate Keys
Create your secure digital identity. The 'Generate Keys' tab creates your unique cryptographic keypair.
- Public Key: Your public address. Share it so others can identify you on the ledger.
- Private Key: Your secret password. It's used to sign your actions and is never shared or stored by the app.
You must save your private key securely. If you lose it, you will lose the ability to sign new actions linked to your public key.
Create an Entry
This is the heart of KWQR. An 'entry' is a signed, verifiable record of an action you've taken.
- Go to the "Create Entry" tab.
- Provide your Private Key to prove it's you.
- Link to a previous entry's QR code to continue a chain, or leave it blank to start a new one.
- Describe the action you're taking.
- Click "Sign & Generate Entry" to create your new, permanent QR code record.
Build a Smart Contract
Go beyond simple records by creating automated, conditional actions. A smart contract is a rule that executes only when certain conditions are met. Use this tab to generate the contract's QR code, which you then use in the "Create Entry" tab to kick things off.
Ledger Explorer
Turn a long chain of entries into something easy to understand.
- AI Summary: Get a plain-language summary of a member's recent activity, powered by AI.
- Search & Validate: Combine multiple entries to search, audit, and verify the entire history of a ledger.
File Vault
Securely store and retrieve entire files on the ledger by breaking them into a verifiable chain of QR codes and their corresponding data.
- Store a File: In the "File Vault" tab, provide your private key and select a file. The application will encode the file, split it into chunks, and generate a series of signed ledger entries. You can then download a ZIP archive which contains both PNG images of the QR codes (for printing/physical backup) and TXT files containing the raw data (for reliable digital reassembly).
- Reassemble a File: To retrieve a file, upload the corresponding ZIP archive. The application reads the raw data from the included TXT files, verifies the cryptographic signature of each chunk in the chain, and reconstructs the original file. You can then download the reassembled file. This process ensures that the file has not been tampered with since it was stored.
Advanced Contract Types
Automate complex, multi-party actions with advanced contracts.
Joint Approval (Multi-Sig)
Ensure important actions are approved by multiple people. Think of it as a digital safe that requires two keys to open.
- Build: In "Build Smart Contract," select "Joint Approval" and specify the public keys of all required signers.
- Approve: Each required signer creates their own "Approve" entry, using the contract's QR code as the "Previous Entry." This is their digital signature of consent.
- Execute: To finalize the action, create an entry using the contract's QR code. In the "Supporting Entries" box that appears, add all the signed "Approve" entries. The action will only succeed if all approvals are present and valid.
Oracle
Trigger an action based on a signed report from a trusted external source (an "oracle").
- Build: Select "Oracle," specify the oracle's public key, and define the exact JSON report data you expect it to provide.
- Report: The trusted oracle creates a "Report" entry, using the contract QR as the "Previous Entry" and including the required JSON data.
- Execute: Scan the contract QR, then provide the oracle's signed "Report" entry in the "Supporting Entries" box to trigger the action.
Group Vote
Execute an action only if enough members of a group vote in favor.
- Build: Select "Group Vote," define the list of eligible voters (by public key), and set the number of "yes" votes required to pass.
- Vote: Each eligible member creates their own "Vote" entry ("yes" or "no"), using the contract QR as the "Previous Entry."
- Execute: Scan the contract QR, then provide all the signed "Vote" entries in the "Supporting Entries" box. The contract will automatically tally the valid votes and execute if the threshold is met.
Expert Contract Types
Unlock powerful workflows with highly specialized contracts.
Failsafe Switch
An action that triggers if a user fails to perform a periodic "check-in," useful for inheritance or emergency protocols.
- Build: Specify the Owner (who must check in), the Heir (who inherits), and the check-in interval (e.g., 30 days). This creates a contract with a `check_in_deadline`.
- Check-in: The Owner periodically logs a "Check-in" action, using the Failsafe Switch contract as its "Previous Entry." This action generates a *new* contract with a new, extended deadline, invalidating the old one.
- Execute: If the deadline passes without a check-in, the Heir can execute the contract. They use the *last known* switch contract as the "Previous Entry" and provide their own private key. The contract action will then be logged.
Bounty
Post a reward for a task that can only be claimed when a designated reviewer approves a submission.
- Build: Create a Bounty contract, specifying the Reviewer's public key and the reward.
- Submit: A participant completes the task and logs a "Submit to Bounty" action, which includes their work or a description of it.
- Approve: The Reviewer verifies the submission. They then log an "Approve" action, referencing the unique hash of the participant's "Submit to Bounty" entry.
- Execute: The participant executes the original Bounty contract, providing both their submission entry and the reviewer's approval entry in the "Supporting Entries" box to claim their reward.
Scheduled Payment
Authorize a recipient to pull a fixed payment from a sender on a recurring schedule.
- Build: Create a "Scheduled Payment" contract, defining the sender, recipient, amount, and interval (e.g., every 30 days).
- Execute: When a payment is due, the Recipient executes the contract. They must provide all previous payment entries related to this schedule to prove when the last payment was made.
- Cancel: The Sender can log a "Cancel Scheduled Payment" action at any time to stop future payments. The next time the recipient tries to execute, the contract will see the cancellation and fail.
Secure Swap (HTLC)
Lock funds that can be claimed by a recipient who knows a secret, or reclaimed by the sender after a time limit expires. The foundation for trustless atomic swaps.
- Build: The Sender creates an HTLC, specifying the Recipient, a hash of a secret phrase, and a lock-time (e.g., 60 minutes). The Sender gives the actual secret phrase to the Recipient off-ledger.
- Claim: Before the deadline, the Recipient logs a "Claim HTLC" action, providing the secret phrase. The contract verifies the secret against its stored hash and releases the funds.
- Refund: If the Recipient fails to claim the funds before the deadline, the Sender can log a "Refund HTLC" action to reclaim their locked funds.
Security Model
KWQR is designed with a "trustless" security model in mind. The integrity of the ledger is maintained by cryptography, not by a central authority.
- Client-Side Cryptography: All sensitive operations, like generating keys and signing entries, are performed in your web browser using the standard Web Crypto API. Your private key is never transmitted over the network or stored by the application.
- Verifiability: Anyone can independently verify the entire chain of entries. By starting from the genesis entry, one can check the signature and hash of every subsequent entry to ensure the ledger's integrity has not been compromised.
- Admin Panel: The Admin Panel is for system-wide configuration (e.g., enabling contract types) and monitoring. It is protected by a password and does not have access to user keys or the ability to alter ledger data.