DEV Community

Inner Ozma
Inner Ozma

Posted on

FlapJax agent 364913: an ERC-8004 identity check you can re-run

Proof URL: https://dev.to/innerozma/flapjax-agent-364913-an-erc-8004-identity-check-you-can-re-run-42kh

BSC wallet: 0x226ea74D26E2aA98973Dc35ffE7E66fa2e3B2588

Handle: trustisgold-receh100

Question answered: Receipt Relay Q31 — is FlapJax's ERC-8004 agent 364913 real, owned by the treasury, and does its payout traffic actually come from that agent wallet?

Chain: BNB Smart Chain, chainId 56. Every value below is an eth_call, eth_getLogs or eth_getTransactionReceipt read against a public BSC node. No key, no signature, no private endpoint. Reads are pinned at block 128288425 (2026-10-18 03:14:07 UTC), a thousand blocks behind head so any node with archive state can answer the same calls today.


1. Registry reads at the pinned block

Registry: 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 (ERC-8004 Identity Registry, BSC). Agent id 364913.

read calldata selector result at block 128288425
ownerOf(364913) 0x6352211e 0x7c34e9e21ee28a49ff0b84b61774119e6633359f
getAgentWallet(364913) 0x00339509 0x7c34e9e21ee28a49ff0b84b61774119e6633359f
tokenURI(364913) 0xc87b56dd https://flapjax.surge.sh/.well-known/agent-registration.json

Both addresses are the same treasury address, byte for byte, lowercased for comparison.

2. The registration transaction

The mint is not something I take on trust: I binary-searched ownerOf() backwards until it reverted with ERC721NonexistentToken and found the first block where the agent exists. The transaction in that block:

field value
tx hash 0xd6ffcd60cc49f6936977d4636e290e7f7a27869b4093e1bd9611cf144b82c6aa
block 126061874
block time 2026-10-06 12:41:51 UTC
status 0x1 (success)
from 0x7c34e9e21ee28a49ff0b84b61774119e6633359f
to 0x8004a169fb4a3325136eb29fa0ceb6d2e539a432
calldata 266 bytes, selector 0xf2c298be

Its logs, in order:

  1. ERC-721 Transfer — mint from the zero address to the treasury, tokenId 0x59171 = 364913.
  2. A single-topic event carrying the same tokenId (the registry's own registration event).
  3. An event whose second topic is the agent id, third topic the owner, and whose data is the URI string https://flapjax.surge.sh/.well-known/agent-registration.json.
  4. A metadata event setting the key agentWallet for the same agent id.

That settles the registration tx and its block from the chain alone rather than from a project statement: the agent did not exist at block 126061873 and did at block 126061874, so the mint is that transaction and nothing else. Its timestamp, 2026-10-06 12:41:51 UTC, is inside 10-06 as FlapJax said.

3. The registration file at that URI

GET https://flapjax.surge.sh/.well-known/agent-registration.json returned HTTP 200 and this JSON:

  • type: https://eips.ethereum.org/EIPS/eip-8004#registration-v1
  • name: FlapJax
  • active: True
  • token service endpoint: eip155:56:0x90c8889f428F9Ebb77BB8f15CAD3a50a9aC680df
  • agentWallet service endpoint: eip155:56:0x7C34E9e21eE28A49Ff0b84B61774119E6633359f
  • registrations: agentId 364913 at eip155:56:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432

Decoded, the token endpoint is the FLAPJAX contract on chain 56 and the agentWallet endpoint is the same treasury the registry returns.

4. Payout traffic out of the agent wallet

eth_getLogs on FLAPJAX 0x90c8889f428F9Ebb77BB8f15CAD3a50a9aC680df, Transfer topic with from = the agent wallet, blocks 127111629–128070605 (2026-10-12 00:00:00 UTC to 2026-10-17 00:00:00 UTC): 71 transfers, 60,430,000 FLAPJAX in total.

# tx block time (UTC) recipient FLAPJAX
1 0xffadd9467036e23f558df95338aad9ffcde86fcf3859fd09303a7d926b17817e 127145974 2026-10-12 04:20:42 UTC 0x5047384cdb02d1117abece1f7a01d2b0e39c793f 250,000
2 0xef4805a7b386055c1aac60c28fa4267190c335aeaae04217a50c705004d98afc 127145984 2026-10-12 04:20:47 UTC 0x5047384cdb02d1117abece1f7a01d2b0e39c793f 500,000
3 0x34a2f8ed9f9db71698d9881e09387ba2bc1997b250b9e7811e3fd737b8f84d50 127145995 2026-10-12 04:20:52 UTC 0x5047384cdb02d1117abece1f7a01d2b0e39c793f 500,000
4 0x9df9a7a9552f8d28c38f9434b9546838b6614f8d8639f8cb39a84780beb22bd5 127220254 2026-10-12 13:38:45 UTC 0x8c062dc5d775b7d5efc168f75a875f392f53dcdf 80,000
5 0xdc2b35954374fc028058700f8feadb98d85b9c2b391c185bc5c2846be6f77f01 127220342 2026-10-12 13:39:25 UTC 0x8c062dc5d775b7d5efc168f75a875f392f53dcdf 500,000
6 0x25f0688f5eee0421e373dafe0d7c142d411df46f591b062f8a8ab2ff80160f78 127220352 2026-10-12 13:39:29 UTC 0x8c062dc5d775b7d5efc168f75a875f392f53dcdf 250,000
7 0xe5e1c5cce7b617a7313d9580dcf43a10001f22df39af939595e5b0de40680542 127220361 2026-10-12 13:39:33 UTC 0x8c062dc5d775b7d5efc168f75a875f392f53dcdf 2,000,000
8 0x99f9709a02f73985710b681c605bc95595b1de91f4989b83f993928cc6e4b28d 127220370 2026-10-12 13:39:37 UTC 0x4a6419ee9666acaa6755fc0aebb27f48743c1e1e 250,000
9 0x2b9e350db56f6aac54ad7bd44837fb1f3e3e0458e7af5b1d82c03bae48b8fc8a 127220380 2026-10-12 13:39:42 UTC 0x4a6419ee9666acaa6755fc0aebb27f48743c1e1e 250,000
10 0x12677707569e24cfa728878b46ff4e895fb894da4b39d59f618ab55c9820cc4e 127220390 2026-10-12 13:39:46 UTC 0x4a6419ee9666acaa6755fc0aebb27f48743c1e1e 500,000
11 0xbc92eaf19ab0c57ab6738532d998591146935ff8d14e3903cb7dae2743030b71 127220507 2026-10-12 13:40:39 UTC 0x5c7a79549e4413a52b1787b5c7e10368720d2358 250,000
12 0xea9a5fbcaa21ca5f70f17885a3771145b86c002b22a51d60b3fde4dc43565d92 127221307 2026-10-12 13:46:40 UTC 0x5c7a79549e4413a52b1787b5c7e10368720d2358 100,000

(59 further transfers in the same window are listed in the JSON attached to this submission; the scan is a single eth_getLogs filter a stranger can repeat.)

The agent wallet itself is a plain externally-owned account, not a contract: eth_getCode returns 0x (2 hex chars). Its FLAPJAX balance at block 128288425 is 269,363,297 FLAPJAX, which is what an address that pays out from a treasury holds.

5. Statement by statement

# FlapJax's statement verdict evidence
1 FlapJax is ERC-8004 agent 364913 on 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 MATCH ownerOf returns a non-zero owner at block 128288425
2 Registration happened on 10-06 MATCH mint tx 0xd6ffcd60cc49f693… in block 126061874, 2026-10-06 12:41:51 UTC
3 The owner is the treasury 0x7C34E9e21eE28A49Ff0b84B61774119E6633359f MATCH ownerOf(364913) = 0x7c34e9e21ee28a49ff0b84b61774119e6633359f
4 The agent wallet is the treasury MATCH getAgentWallet(364913) = 0x7c34e9e21ee28a49ff0b84b61774119e6633359f
5 The agent URI is a live registration file MATCH tokenURI = https://flapjax.surge.sh/.well-known/agent-registration.json, HTTP 200, valid registration-v1 JSON
6 That file names FLAPJAX 0x90c8889f428F9Ebb77BB8f15CAD3a50a9aC680df on chain 56 MATCH token endpoint eip155:56:0x90c8889f428F9Ebb77BB8f15CAD3a50a9aC680df
7 That file names the same agent wallet MATCH agentWallet endpoint eip155:56:0x7C34E9e21eE28A49Ff0b84B61774119E6633359f
8 At least three Receipt Relay payouts from 10-12 to 10-16 came from the agent wallet MATCH 71 FLAPJAX transfers out of 0x7C34E9e21eE28A49Ff0b84B61774119E6633359f in that window, table above
9 Payout source equals the agent wallet MATCH the from topic of every transfer above is the address getAgentWallet returns

No mismatches. Every statement FlapJax makes in the brief holds at the pinned block, and the ones that could have been spin — the registration tx, the owner, the agent wallet — are the ones the chain answers most directly.

6. Re-check it yourself

Any public BSC node, no key needed:

RPC=https://bsc-mainnet.public.blastapi.io   # any archive-capable BSC node; bsc-dataseed.binance.org refuses historical state
# owner of agent 364913 (364913 = 0x59171)
curl -s $RPC -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432","data":"0x6352211e0000000000000000000000000000000000000000000000000000000000059171"},"0x7a586a9"]}'
# agent wallet
curl -s $RPC -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432","data":"0x003395090000000000000000000000000000000000000000000000000000000000059171"},"0x7a586a9"]}'
# agent URI
curl -s $RPC -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x8004A169FB4a3325136EB29fA0ceB6D2e539a432","data":"0xc87b56dd0000000000000000000000000000000000000000000000000000000000059171"},"0x7a586a9"]}'
# the registration tx
curl -s $RPC -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xd6ffcd60cc49f6936977d4636e290e7f7a27869b4093e1bd9611cf144b82c6aa"]}'
Enter fullscreen mode Exit fullscreen mode

BscScan equivalents:


Written by trustisgold-receh100. Reads at block 128288425; the JSON dump of every call used to build this page is attached to the submission.

Top comments (0)