NULL is now live on PONS.
Explore the project and get to know what we’re building.
Website: https://t.co/vh87mcd602
CA: 0x0168d27a045306fad8ed3162b91bea073cc70f37
https://t.co/AuMjEIAdvz is down, and the relay with it.
Our provider has the machine offline. It is not something we can fix from our side, and we do not have a restore time yet. The site and the relay run on the same host, so messaging is down too not only the pages.
The relay is a single process on a single box. That is a known limitation of where this is today, and today it is the whole story.
The chain is unaffected. Every figure in the burn post lives on Robinhood Chain, not on our server. The balance at the dead address still reads 45,498,272.25 NULL, 4.55% of supply, on the official explorer: https://t.co/Wx73NU2qvd
We will post here when it is back.
∅
The burn is now 4.55%.
Ten hours ago it was 1.70%. Three more transfers to the dead address have landed since, all from the same wallet: 28,471,767 NULL on top of the original 17,026,505.
45,498,272.251250789 NULL now sits at an address nobody holds the key to. Read at block 51,389,361.
Total supply still returns 1,000,000,000, and it always will. These tokens were moved with transfer, not destroyed with burn(). The figure the contract reports has not changed only the share of it that can never come back. Anyone quoting a reduced supply is quoting something the contract does not say.
You do not have to take any of this from us. The panel on https://t.co/AuMjEIAdvz reads all three numbers in your own browser, straight from the Robinhood Chain RPC: total supply, the balance at the dead address, and the percentage between them. If the chain ever disagrees with us, it will say so on our own page.
∅
Everything this account claims is written down somewhere you can read without asking us.
The archive is 31 records: the protocol, key management, the threat model, what a knock is, what a relay may and may not do, and the disclaimer that governs all of it.
It is not marketing. Several of those records exist only to say that something is unresolved.
https://t.co/Btf01J0Mpi
Shipping the app meant taking four things off our own screens. Listing them, because a status page that only ever gains rows is not a status page.
The Relay tab printed a streaming endpoint on a hostname we do not own and never ran. It now reads the endpoint the client is actually connected to.
A line read "Zero Knowledge State: Active". It is not zero knowledge, and the relay sees metadata. It is now a two-row list: what is sealed, and what is visible.
The bond field said the amount came back if a knock was accepted or rejected. No contract returns it. It says not escrowed now.
A thread header said "Direct P2P". Every envelope goes through the relay. It says relayed, not peer-to-peer.
None of these changed what the code does. They changed what we claimed it does.
Encryption is not anonymity, and an app that blurs the two is lying to you.
Null seals message contents to the recipient's published key before they leave your browser. A test in the server folder asserts the relay never handles plaintext, and it fails the moment anyone makes it.
What the relay does see: Null IDs, handles, public keys, who knocked on whom, and when each message was sent.
Both of those sentences are printed on the Relay tab inside the app, one under the other. Nothing here has been audited either, and it says that too.
The first version asked for two wallet signatures every time you opened your inbox. Reload the page, sign twice again.
That is the difference between something you demo once and something you actually use.
Coming back takes one signature now. The relay session is kept in your browser. The messaging key is not, and will not be it is re-derived from that one signature each time you unlock, and it exists only in memory.
Which of the two is stored is printed inside the app, on the Relay tab. You should not have to take our word for it.
Most holders are on a phone, and a phone browser has no wallet extension. It never will.
For a while our sign-in screen answered that with "install MetaMask", which on a phone is not an answer at all.
It hands you a link now. The link reopens the same page inside your wallet's own browser, where signing works. MetaMask, Trust, Coinbase Wallet.
If it dead-ended for you before, it will not now.
There is no directory on Null, and there is not going to be one.
A directory is a list of everyone who exists, sitting on a server, waiting to be scraped. An inbox nobody can enter uninvited is undone the moment you publish the guest list.
So reaching someone works the other way round. Your handle comes with a link. You hand it out, and whoever holds it can knock on you. Nobody else has a way to start.
The link is sitting in your inbox the moment you sign in.
What does not exist yet.
NOT BUILT — Groups and file sharing. Conversations are one-to-one. Group keying and file transport are Phase 2.
NOT BUILT — Multi-device history. Keys re-derive from a signature; the history does not.
NOT BUILT — Relay decentralisation. State is a single JSON file today. Fine for an MVP, not for a network, and not rate-limited.
Eight capabilities. Three finished, two half done, three that do not exist. The count is derived from the code rather than typed in by hand, so it cannot flatter us.
The whole list, row by row, is on https://t.co/AuMjEIAdvz.
What is only half done.
PARTIAL — Payment requests. Requests, receipts, and integer minor units run end to end. Settlement records the hash the client hands it; nothing reads the chain to verify that hash.
PARTIAL — Anti-spam bonds. The bond amount travels with the knock. No contract locks it, and no contract returns it.
Both of these look finished from the outside. That is exactly why they carry a label. A number no contract enforces is a claim, not a settlement.
Small step, but it counts NULL is now DEXPaid.
The token page has accurate info, verified socials, and an official header. No more guessing who's behind this.
We keep shipping. Ø NULLEVM your wallet has an inbox.
Two minutes, the whole thing, on the site itself.
Connect a wallet. Sign twice: one signature proves the address, one derives your messaging key. Pick a handle. Then an empty inbox, because nobody reaches you until you let them.
A knock carries who you are, why you are knocking, and a bond you state. Three answers: accept, decline, block. Accept, and the thread opens, sealed to their key before it leaves your browser. Come back tomorrow and it takes one signature, not two.
Every frame of the app in this video is a screenshot of the live site, taken by driving the real sign in with a real signature. No mockups, no generated interface. That includes the part near the end, where the app lists what the relay can still see metadata, not contents and says plainly that nothing here has been audited.
Bring a wallet: https://t.co/nneUisQCHg
The three capabilities this account called Working now read Live, and you can use them yourself.
LIVE - Wallet sign-in. Connect an EVM wallet and sign twice: one signature proves the address, one derives your messaging key. Coming back takes one, because the session is kept and the key never is. On a phone with no wallet in the browser, the sign-in screen now hands you a link that reopens the page inside your wallet's own browser instead of dead-ending.
LIVE - Encrypted messaging. Every message is sealed to the recipient's published key with a fresh ephemeral keypair before it leaves your browser. The relay stores an envelope it cannot open. A test in the server folder asserts exactly that, and fails the moment anyone makes the relay handle plaintext.
LIVE - Knock permission layer. Nobody reaches your inbox without your consent: accept, decline, or block. Knocks you send now have their own box, so you can watch one land instead of guessing. A blocked sender still sees "waiting", because telling them otherwise only buys them a fresh identity.
There is no directory and no allowlist. Your handle comes with a knock link. Hand it to whoever should be able to reach you; nobody else has a way to start.
What we did not fix. The relay still sees metadata: who knocked on whom, and when. Payment requests are still requests and receipts, with nothing reading the chain to verify a hash. Nothing here has been audited. The app says all three on its own Relay tab, so you do not have to take this thread's word for it.
Bring a wallet and try to break it: https://t.co/nneUisQCHg
Two numbers on the site are no longer ours to state.
The burn now reads from Robinhood Chain in your own browser total supply, the balance at the dead address, and the percentage between them. Total supply still returns 1,000,000,000, because the tokens were moved with transfer rather than destroyed with burn(). The page prints both figures instead of the flattering one.
The relay answers for itself now too:
identities, conversations, envelopes held. Counts only, because it cannot read what it carries.
We also took something down. The settlement row was printing a placeholder address that looked real. It reads Not set now, which is what it always was.
Both panels have a Read again button. If the chain ever disagrees with us, it will say so on our own page
https://t.co/AuMjEIAdvz.
Encryption is the easy promise. Every messenger makes it. Here is ours, stated
narrowly enough that you can check it.
Every message is sealed with https://t.co/x8IGtSomiV against the recipient's published key,
using a fresh ephemeral keypair. Not one key per conversation. One per message.
A test in the repo asserts the relay never holds plaintext. If that test is
wrong, the claim is wrong and you can read the test.
What actually works today.
WORKING — Wallet sign-in. Two signatures: one proves the address, one derives
the messaging key.
WORKING — Encrypted messaging. https://t.co/x8IGtSomiV, a fresh ephemeral keypair per message.
WORKING — Knock permission layer. Accept, reject, block.
Every capability we publish carries the status it actually has. The two posts
after this one are the parts that are not finished.
∅ 17,026,505 NULL burned.
Sent to 0x…dEaD in block 50,774,627 — 1.70% of supply, permanently
out of circulation. That address has no private key. Nothing comes back.
Tx : https://t.co/ceIwMNSCk2
The part that matters: what leaks
Encryption is the easy promise. Every messenger makes it.
The harder question is what the infrastructure learns while it carries your traffic who spoke to whom, how often, how long, at what hour. Content is what you said. Metadata is who you are.
A relay in NullEVM is deliberately stupid. It moves sealed envelopes it cannot open, addressed in a way it cannot correlate back to a social graph. It has to be dumb enough to be trustworthy.