A founder note on where the market has moved in twelve months, what a wallet can now prove about itself, and why the answer keeps landing in the same place.

A year ago the question this company answered was small and specific: does this wallet hold that token. It was a good question. It let a coffee shop give a discount to a community, and it let a website open a page to the right people. But it was one question, and the interesting thing about the last twelve months is how many other questions turned out to have the same shape.

Is this agent still authorized by the person who set it loose, as of right now? Was that authorization ever revoked? Does this counterparty hold a meaningful stake, not a dollar amount but a share of what exists? Is this wallet registered as an agent in the registry the ecosystem agreed on? Did a regulated exchange attest that the person behind this address cleared its checks? Is this address the one that owns that Farcaster account? Each of those is a yes or no about public state, tied to a moment in time, that a stranger should be able to recheck without asking anyone's permission.

That is the whole thesis, so I will state it plainly and then spend the rest of this essay earning it. Wallet auth is the primitive: read wallet state, evaluate conditions, return a signed boolean. Condition-based access is the category. Token-gated commerce was the first application, and it is now one application among many.

Where the market moved

Three things happened in parallel this year, and none of them were ours. They are worth watching precisely because they are somebody else's infrastructure shipping.

First, the agent-commerce standards stopped being slide decks. There is now a real Universal Commerce Protocol with a released spec, an Agentic Commerce Protocol with a released discount extension, an x402 payment rail that settles per call, an agent-to-agent protocol working through what a trust signal even is, and two Ethereum proposals, ERC-8004 for agent registration and ERC-7710 for delegated authority, that give an agent an on-chain identity and an on-chain leash. Every one of them needs to answer the same question at the same moment: is this counterparty allowed to do this, right now? And every one of them is discovering that the answer cannot be a shared secret, because the counterparty is software and software leaks.

Second, the people designing verification standards converged on two ideas within weeks of each other. One is that evidence should be recomputable: a verifier should be able to re-run the procedure that produced a result, from committed inputs, and get the same answer, rather than trusting a signature over an opaque report. The other is that time should be judged by an anchor nobody can rewrite, not by when a signature claims it was made, because a stolen key can backdate a signature and cannot backdate a block. I watched both of those get argued out in public by careful people building things that had nothing to do with us, and I said very little, because a signed wallet-state verdict is already the native form of both. The block number is the anchor. The evaluated condition and its hash are the recompute basis. That was not a design choice we made this summer. It was the design.

Third, the quantum question moved from a footnote to a work item. The signatures under almost all of Web3 and almost all AI-agent identity are the kind a large enough quantum computer breaks. The standards world started publishing migration patterns this summer, and the good ones say something uncomfortable: adding a post-quantum signature only helps if verifiers demand it, because a forger who has cracked the old key simply leaves the new one off. The security property lives in what consumers enforce, not in what issuers emit.

Those three movements are the market. Now the part where I say where we sit in it, which is a narrower claim than it might sound.

Where we sit

We are an issuer. We read public chain state at a named block, evaluate a condition a caller supplied, and sign the verdict. We are not the verifier: the verifier is whoever relies on the answer, and they check it on their own machine, against a key we publish, without calling us back. We are not a registry, not a reputation system, not an identity provider. The system sees a wallet address and public data. It never learns who you are, and it never returns your balance, only whether you cleared the bar.

That narrowness is the point. A merchant's checkout, an agent gateway, a WordPress plugin, a court three years from now: each of them wants a small, signed, checkable fact, and each of them wants to decide for itself what to do with it. Issuing the fact and deciding the policy are different jobs, and every time a product blurs them it ends up either trusting the issuer too much or building a second identity system by accident.

The locked line, which I will keep repeating until it stops needing repeating: the signature proves we issued it. The blockchain proves we were correct. Trust is not assumed. It is auditable.

What a wallet can prove now

Here is the inventory, organized by the kind of question rather than by the endpoint, with the reason each one matters. Everything below responds when you call it today, across thirty-eight chains.

Holdings

The original question. Does this wallet hold at least this much of that token, or at least one of that NFT, across thirty-two EVM chains plus Solana, XRPL, Bitcoin, Tron, Stellar and Sui for balances, and thirty-four chains for NFTs. Why it matters: it is the lowest-friction form of recognition that exists. The asset already lives in the wallet. Nobody enrolled, nobody issued a card, nobody runs a list. A venue defines the condition and the holder qualifies. That is the difference between a perks program somebody has to launch and recognition any venue can switch on by itself.

Standing

Is this wallet a registered agent, per the ERC-8004 identity registry on Base, and does it own or control the agent it claims to be? Why it matters: agents need a durable, checkable identity that is not a bearer token, and the ecosystem picked a registry to hold it. The honest scope, which we state in the signed bytes, is that registration is permissionless minting. The verdict says "registered as agent N and bound to this wallet." It implies no vetting and no endorsement. A small, true fact is worth more than a large, implied one.

Delegation

This is the one I would point to if someone asked what changed. An ERC-7710 delegation is a principal's signed grant of authority to an agent, with caveats: spend no more than this, only against these targets, only inside this time window, at most this many calls. We evaluate whether the delegation is currently valid: the signature verifies (including for smart-contract principals), the declared delegator matches, every caveat uses a recognized enforcer, the time window is open, and, the part that matters most, it has not been revoked as of the anchored block. The declared limits come back decoded, reported rather than simulated, because on-chain redemption enforces them and the attestation's job is to state what the principal signed. And "not revoked as of block N" is provable: on request the answer carries a storage proof of the revocation slot against the block's state root, so a proven zero is positive proof that no revocation exists, not a claim that none was found.

Why it matters: this is the agent-authorization question, answered as a checkable fact instead of a session token. A gateway that receives an agent's request can ask, before spending anything, whether the human behind it still wants that spending to happen. Delegation verdicts expire in five minutes rather than thirty, because revocation is one transaction away and the window between "not revoked" and "acted on" has to stay short.

Compliance and identity, without becoming an identity system

Some facts about a wallet were placed there by someone else. Attestations on the Ethereum Attestation Service across six chains let a regulated exchange say "this address belongs to a verified account, in this country," or let a passport-style service say "this address cleared a humanity score." We ship templates for the common ones and accept raw schemas for the rest. Farcaster identity on Optimism answers whether this address owns that social account. Why it matters: a merchant or an agent can require "cleared a regulated exchange's checks" as a condition without ever seeing a document, a name, or a date of birth. The attestation was issued elsewhere. We read that it exists and sign that it does. That keeps us where we belong, a public-data processor, and keeps the personal data with the party that collected it.

Ratios

Two conditions have no fixed number in them. Ratio-to-amount asks whether a wallet holds at least some multiple of the transaction it is about to make: hold ten times what you intend to spend. Ratio-to-supply asks whether a wallet holds at least some fraction of a token's total supply: half a percent, say. Why it matters: a rule stated as a ratio never needs retuning across chains, token prices, or transaction sizes. It is one rule that scales itself, and the verdict carries the derived threshold and the supply read so anyone can re-derive the boolean.

Arbitrary predicates

Any view function on any supported EVM chain that takes an address and returns true or false can be a condition. Why it matters: it turns every existing contract's own logic into a gate without a new deployment. If a contract already knows who is a member, a holder, a delegate, or a voter, that knowledge becomes a signed, portable verdict.

Fact profiles

Instead of one condition, a curated set: forty-four base checks across twenty-five chains in five dimensions, up to forty-nine checks across twenty-seven chains in nine when the optional Solana, XRPL, Bitcoin and Tron dimensions are added. Stablecoins, governance tokens, NFTs, staking positions, institutional stablecoins. No score, no opinion, just cryptographically verifiable evidence organized by dimension. Why it matters: a score is somebody's opinion wearing a number. A profile of booleans is evidence a counterparty can weigh for itself.

Proofs, not just signatures

On request, a balance verdict or a revocation verdict carries a Merkle storage proof anchored to the block header, so a verifier can confirm the underlying state against the chain itself with no trust in us at all. Why it matters: a signature proves who issued a statement and that it was not altered. A proof establishes that the statement was true. They answer different questions, and the second one is built from hashes, which are the part of cryptography that survives quantum computers.

The people side

I have written "agent" a lot, so let me put the person back in the picture, because the same read serves them first. A shopper who holds a club's token walks into a bar near the stadium and shows a code; the bar never learns their balance, only that they qualify. A shareholder who holds tokenized stock in a wallet gets recognized at a checkout for a discount that does not require issuing a points balance, because it recognizes an existing fact instead of creating a separate claim for future redemption. Reading it grants a price. It does not mint a claim. A reader who holds a membership pass opens a page that does not exist for anyone else, on a WordPress site whose owner never touched a database. The consent model is two consents, not one. The durable half is the wallet state that persists until the holder changes it: whatever sits in the wallet, whether it was bought, earned or airdropped, stays there until the holder moves it. The per-transaction half is the one that matters for privacy, and it is entirely the holder's: you chose to show this merchant, now, by connecting a wallet or tapping a tag. Chain state is public. Presentation is yours.

What we did about the signature

Given everything above, the obvious objection is the one the quantum work item raises. If every one of these verdicts rests on an elliptic-curve signature, what happens when that signature is forgeable?

Two answers, and they compound. The first is that the truth of a verdict never rested only on the signature. The named block, the exact condition, its hash and, where requested, the storage proof are all in the signed bytes, and a stranger can re-run the read against any node. If every signature scheme in the world fell over tomorrow, "here is the block, here is the condition, go read the chain" would still be true. Passwords fail when secrets fail. A proof has no secret to fail. It still rests on cryptography, hash functions specifically, but hashing is the part of cryptography expected to survive quantum computers, which is why the proofs and the anchors are the floor and the signature is the layer we planned to replace.

The second answer is that as of the first of September every attestation and every fact profile also carries a post-quantum companion signature, ML-DSA-65 under the FIPS 204 standard, beside the classical one. It was added, not swapped. Nothing any existing verifier reads changed by a single byte; we confirmed that by running the previous release of our own verifier against live responses before publishing anything. The companion's public key sits in the same key file, the binding between the old key and the new one is signed by both and anchored on Base so the moment it came into existence is a matter of public record, and verifiers report the companion as its own verdict. A companion that fails always fails the artifact. A companion that is absent affects a live access decision only under the verifier's own cutoff date, judged by its own clock. An artifact read as evidence after the fact is never refused for lacking one; the reader is told, truthfully, that the stamp did not yet exist when the artifact was issued.

That last rule is the one I care about most. An attestation is evidence. Evidence is read, not refused. A judge three years from now looking at a receipt from today should be told exactly what it is: signed under the key that signed it, carrying no quantum stamp because none existed, and recomputable from the chain regardless.

The Counterfactual

Suppose none of this existed and the agent-commerce standards shipped anyway. What fills the hole? Either a shared secret the agent presents, which is a bearer credential and will be stolen; or a registry the merchant must trust, which is an identity system by another name; or the merchant re-reads the chain itself, per counterparty, per transaction, on every chain it cares about, and builds its own verifier for each. The third option is the honest one, and it is exactly what a signed, recomputable verdict packages: someone did the read at a named block, signed what they found, and left every input in the envelope so you can do it again if you doubt them.

Where this goes

Assets get tokenized. Ownership becomes portable. Portable state becomes machine-readable. Businesses begin recognizing that state. Recognition produces real-world utility. Every post I have written this year is one dated instance of that arc, and this one is no different. The news is that the questions multiplied. The answer did not change. Wallet auth is the primitive. Condition-based access is the category. Token-gated commerce is one application.

Wallet auth is in active standards work across UCP, A2A, Ethereum ERCs, and the IETF, and vocabulary contributions have been merged into an external agent-governance specification. That is early propagation, not arrival. The work continues, and the next essay will be about somebody else's infrastructure shipping, because that is where the evidence for the arc keeps coming from.

Douglas

Get every post by email

The Inevitable series and builder notes on condition-based access. Free, one or two posts a week.