Submissions close tomorrow at 23:59 UTC. A strk20.json that lists three hashes
is not the same thing as three hashes that count, and the difference is only
visible after the deadline unless you go looking for it.
Reading projects.json this morning, against the chain:
- 9 entries list transactions and not one of them counts.
- 11 more list transactions the verifier counts fewer than three of.
- 17 projects meet the mainnet requirement but still have no
demo_video.
Those teams have done the work. Something narrower is wrong, and most of it is
fixable in the hours that are left — if you know which hash, and why.
Checking yours
Jalin's deployment answers for any repository, not only its own:
https://jalin-five.vercel.app/api/manifest?owner=<owner>&repo=<repo>
It reads your strk20.json from GitHub and checks each hash against Starknet
mainnet: that it exists, that it succeeded, that it touched the STRK20 pool, and
— if you deployed contracts — that it ran through one of yours. It flags
duplicates too, which cost a listing three slots while looking like three
transactions.
The two failures it actually finds
The hash is not on mainnet at all. By far the most common, and the one that
looks like nothing is wrong:
0x27db4ee6… exists ✗
0x3be9a8a8… exists ✗
counted 0 of 4
Four real hashes from a real run — on Sepolia. Paste them into a mainnet
explorer and you get "not found", which reads like the explorer's problem rather
than yours.
It ran, it succeeded, and it never reached the pool:
0x2523… exists ✓ succeeded ✓ touched pool ✓
0x2b78… exists ✓ succeeded ✓ touched pool ✗ ← counts for nothing
0x15fc… exists ✓ succeeded ✓ touched pool ✓
counted 2 of 3
That transaction is green in every explorer. Nothing on the page tells you the
pool was never in the receipt.
There is also /api/hub?repo=<owner>/<name>, which returns the hub's own verdict
on your entry — verified_txs, and which of the three requirements you are still
missing — without reading a file of 175 entries by hand.
No signup, no key, GET only, cached five minutes. MIT, and the checking half is
in sdk/; the endpoint is
app/app/api/manifest/route.ts
if you would rather run it yourself than trust someone else's host on the last
day, which is a reasonable thing to prefer.
Disclosure: this is from my own entry (jalin).
I built it to check my own submission and there is no reason it should only check
mine. If it gets your entry wrong, say so — that is a bug, and today it is an
expensive one.
Submissions close tomorrow at 23:59 UTC. A
strk20.jsonthat lists three hashesis not the same thing as three hashes that count, and the difference is only
visible after the deadline unless you go looking for it.
Reading
projects.jsonthis morning, against the chain:demo_video.Those teams have done the work. Something narrower is wrong, and most of it is
fixable in the hours that are left — if you know which hash, and why.
Checking yours
Jalin's deployment answers for any repository, not only its own:
It reads your
strk20.jsonfrom GitHub and checks each hash against Starknetmainnet: that it exists, that it succeeded, that it touched the STRK20 pool, and
— if you deployed contracts — that it ran through one of yours. It flags
duplicates too, which cost a listing three slots while looking like three
transactions.
The two failures it actually finds
The hash is not on mainnet at all. By far the most common, and the one that
looks like nothing is wrong:
Four real hashes from a real run — on Sepolia. Paste them into a mainnet
explorer and you get "not found", which reads like the explorer's problem rather
than yours.
It ran, it succeeded, and it never reached the pool:
That transaction is green in every explorer. Nothing on the page tells you the
pool was never in the receipt.
There is also
/api/hub?repo=<owner>/<name>, which returns the hub's own verdicton your entry —
verified_txs, and which of the three requirements you are stillmissing — without reading a file of 175 entries by hand.
No signup, no key, GET only, cached five minutes. MIT, and the checking half is
in
sdk/; the endpoint isapp/app/api/manifest/route.tsif you would rather run it yourself than trust someone else's host on the last
day, which is a reasonable thing to prefer.
Disclosure: this is from my own entry (jalin).
I built it to check my own submission and there is no reason it should only check
mine. If it gets your entry wrong, say so — that is a bug, and today it is an
expensive one.