VALUE DECENTRALIZATIONPowered by Frontier Protocol
OverviewHow it worksArenas
Restoring session…

Value Decentralization, powered by Frontier Protocol.

WhitepaperArchitectureSDK & CLIGitHub
Arenas/Ethereum infrastructure
PracticeEvidence L0 ·Deterministic public evaluator

Send fewer bytes without making them too expensive to unpack.

Encode the same transfer batches, execute Solidity decoder bytecode, and preserve both gas tradeoffs.

2 independent axes

Calldata gas
Minimize · gas
Decoder execution
Minimize · gas
A data-packing workshop compresses a bulky batch into a small package, then checks the decoded contents.

THE IDEA IN ONE PICTURE

Pack smaller. Restore exactly.

Ethereum charges for the data you send and the work needed to read it. Smaller packages can take more work to unpack.

  1. 01
    Choose the packing rules

    Pick a codec for each kind of batch.

  2. 02
    Send less. Decode correctly.

    Every transfer must survive packing unchanged.

  3. 03
    Compare both gas costs

    Sending cost and decoding cost stay separate.

Concept illustration, not a measured batch. The lab below runs real EVM checks; no transaction is sent.

START HERE · A SHORT GUIDED EXPERIMENT

Can a smaller package cost more to unpack?

Measure once, change one packing rule, then compare the two gas bills. The starter gives you a concrete first experiment.

Step 1 of 3
  1. 01

    Measure your starting rules

    Use the preloaded reuse-aware starter, or keep your own rules. This runs a real EVM measurement, not an Ethereum transaction.

  2. 02

    Change one decision

    With the starter, change Minimum recipient reuse from 50 to 100. The dictionary will be used less often. With custom rules, change a codec or fallback.

    Go to packing rules ↓
  3. 03

    Measure again. Read both costs.

    Keep the same workload. Compare the new revision with your previous run. One cost may fall while the other rises; unchanged results are allowed.

Learning progress only. No score, reward, AI fee, or payment. A tie is a valid result.

Compression rule lab · Practice

Your rule.
Every byte counts.

Choose how each transfer batch is packed. Save calldata without making the decoder do too much work.

Local EVM measurement

20 transfer actions
3 public batches · two independent gas axes

Correctness comes first: every reference digest must match and the published malformed tests must revert.

01 / Fix the workload

How often do recipients repeat?

Repeated recipients, mixed recipients, and integer boundary values.

02 / Build a compression policy

Pack according to the batch.

Rules run from top to bottom. The first match wins; otherwise the fallback is used.

calldata-rules-v1
Rule 1 · if all conditions match
Reuse = (actions − unique recipients) ÷ actions. 10 actions to 2 addresses = 80%.
Review the editable artifact as JSON

This JSON is the exact bounded rule artifact sent for measurement. Change the controls above to revise it.

{
  "kind": "calldata-rules-v1",
  "schemaVersion": "1",
  "fallbackCodec": "packed",
  "rules": [
    {
      "minActions": 4,
      "maxActions": 255,
      "minReusePercent": 50,
      "codecId": "dictionary"
    }
  ]
}
Ready to test every batch.

The host selects a checked-in codec; the EVM measures its decoder. No wallet or payment.

Follow the bytes

A smaller message.
The exact same meaning.

The starter uses a dictionary for repeated addresses and fixed-width packing elsewhere. Measure it to see actual selections, payloads, and EVM gas for every batch.

After a run, edit the reuse threshold or fallback and compare your next revision against the same ABI baseline.

01

Transfer actions

A lossless workload
Recipient 20 BAmount 8 BNonce 4 B

Keep every recipient, uint64 amount and uint32 nonce exactly intact.

↓
02

Fixed-width packed

1 B count20 B recipient8 B amount4 B nonce

Each action uses 32 bytes. A single count byte starts the batch.

↓
03

Bytes become calldata

Zero byte = 4 gas · nonzero byte = 16 gas. Measure to see the actual payload.

↓
04

Cancun EVM → state digest

The checked-in Solidity decoder runs locally. Its output must match the reference digest.

Editable rules · checked-in codecs · Practice evidence

Rules choose among three fixed encoders and Solidity decoders. Host selection and encoding cost are excluded; there is no onchain format dispatcher. Arbitrary source compilation, hidden final batches, persistent submissions, and reward settlement are not configured.

Reference challenge lifecycle and immutable terms

These terms describe the original reference challenge. The editable Practice lab above uses its own versioned context and evidence; its results are not entries in this challenge and do not earn rewards.

  1. 01
    BuildCreate a valid solution.
  2. 02
    MeasureRun the shared evaluator.
  3. 03
    ExpandMeasure contribution.
  4. 04
    AttestRunner evidence pending.
  5. 05
    SettleNo funded pool.
View immutable challenge terms →