GraphPayAsk before you pay
MapRace modeHow it works

Race mode: the reads each answer needs

Both sides ask Arkiv’s live testnet the same question at the same moment, uncached. Graph Arkiv keeps tallies as payments land, so a city-wide ranking is a couple of reads; plain Arkiv code has to read every payment. The count is the result, not the clock.

synthetic city, size S

The small city is seeded tonight; the larger one waits for the final story (ADR-0049).

Graph Arkiv

One GraphQL query over tallies kept as events land

0Arkiv reads

0.0 KB moved

Plain Arkiv

Careful plain code: it must read every payment, since Arkiv has no SUM

0Arkiv reads

0.0 KB moved

The event’s benchmark

Measured live on Arkiv’s testnet over the synthetic size S city. Each count is Arkiv reads (JSON-RPC calls); bytes are request plus response bodies.

QuestionPlain readsPlain KBGraph Arkiv readsGraph Arkiv KBPlain right by namePlain right by identityGraph Arkiv right
Q1: the featured shop’s refund rate and 90-day orders31.33106.8yesyesyes
Q2: the top 10 shops by sales, city-wide5131.9234.5yesnoyes
Q3: the persona’s agents’ spend by shop this week23.3316.3yesyesyes
Q4: agents that paid a shop this week and later refunded someone else10.510.7yesyesyes
Q5: a payment path from the persona’s paying agent to the trap shop, within 3 hops599.53116.8yesyesyes
Q6: the featured shop’s depth-2 neighbourhood over this week’s payments215.4254.0yesyesyes

Graph Arkiv wins where an answer is an aggregate (the city-wide top 10: 2 reads against 5 or 6), not on every question. Plain code credits a re-registered shop’s earlier holder to the new one, so it is wrong by identity on the top 10.

Enter the demo passcode

Buttons that move money, pause an agent or refund an order run on the server behind this passcode. It stays in this browser tab only.