What it is
Inlet is a World Cup 2026 prediction assistant that remembers what you tell it. You give it predictions and opinions about teams, players, and matches; it stores each one and brings the relevant ones back the next time you talk to it, even days later. The memory is not kept in the app. It lives in a MemWalAccount on Sui mainnet, written to Walrus, so the agent holds nothing of its own between sessions and everything it knows about you comes from there.
How it works
Every turn runs one loop:
- You enter a name. That name is your namespace inside the shared account, which keeps your memories separate from everyone else's.
- You send a message. Inlet runs a semantic recall over your namespace and pulls the memories closest in meaning to what you said.
- It also loads its current model of you, a short profile built from past sessions. The reply is written with both in front of the model, so it can build on an earlier answer and match its tone to your record.
- If your message held a prediction or an opinion, Inlet writes a short, clean version of it back to Walrus.
- After replying, it updates the profile in the background, your biases, your confidence, your running record, and stores the new version on Walrus, so the next answer is shaped by it.
What makes the memory real
A memory that only gets read back is closer to a log. For the memory to matter it has to change what the agent does. Inlet keeps two kinds, and the second is the one that changes its behaviour.
- What you said. Each prediction or opinion, stored as a clean fact and recalled by meaning. This is the record.
- What Inlet has worked out about you. A short, evolving profile of you as a predictor: the teams you back, how confident you tend to be and whether that confidence has paid off, how you react after a loss, and your running track record. Inlet rewrites this on Walrus as you talk, in its own namespace so it never crowds the recall of your actual picks.
Because every reply is written with that profile in front of the model, the same message gets a different answer as the profile fills in. On day one Inlet has no profile and takes a confident pick at face value. After a few days of real calls it knows you are, say, three for nine when you claim to be certain and that you always back the host nation, so it pushes back before you commit instead of nodding along. It is not being fed World Cup facts; it is being fed you.
Every version of the profile is stored with a timestamp, so the change is something you can read, not a claim. The Profile tab on the try page shows the current model of you next to where it started, Inlet on day one against Inlet now.
How to use it
- Open the try page from the Try Inlet link at the top and enter a name. Use the same name whenever you return.
- Tell it your calls: "France wins and Mbappé is top scorer", "England are overrated".
- Come back later and ask what you predicted, or change your mind and watch it catch the contradiction.
- Open the Profile tab in the memory panel to read Inlet's current model of you, and how it compares to day one.
- Press "Hot takes" to convene two opinionated agents who read your picks and argue about them.
Everything it does
- Permanent memory. Every prediction and opinion becomes a blob on Walrus mainnet with a public id you can open on Walruscan. Nothing is kept only in the app.
- Settled record. A watcher follows real match results, and a settler marks each stored prediction HIT or MISS in your memory, with the actual score. Nothing is self-reported.
- Leaderboard. Every user is ranked by settled record. Only predictions stored before kickoff count.
- Dossier. The evolving profile described above, rewritten on Walrus after each conversation, with the first version kept so you can compare day one to now.
- Inlet plays too. It puts its own pick on the record before each kickoff, under its own name, and the same settler judges it. It is on the leaderboard with everyone else.
- Gaslight Defender. If the agent predicts a match incorrectly, you can pull the Walrus receipt to force it to admit the mistake and explain itself.
- Hot-take panel. Two opinionated agents, a Believer and a Hater, read your stored picks and argue about them. Their takes are written back to your memory, so Inlet can bring the debate up later.
- While you were away. Returning users open with a digest of what settled and what the panel said since their last visit, computed from memory alone.
- Citations by date. Replies refer to your past calls with the date they were stored ("back on 11 June you told me...").
- Memory from the terminal. A command-line tool reads the same account: list your memories, run a recall, or convene the panel without the web app. One memory, more than one application.
- Tested, not assumed. I ran the same conversations with memory on and off: with memory on, the agent surfaced the earlier session every time; with memory off it asked "what prediction are you referring to?". The ablation data, the 200-memory study, and the recall-at-scale numbers are all in the research.
Try a memory that is already 200 deep
You do not have to build a history yourself to see the long-term part. On June 11, 2026 I
wrote 200 memories for one synthetic user to Walrus mainnet, a simulated month of
predictions, settled results, and personal details, with six distinctive facts planted on
day one. That profile is live: open Try Inlet at the top and connect with the name
research-lh-fdd822.
- The Memory tab lists the stored history, each entry with its link to the blob on Walrus.
- Ask "is there any venue I avoid predicting?" or "what did I promise to do about my goldfish?". The answer comes from a fact buried under roughly 190 newer memories.
- The Profile tab shows the dossier Inlet built from that whole history.
It is a shared demo profile, so anything you tell it gets stored there too. The full method and checkpoint numbers are in the research.
What I changed
I did not modify Walrus or the MemWal SDK. The work is in how memory is used around them:
- I store a clean fact, not the chat. Each turn the model emits one declarative sentence to remember ("The user predicts France will win"), and that, not the raw conversation, is what goes to Walrus. Recall then matches on meaning instead of on chat noise.
- The name is the whole identity. No accounts or passwords. A name maps to a namespace inside one MemWalAccount, which is enough to isolate users and to make the same memory portable to other apps.
- I answer before I save. Writing to a public network is the slow step, so the reply is returned first and the write happens in the background. The same goes for updating the profile. I measured the cost of recall as memory grows (see the research).
- A local mirror for instant display. The memory panel reads a lightweight local copy so it loads instantly, while Walrus stays the source of truth and the panel can be rebuilt from it.
- Agents coordinate through the memory, not through each other. The hot-take panel agents read your namespace and write their takes back into it, and Inlet recalls them later. No agent calls another directly; the shared memory is the only channel.
How it is built
Three parts. You talk to Inlet. Inlet keeps everything it learns about you on Walrus, a public storage network on Sui mainnet, where each memory becomes a small permanent record with its own id that anyone can look up. Next to that sits a fast local copy on my server, a small Rust service with a database. It owns nothing: everything in it is a copy of what is already on Walrus.
Why two places. Walrus is the memory I trust: permanent, public, portable out of my app, and better at finding the right memory by meaning. But reading from a public network takes a second or two, and sometimes there is a queue. A chat that hangs feels broken. So Inlet asks Walrus first on every turn, and only if Walrus has not answered within about four and a half seconds does it fall back to the local copy. The copy also covers the short gap right after a new memory is saved, while Walrus is still indexing it.
What I found by measuring both: the local copy answers around two hundred times faster, 8 milliseconds against 1.7 seconds, but it is much worse at picking the right memory; in tests it agreed with Walrus on fewer than one in five results. That settled the design. Fast but wrong is still wrong, so Walrus stays the source of truth and the local copy stays a fallback for slow moments. This mattered once already: when the Walrus relayer had an outage on June 10, 2026, Inlet kept talking from the copy, and every memory from that window was retried onto Walrus afterward, so the permanent record has no gap.