DERIVED_FROM_LOGS
This chain’s public RPC is not an archive node — historical state calls fail outright. Every finding is derived from eth_getLogs, so anyone can reproduce the whole analysis with one public endpoint and no credentials.
This chain’s public RPC is not an archive node — historical state calls fail outright. Every finding is derived from eth_getLogs, so anyone can reproduce the whole analysis with one public endpoint and no credentials.
A flag names the exact events it was derived from, and every event links to its transaction. Where a finding rests on an event that never fired, it says so plainly instead of citing one — see DOC_04.
All Chronex can put on chain is a signature over its own findings. It has no authority over any vault and no path to anyone’s balance. It can be wrong about a vault; it cannot move one.
Chronex audits autonomous agents that spend money on Robinhood Chain. An agent is handed a mandate — one asset, a spending cap, an expiry, a list of approved payees — and then it acts on its own.
Chronex replays the chain’s logs, sets what each agent actually did against what it was authorised to do, and publishes the result with the evidence attached. It is not an alert feed. It is an audit anyone can run again and get the same answer.
Every finding is derived from eth_getLogs. Nothing here reads contract state.
That is not a shortcut — it is the constraint that makes the output checkable. This chain’s public RPC is not an archive node: a historical eth_call or eth_getCode comes back metadata is not found. A tool that leaned on archive state would emit claims nobody else could re-derive.
Logs are different. They are served in full from block zero by a free public endpoint that answers the same query for anyone who sends it. So every number on this console can be reproduced by anyone, on the same endpoint, with the commands in DOC_05.
Chronex is not handed a list of addresses. It filters the whole chain on the topic0 of GrantIssued and takes whatever answers. On the current index that returned three vaults, never published anywhere as a set.
Eight further contracts matched on Swapped alone. That signature is an ordinary shape for any swap contract, and on this chain it has been emitted since block 10,604,012 — long before the first vault existed. All eight were rejected. Nothing is counted as a subject until it emits GrantIssued, whose uint48/uint32 layout belongs to this vault design and little else.
Subjects are found, not supplied.
| CODE | LEVEL | RAISED WHEN |
|---|
Most flags carry the indices of the events they were derived from, and every index resolves to a transaction you can open. A few rest on something that never happened instead: an empty payee allowlist is established by the absence of a MerchantAdded event, and an absence has no transaction to point at.
Those ship with an empty evidence list rather than a citation that would not survive being checked. What Chronex will not publish is a finding resting on neither — not an event, not a documented absence, just a view.
You do not have to trust this page. Every command below is sent to the same free public endpoint Chronex uses, and hands back the raw data these findings were built from.
That endpoint is shared and rate-limited. The first command walks the whole chain, so it can answer 429 Too Many Requests or context deadline exceeded under load. Neither is a wrong answer — wait a moment and run it again.
Each subject reduces to one document and one hash. The document below is the exact text that gets hashed, printed in full — nothing is summarised or abbreviated for display. Recompute keccak256 over it and you get the hash beside it, byte for byte.
The format is line-based rather than JSON on purpose: key order and whitespace differ between languages, and either would silently change the hash. Lines are joined with , no blank lines, no trailing spaces, addresses lowercased, findings sorted by their own line text, and a finding with no event evidence carries - in its last column.
This is what an attestation signs. The registry contract that will carry these hashes is written and tested — the whole flow has been run end to end against an in-process EVM with the archive above, and it has not been deployed to a public chain. Until it is, the hashes below stand on their own: they can be recomputed from this page without asking any chain, and any edit to the archive parts them.
Chronex states no more than a public log can prove. It publishes what an agent was authorised to spend, what it spent, when, and to whom — because each of those is an event with a transaction behind it.
It does not assign intent. A mandate spent 69 seconds after it was issued is reported as 69 seconds, not as recklessness — the number is the finding, and the reader draws the conclusion.
It does not price outcomes. Proving a swap was mispriced needs oracle state at the execution block, which this chain’s public RPC does not serve. So Chronex publishes the implied rate the swap actually achieved, and stops there.
One thing on this page is written by a language model: the paragraph on each subject card, marked WRITTEN BY MODEL. It rephrases findings the rules already produced, nothing more — it cannot raise one, set a severity, or choose evidence. Every number it prints is checked against the indexed facts before publication, and a paragraph that fails is discarded rather than corrected. Nothing it writes can be signed on chain either: the attestation registry — written and tested, not yet deployed — hashes findings and evidence, never prose, which sits outside what it covers by design.
The line is drawn on purpose. Anything Chronex cannot hand you a receipt for, it does not say.
No token exists yet. The fields below are the ones that will be filled, listed now so the shape of the answer is fixed before the answer is given. When each one lands it will carry the same thing every other number on this page carries: a transaction you can open.
| FIELD | VALUE |
|---|---|
| Ticker | coming soon |
| Total supply | coming soon |
| Contract | coming soon |
| Decimals | coming soon |
| Chain | Robinhood Chain · 4663 |
Chronex runs on Robinhood Chain, an EVM network where the agents it audits hold and spend real value. Every value below was answered by the chain itself — the third column names the call that produced it, so no row here has to be taken on trust.
| FIELD | VALUE | READ WITH |
|---|---|---|
| Mainnet | chain 4663 · rpc.mainnet.chain.robinhood.com | eth_chainId |
| Testnet | chain 46630 · rpc.testnet.chain.robinhood.com | eth_chainId |
| Node | Arbitrum Nitro v3.11.3 · EVM | web3_clientVersion |
| Payment unit | USDG · 6 decimals 0x5fc5360d0400a0fd4f2af552add042d716f1d168 |
symbol() · decimals() |
| Swap asset | WETH · 18 decimals 0x0bd7d308f8e1639fab988df18a8011f41eacad73 |
symbol() · decimals() |
| Log depth | full history · state history not served | eth_getLogs · eth_getCode |