Plutus & smart contract cockpit · live ExUnit telemetry

Cardano Plutus & Script Execution Telemetry

Cardano runs smart contracts on the Plutus Core virtual machine inside the extended UTXO (eUTXO) model. Every contract call declares how much computing work (CPU steps) and working memory (memory units) it needs, and the node checks that declaration against the ceilings printed below, which are read from the live protocol parameters. What is not published here: a breakdown by Plutus version (no API reports which era a script ran in), the count of failed contract evaluations (nothing measures them), and a contract-level census, because the sizes come from a sample.

Script share · 24 h rolling summary
-- 1 h --
sampled blocks
Mean CPU Steps / Tx (24h)
-- steps
live per-transaction cap
Mean Memory / Tx (24h)
-- units
live per-transaction cap
Reference Inputs / Tx (1h)
-- / tx
no block sampled
Collateral Inputs / Tx (1h)
-- / tx
margin unavailable
Mean CPU steps per transaction --
live per-transaction cap
Mean memory units per transaction --
live per-transaction cap

--

Measured ExUnit load · 1 h

Every block of the sampled hour, by the busier of its two meters against the live block ceilings. The bar is the share of blocks in that band, the number beside it the block count. These are the bands the feed filters by — click one to narrow the table below.

Nominal < 5% of either budget --
Moderate 5 – 25% --
Elevated 25 – 50% --
High load over 50% --
Mean CPU load (1 h) --
Mean memory load (1 h) --
Busiest block (1 h) --

Script Traffic Distribution (1h)

How much of each block's transaction count ran a contract, bucketed across the sampled hour. Contract traffic arrives unevenly: most blocks on today's chain are mostly plain payments, while the blocks an app happens to fill sit at the other end of this list. The empty band is its own row on purpose, because a single share hides that most blocks run no contract at all.

No script transaction
--
Up to 5%
--
5% – 20%
--
20% – 50%
--
Over 50%
--
Blocks w/ scripts (1 h) --
Empty-script blocks --

--

Contract Size Mix (1h)

The size of the contracts behind the calls this deployment sampled, read from the script hashes those redeemers reference. A contract that ran in several blocks appears once per block, so read the list as the sizes of the calls, not as a count of the contracts on the chain: one entry per contract call.

Under 1 kB
--
1 – 4 kB
--
4 – 8 kB
--
8 – 12 kB
--
Over 12 kB
--
Median script --
95th percentile --
Largest vs live tx cap --

--

Reading the Numbers

Everything above is a measurement against one of these anchors. The ceilings and prices come from the live protocol parameters, so a governance change moves them without a software release; the usage rows are what this deployment measured in the last hour.

Block CPU budget -- live
Block memory budget -- live
Per-transaction CPU cap -- live
Per-transaction memory cap -- live
CPU step price -- live
Memory unit price -- live
Reference script price -- live
Collateral requirement -- live
Maximum transaction size -- live
Mean block CPU used (1 h) -- measured
Mean block memory used (1 h) -- measured
Blocks storing a ref script (1 h) -- sample
Contract sizes (1 h) -- sample

What this page cannot show: which Plutus version a call used, because neither Blockfrost nor Koios reports a script version; how many contract evaluations failed, because no endpoint exposes a validation result; and a contract-level census, because the script sizes are sampled from the calls of the blocks this deployment saw. All three are left out rather than estimated.

ExUnit Load Timeline (1h)

What each sampled block actually spent of its execution budget: the computing steps and the memory units its contracts declared, as a share of the ceilings the network sets per block. The dashed line at 100 % is that budget, so everything under it is headroom the block left unused. The axis is pinned to the budget instead of to the observed peak, which is the honest view here: an hour that never comes near the ceiling reads as a flat line near the floor rather than as a dramatic climb. Execution units are not bytes, so a block can carry a full body of transactions and still use a few percent of this budget.

CPU % of the block cap Memory % of the block cap Block budget (100%)

Plutus Load, Last 5 Days

The same two measurements across days instead of an hour, taken from the stored hourly rollups. An hour without a stored rollup is left blank rather than drawn as a zero, because a gap means nobody counted that hour.

Script share by hour

How much of each counted hour's traffic ran a contract. The dashed line is the mean of the counted hours; the axis is the full 0–100 % scale, so a quiet hour is a short bar and not a shrunken chart.

--

Execution per transaction, by hour

What the average transaction asked for, each meter as a share of the live per-transaction cap — the only scale on which steps and memory units can be compared. The dashed line is the cap itself.

CPU steps Memory units Per-transaction cap (100%)

--

Live Plutus Smart Contract Execution Feed (Recent Blocks)

Real-time ExUnit Clearance

Real-time log of recently observed blocks: their contract share, the computing steps and memory units their calls declared against the live block budget, and what they read from the chain by reference. Click any SPO to view complete stake pool telemetry.

Block / Slot Slot Leader (SPO) Script Share CPU Steps Script Memory Reference Reads ExUnit State
Connecting to Cardano live Plutus execution telemetry...

--

The eUTXO Smart Contract Architecture

Unlike account-based chains, where a call mutates shared contract state, a Cardano contract validates a transaction locally from three deterministic inputs:

Datum, Redeemer & Script Context

Contracts lock funds at script addresses. To spend such a UTxO, the transaction supplies a Redeemer, satisfies the locked Datum, and validates against the complete ScriptContext (inputs, outputs, fees, certificates, and minting policies).

Deterministic Off-Chain Evaluation

Wallets evaluate a call against the exact ledger state off-chain and declare the execution units it needs. A transaction whose declared units fit the caps below cannot fail for lack of budget, so a contract call never burns an unbounded amount of work the way a gas auction can. It can still fail validation if the script returns false, which is what the collateral it names is set aside for.