QW
Your passphrase is the key. It is stretched with Argon2id and used to unwrap the master key that signs your records and decrypts your account on this server. It is sent once over TLS to unlock the session and is never stored - pick something long, and reuse it nowhere.
Email is not a way back in. Registering takes a nickname and a passphrase. If an address is added it is stored encrypted at rest, the same as the nickname, and is only ever a verify / notify channel - never a passphrase reset. Forget the passphrase and the one-time recovery code shown right after you register is the only way back; without it the account is gone.
Your invite link
Post it anywhere your work history already lives, or let someone scan it. Tap the code to enlarge it.
Scanning this opens the invite page: one tap to install the app, one to be introduced.
…
Your skills, with the score each has earned
The mean rating counterparties gave the countersigned work behind that tag (0-5), over how many contracts. Countersigned work is the only axis that carries a number (NIP-QW03 5): a bare claim, a level or a commit-history hint adds reach, not a score. Every row shows its evidence class (○ unproven / ⚙ algorithmic / ✓ approved by job).
No skills yet - add one below, publish it, then complete a contract to put a score on it.
Public is published in your profile · Private never leaves this device · Contacts is planned - stored locally for now. Set it per field, and per entry below.
Work history
Education
Certifications
Remove every tag and Save is refused - an empty profile is not a profile, it is being unroutable. Remove tags one at a time above, or publish a replacement.
Contracts
An invite usually exists because of an upcoming one - follow a link on Find, then propose it here. Each round is a full set of terms: a counter replaces them, it does not edit them. Only the worker's signed Accept ends the exchange; walking away is just silence.
No proposals yet.
New proposal
= 0 Quants
Open to work (NIP-QW14)
Tell the network you are looking for a new project. Not addressed to anyone: it is pushed to contacts whose skills overlap yours, each of whom decides whether to pass it on, and it expires on its own. Your published profile skills carry it - add a few below only to emphasise some of them. Tune reach in the Filter tab.
Nothing yet - yours, and any that reach you, show here.
Your network
Everyone you have exchanged an introduction with. Each row: their name and the skills routing knows them by (countersigned beats a plain claim), then your own trust read - hops on the shortest verified credit path (or unknown when none reaches them, which is not the same as zero) and the running balance. There is no global score; this is computed here, from records you hold. Follow someone new on Find.
No contacts yet - follow someone's link on Find.
Follow someone
Paste their invite link (not yours, that's on Identity) and they arrive as a first-degree contact.
Search by skill
The question walks your contacts, then theirs - up to 3 hops - toward whoever has done that kind of work. Your own contacts see you asked; Sync on the Mail page to send it, and again to collect what comes back.
Every knob this client has
Each group opens for the full explanation. Some are wired; some are shown as not implemented so the surface matches what the mobile app will carry.
Appearance
Inbound proposal filter
Minimum reputation - your trust-path score for the requester in this skill area: the Quant value on the closing edge of the shortest verified credit-issuance path from you to them, halved per hop. No such path is unknown-risk, below any threshold.
Position limit - a
multiplier of the requester's verified completed work
in the last 90 days. 1.0 lets a proposal push your
balance with them up to one times their recent output; 0
none.
Bureaus you trust NIP-QW15
>1 amplify, 1 neutral, <1
attenuate, 0 ignore. The Profile button uses the first
entry by default.Broadcast propagation NIP-QW14
Reputation scoring not implemented NIP-QW13
tolerance, rating / completion / quant
weights, recency half-life, side_settled_factor
(a contract with no credit issuance, NIP-QW01 kind 9006),
mf2_weight (a direct contact's judgment of someone you
distrust nudges their score, 2b), scope inheritance and the path
knobs. Not built yet - qw_protocol::trust
still uses the single-path magnitude score. Shown so the surface is
visible.Skill limits NIP-QW03
Mailbox
QW keeps no always-on connection. Sync hands a coordination server what you have signed and collects what it is holding for you; everything delivered is verified on this device before it counts, and it never needs a login.
Not synced yet.
qw-web you trust and take its
GET /servers as your own.Passphrases for this account
Any one of them signs you in - they each wrap the same master key, which never changes. Add a second passphrase for another device, and keep a recovery code somewhere offline: forget every other passphrase and it is the only way back. There is no email reset.
Show identity key
This 64-character key is the account - anyone who has it is you, and there is no reset. Save it the way you would a password-manager export; paste it into another QW client to carry the identity across, even if this host disappears.
On this build the identity key is a file on a device you already control - there is nothing to manage here.
qw-web -
· build -