Stablecoin measurement for Arc, Circle's L1. Real volume, TVL, fee economics — read from the chain, method published.
Open source.
Built by @morenog_dev
I applied for a Circle grant this week.
The form asks for traction: transaction volume, MAU, growth.
I could pad this box.
Instead I wrote: "The thesis of this application is that Stabledesk does not inflate numbers, so here is exactly what exists and what does not."
Four days ago I posted that our database had never survived a deploy. No volume mounted, every deploy wrote the index to the container's own filesystem, and the next one threw it away.
Here is the part nobody posts: the verification.
The record still begins at the minute it began on August 8. 100 hours later, across several deploys, unbroken. Not "we fixed it" — checked, and checkable: the chart on @arc testnet prints where the record starts, right next to the peak.
Shipping a fix and confirming a fix are different claims. Most projects only ever make the first one, and from outside you cannot tell them apart unless someone publishes the second.
On @arc testnet, 89% of transfer volume is infrastructure talking to infrastructure.
Last 24h: $533M of real volume across 1.5M transfers. Filter out the addresses moving at machine rates — 10,423 of them — and $57M is left.
That is not a knock on the chain. It's a testnet. Bots are supposed to be most of it, and faucet money is supposed to be cheap to move. It's a preview of the arithmetic that decides everything on mainnet, where the gap between "volume" and "someone paying someone" is the entire question.
We publish raw, real and adjusted side by side for exactly this reason. A filter you cannot audit is an assertion.
Six days ago that filter dropped 76%. It drops 89% now, because the rule changed: each address is measured over its own observed span instead of over however long our index happened to have been running. Same behaviour, judged the same way whoever it belongs to.
Arc testnet — faucet money, not real value.
Our database never survived a deploy. We found out today, 39 days before Arc mainnet opens.
No volume was mounted on the host. Every deploy wrote the index to the container's own filesystem, and the next one threw it away.
Nothing looked broken. The site was up, the chain was live, every figure on the page was correct — correct about the last thirty minutes.
That's the failure mode of a measurement layer. It doesn't announce itself. It quietly shortens the window you think you're measuring over, and every number stays technically true.
The part that stings: last week we shipped per-day aggregates kept indefinitely, on the argument that launch day is precisely the day nobody can re-index later. That table would never have held anything.
Fixed, and verified the only way that counts — redeployed, then checked the record still began where it began before.
Arc testnet. https://t.co/zPG3SY7At8
Our "largest transfer today" was the largest transfer of the last 114 seconds.
The transfers table is capped by row count. 1,200 rows. On Arc testnet, which does ~954,000 transfers a day, 1,200 rows is under two minutes of chain.
Four surfaces read from that table: the size distribution, the per-token recent lists, an address's recent activity, and the largest transfers. All four were describing the last two minutes. All four were labelled as something broader.
Nothing was wrong with any individual number. Every one of them answered a question nobody asked.
Fixed: the transfer window is 24 hours bounded by rows, and the span it actually covers is measured and published rather than assumed — because on a busy chain a row cap is a time window, it just doesn't tell you which one.
Largest transfers now get their own table: top 100 per day per token, kept 180 days. /v1/transfers/largest takes an explicit days and states the window it answered over.
Arc testnet. Method: https://t.co/zPG3SY7At8
Context worth adding: these came from Arc mainnet (chain 5042) while we held pre-launch access — real mainnet measurements, not testnet.
But the network was gated. Nobody outside could reach it, so nobody could check the figures independently. That's worth stating plainly on an account whose whole promise is that you can check the work.
Our access was withdrawn a few days later and we've been on testnet since. Public mainnet is announced for September 16.
Woow @arc crossed 1,200 active wallets in the last hour. Stablecoin supply just passed $5M too.
Still no official bridge from @circle.
If a site asks you to deposit funds to "bridge to Arc" —
there's nothing official to send to. Don't.
Follow + notifs to be notified as soon as the bridges open.
https://t.co/omqCG8QE2O
Context worth adding: these came from Arc mainnet (chain 5042) while we held pre-launch access — real mainnet measurements, not testnet.
But the network was gated. Nobody outside could reach it, so nobody could check the figures independently. That's worth stating plainly on an account whose whole promise is that you can check the work.
Our access was withdrawn a few days later and we've been on testnet since. Public mainnet is announced for September 16.
Arc mainnet, today's snapshot:
→ 2,900+ wallets active in the last hour
→ Stablecoin supply closing in on $10M
→ ~$0.01 in fees per transaction, measured straight from receipts (gas is paid in USDC — no price feed needed)
Still no official bridge from Circle. Don't send funds to
any site claiming otherwise.
https://t.co/omqCG8Q6dg
The experience point is measurable, and it's the part I index.
Gas on Arc is paid in USDC, so a fee is a dollar amount read straight from the receipt — no price feed, no oracle anywhere in the path. Cost to move $1M right now: $X.
Arc testnet, so the volume is faucet money. The fee mechanism isn't.
https://t.co/zPG3SY7At8
Most grant applications are marketing.
Ours is a measurement project. Inflating our own numbers in the application would be the same sin we exist to catch in other people's dashboards.
I applied for a Circle grant this week.
The form asks for traction: transaction volume, MAU, growth.
I could pad this box.
Instead I wrote: "The thesis of this application is that Stabledesk does not inflate numbers, so here is exactly what exists and what does not."
@Iziedking@arc Stablecoin measurement for Arc, Circle's L1. Real volume, TVL, fee economics — read from the chain, method published. https://t.co/kRakqVPIiD
Our API reported exactly 5,000 flagged addresses.
Exactly. Round numbers should smell.
It wasn't a count — it was the LIMIT in the query. Past 5,000, our noise filter was governed by a cap we'd never published. And that filter drops 76% of real volume.
Now published, with a warning when it binds.
https://t.co/omqCG8Q6dg
Stabledesk is back on Arc testnet — Arc mainnet hasn't publicly launched yet.
Our RPC access was refused for 4 days, and our own site blamed Arc for it.
It shouldn't have.
So we shipped: chain outages told apart from our own, indexed history served through a failure instead of a blank page, and a public availability record where uptime is measured against observed time — with coverage printed next to it.
Our 4-day outage counts as time we weren't watching. Not as Arc being down.
https://t.co/omqCG8Q6dg