Project paper · local Demo
One current text.
A visible revision.
Statryx is a public wallet status primitive. It stores a short message, the last update time and a revision for each caller. It is not a feed, messenger or private note.
Current text set.
Revision 1.
Previous current text replaced.
Revision 2.
Current message cleared.
Revision 3; history not erased.
Each change belongs to the transaction sender. It does not update another wallet, publish a conversation or prove that the text is true.
A short signal.
Not a social product.
A wallet may need one small public text to keep current. Statryx provides that state without a user-account database, a series of posts, replies or a messaging backend. The core action is updateStatus with an exact string.
There is no identity, availability, activity or truth verification. A status can be an expression chosen by a wallet, not proof of a real-world condition or a delivery commitment.
140 bytes.
Exact text, not truncation.
The contract permits at most 140 bytes of string data. The frontend counts the actual UTF-8 encoding rather than relying on a character limit. ASCII letters usually use one byte each; “界” uses three. Forty-six copies fit at 138 bytes, while forty-seven exceed the limit at 141.
The interface does not silently trim, normalize or truncate text. Whitespace and line breaks are preserved in the reviewed message. Invalid or oversized input is rejected before asking the wallet.
An empty string is valid when it changes a non-empty current status. Sending the exact same text—including an already-empty message—is rejected as no change.
The caller owns its state.
The transaction sender is always the author. The contract has no substitute-author parameter, administrator override, proxy or upgrade key. Each wallet can set only its own message.
A successful update replaces the current message, records the block timestamp and increments the uint64 revision. The public statusOf view returns message, updatedAt and revision for an account. An unwritten account starts with empty text, zero time and zero revision; a cleared account can have empty text with a later time and positive revision.
The interface rereads its reviewed revision, but updateStatus does not accept an expected-revision condition. Concurrent transactions can still be ordered before the reviewed one. A receipt whose revision does not match must trigger a fresh read, not a false claim that nothing changed.
Read the prepared contractClear the current text.
Not the public past.
Clearing creates another changed state and revision. It does not remove earlier StatusUpdated events, reset the revision or erase copies retained by public indexers. This is not a private note or encrypted channel.
Wallets, text and timing may be correlated with other public activity. Do not publish sensitive information or rely on a clear action to make it private later.
Network Gas.
No application payment.
The nonpayable update accepts no deposit, token approval or payment. There is no custody, reward or application fee. A future deployed update uses native network Gas. Connecting a wallet alone does not publish anything.
A review shows the exact message and bytes, account, current/expected revision, network/contract, estimated Gas, buffered Gas limit, fee cap and maximum estimated fee. The adapter checks runtime identity, account/network, current state, simulation and native balance, with a final 60-second expiry check after asynchronous preflight.
Success requires a successful matching transaction receipt and exact StatusUpdated account, message and next revision. A public transaction cannot be assumed absent merely because a UI event check fails; reload current state if the outcome is uncertain.
Prepared to inspect.
Not publicly deployed.
This same project contains the long website, independent editor, paper/privacy, contract source, local compile/tests and unsigned preview. No public network, address or verified runtime is configured. Actual reads, Gas estimates and writes stay disabled.
Local practice uses labelled example wallets and page memory, with browser timestamps rather than block timestamps. It uses no wallet, backend, network, persistence or Gas. Reset or reload removes practice statuses and revisions. A practice result is not a blockchain event or receipt.
A future deployment needs a reviewed compatible network/RPC, controlled signer public address, bytecode, balances, fees, Gas and nonce checks and separate explicit authorization. The preview cannot sign or broadcast; private keys do not belong in the site.
Optional read-only status history could follow later, but no indexer or notification service is running now. An immutable future revision uses a clearly reviewed new address rather than a silent migration. X is pending. Local tests are not an independent audit.