Purpose
Record a decision.
Don’t run a service.
Quevra supports groups that need an inspectable sequence of self-declared participation. A wallet can issue itself a ticket without an operator approving it, then cancel its own active ticket.
The product intentionally stops before service allocation. It does not decide eligibility, advance a service queue, call a participant, guarantee delivery or estimate a wait. A ticket number describes issuance order, not a current position.
Ticket lifecycle
A new number.
An exact cancellation.
Join
join() requires that the caller has no active ticket. It increments totalIssued, sets the caller’s currentTicket, records the holder, marks the ticket active and increments activeCount.
Cancel
cancel(expectedTicket) checks the caller’s current ticket and the precise reviewed number. It clears the current ticket and active flag, then decrements the active count. The holder history remains.
Rejoin
A later join issues a larger number. An old cancellation request cannot cancel this newer ticket, because its expected number no longer matches.
Both successful actions emit an event with the ticket, caller and updated active count. A future interface must verify the transaction destination, sender, receipt status and exact business event before reporting success.
Public records
Distinct fields.
Distinct meanings.
totalIssuedAll numbers ever issued. It only increases.
currentTicket(wallet)The wallet’s active number, or zero for none.
ticketHolder(ticket)The wallet originally issued that ticket. Retained after cancellation.
active(ticket)Whether an issued ticket remains active.
activeCountThe count of active tickets. Not a rank or waiting-time estimate.
Authority & gas
No privileged operator.
No deposited funds.
QuevraQueue has no owner, administrator, upgrade proxy, funds distribution, deposit or reward mechanism. No function accepts another wallet as a cancellation target. Business calls are nonpayable and reject native-token value.
When an actual deployment is configured, a user pays the connected network’s gas for a successful transaction. A frontend estimate is only an estimate; the wallet supplies the final transaction review. Quevra does not set a fixed public gas price or promise a fiat cost.
Deployment boundary
Prepared locally.
Not silently live.
The current Demo has tested contract source and unsigned local deployment previews. No public network, address, explorer link or verified deployed bytecode is configured. All onchain reads and writes are unavailable. Connect Wallet grants no write authority.
A future release requires a separately authorized deployment, reviewed chain and parameters, account/network/gas preflight, transaction receipt verification and an exact runtime-code match. Deployment signing belongs in a controlled local CLI flow, never in a website-held private key.
It is one simulated wallet in browser memory, erased on reload. It creates no public record, receipt or gas charge and must never be presented as a live queue.
Limitations
Wallet-level control.
Not person-level identity.
A person can use multiple wallets. The contract enforces one active ticket per address, not per human. It does not verify identity or prevent Sybil participation.
Public transaction ordering may depend on the network. Ticket issuance is not a fairness guarantee. A lost wallet cannot cancel through an admin recovery mechanism, because no such operator exists. Any external service must independently define its own rules and obligations.
Try the local practice