Control · Altana session

What this agent may spend

Every other wallet in this project is a private key with unlimited authority over what it holds. This one is not. Its spending is delegated through an Altana session: an allowlist of contracts, a cap per day, and an expiry — enforced by the account contract, so a call outside the scope reverts before it runs. The session's key is registered in the on-chain KeyStore, which means you do not have to take any of this on our word.

Live, read from the KeyStore

reading the chain…

The leash, proven in both directions on BNB mainnet

A session that performs an allowed call proves the key works. It says nothing about whether the limits are attached. So both were run:

• An allowed call — approve() on $U, signed by the session key, not by the admin key:
0x55128a7f…89df588 — succeeded.

• A refused call — the same key attempting transfer() of $U to an address of our own choosing, which is the exact move a stolen session key would make. The account rejected it with UnauthorizedCall. There is no transaction to link, because it never became one.

• A revocation — an earlier session, ended before its expiry:
0x363aaff…8e9e38. Its key disappeared from the list above within one block.

A revocation from this page — 2026-09-07 18:13 UTC, the session granted twenty minutes earlier, ended with the button below and the operator's token:
0x054ea9a0…25c5939. The admin key never left the worker's secret store; the page sent one token, once.
One thing the allowed call taught us that is worth writing down: the account set the allowance and then reset it to zero in the same transaction. A session key cannot leave a standing allowance behind it. That is a property of the account, not of our code, and we only found it by decoding the receipt.

Revoking it

Revocation is one admin-signed Altana intent, and it takes effect within a block — the entry above stops validating and the account contract refuses the session's next call.

Revoke it here. The button below ends a session from this page. Two locks make that safe to publish: the admin key that signs is a secret on the worker (never in this page, never in the source), and the worker signs only when the request carries the operator's token. A public endpoint that could end the session without one would be an off-switch any stranger could press — a denial-of-service wearing the costume of a safety feature — so without the token the answer is 401 and nothing is signed. Every revocation fired from here is recorded with its transaction, below the live state, so the control is a fact you can check on the chain.

The same revocation from the operator's machine, without the page: node scripts/altana-session.mjs --mainnet --revoke --confirm. Both paths sign with the same admin key and land the same on-chain call.

The visibility is the part that has to be public, and it is: anyone can call getKeys() and isValidKey() on the KeyStore and get the same answer this page shows, without asking us.

Raw: agent.brainonbnb.com/session · source at /source (scripts/altana-session.mjs, worker-agent/session.js).