alina schanz

week 37 in numbers: gas by the hour, nine pegs, and $429m that never left

berlin 5 min read

a new habit: once a week i post the numbers from my own scripts, with the commands next to them, so you can rerun the week and tell me where i am wrong. week 37 ends for me on a tuesday morning with a coffee, three tools and one public node.

gas, by the hour

gasweek pulled 50,400 blocks, a week to the block (25,881,970 to 25,932,369), in about two minutes. the base fee of the next block, in gwei:

min · p25 · median0.029 · 0.050 · 0.071
p75 · p90 · max0.119 · 0.202 · 2.11
blocks, on average50.6% full
blob base fee, median0.0042 gwei
cheapest hour (berlin)01:00 · 0.047 gwei
priciest hour (berlin)17:00 · 0.197 gwei
ethereum base fee over the last seven days: a log-scale line of 30 minute medians with a p25 to p75 band, and the medians by hour of day as bars
the chart gasweek writes with --svg. log scale; the band is p25 to p75 of each half hour.

the shape by hour of day repeats: a factor of four between the night and the american morning. by weekday, saturday and sunday sit at 0.055 to 0.057 gwei, wednesday at 0.107. if your transaction can wait, send it on a weekend night; if it cannot, it costs less than a coffee anyway. the spike to 2.1 gwei lasted a few blocks, the one time all week the fee moved.

nine pegs

stablepeg at block 25,932,370 (11:32 utc): the uniswap v3 spot price against usdc, a short twap from the pool's own observations, and coingecko next to it.

coinspottwapcoingecko
usdt0.999860.999900.99957
dai1.000000.999900.99993
usde0.999860.999800.99967
pyusd1.000051.000000.99975
crvusd1.001491.001500.99980
gho0.998510.998500.99849
usds0.998770.998800.99971
lusd1.009701.009651.00900
frax0.991940.991840.99161

seven of nine sit within fifteen basis points of a dollar, the boring result i want from this table, and two sit outside it. lusd trades at a one percent premium, as it has for long stretches before. frax shows 0.992 on the pool, on the twap and on coingecko, so 0.992 is the price and a thin pool is ruled out. the curve 3pool quote for 100,000 usdt into usdc was 99,975.51, a spread of 2.4 basis points; the pool's virtual price stands at 1.0398.

one hour of large transfers

bigmoves over the 300 blocks before 11:32 utc, about an hour, everything above $5m in usdt, usdc, dai, weth and wbtc: 76 lines. the biggest of them:

  • 5,474 wbtc ($429m) and $92m usdc in one transaction, out of 0xbbbb…ffcb and back into it within the transaction: a flash loan through morpho blue, which bigmoves tags round trip and folds into one line. four more round trips of $87m to $88m usdc in the same hour, same source.
  • 49.5m usdt into a bybit hot wallet, and 39.8m usdt into binance 14. those two are transfers where money changed hands, and together they make a fifth of the flash loan.
  • 40m usdc hopping through three unlabeled wallets, one hop per transaction, a few minutes apart, with no name on any of them.

the biggest number in the hour was no move at all: a flash loan's money never leaves, the borrower returns it inside the same block, and a naive scanner prints it as $429m of bitcoin changing hands. bigmoves has folded the two legs into one line since last week. morpho blue is missing from my label list, and only 16 of the 76 lines had a name on at least one side, which shows how short that list is; morpho blue is the next label i add, with a source.

rerun it

gasweek --tz +2 --json --svg week.svg
stablepeg --json
bigmoves --blocks 300 --min-usd 5000000 --json

python 3.10+, standard library, public rpcs. numbers from a public node drift a little between runs, a block later or a different endpoint; a different picture would be a bug, and i want to hear about it.

none of it is advice. the scripts are gasweek, stablepeg and bigmoves.

alina schanzonchain data, berlin. the scripts behind every number are on github.