NOME
Onchain infrastructure

Build onchain.
Without the constraints.

NOME gives developers controlled environments to build, test, and simulate onchain applications before they reach production.

Build/Test/Simulate/Deploy
ENVIRONMENTenv_7f3aSNAPSHOT 14 · BLOCK 18,204,1130x3f9a0x8c210xd04e0x71b60x2ee7VAULTROUTER12 ACCOUNTS4 CONTRACTSDETERMINISTIClatency 0ms · eip-1559EXECUTIONrun_0419transfer0x3f9a → vaultdepositvault.deposit()swaprouter.exec()callvault.balanceOfeventDeposited(…)STATEdiff +3 / −1vault.totalrouter.nonce0x3f9a.balance0x2ee7.balanceevents.countNOME / ENVIRONMENT VIEWRESET → REPLAY → INSPECTISOLATED · REPRODUCIBLE
The environment

A controlled environment for onchain development.

Create the conditions your application needs. Iterate quickly. Reset when you need to. Move from an idea to a verified implementation without waiting on live network conditions.

env_7f3a · snapshot 14
Accounts
FilterExportReset
IdentifierDetailValue
0x3f9a…c2e1deployer1,000.00
0x8c21…9b04user · role: maker250.00
0xd04e…77a3user · role: taker250.00
0x71b6…10f8treasury12,400.00
0x2ee7…5d3crelayer40.00
0x9a10…e4b2observer0.00
deterministic · isolated · replayable
01Accounts
02Assets
03Transactions
04Contract calls
05State
06Events
Built for iteration

Change the environment.
Not the outcome.

NOME makes experimentation repeatable. Define a condition, run it, inspect the result, reset, and try again.

  1. DEFINEDeclare accounts, assets, and starting state.
  2. RUNExecute transactions and contract calls.
  3. INSPECTRead state diffs, events, and traces.
  4. RESETReturn to any snapshot instantly.
  5. REPEATSame input, same outcome. Every time.
same input → same outcome · run #041
Onchain by design

Built around how onchain systems actually behave.

NOME models the primitives your application depends on. Nothing is approximated away, so what you observe in an environment is what you should expect from the chain.

  • 01

    Accounts

    Externally owned and contract accounts with balances, nonces, and roles you define explicitly.

    account { address, balance, nonce, code? }
  • 02

    Assets

    Native and contract-defined assets with decimals, supply, and holders modeled as first-class state.

    asset { standard, decimals, supply, holders[] }
  • 03

    Transactions

    Signed or environment-authorized transactions with realistic gas accounting, ordering, and receipts.

    tx { from, to, value, data, gas, nonce }
  • 04

    Contract interactions

    Deploy, call, and trace contracts with full call stacks, reverts, and return data.

    call { target, selector, args[], trace }
  • 05

    State changes

    Every write is captured as a structured diff you can inspect, compare, and roll back.

    diff { slot, before, after, origin }
  • 06

    Events

    Emitted logs are indexed, decoded, and queryable across the full history of an environment.

    event { signature, topics[], data, block }
  • 07

    Network conditions

    Block time, base fee, reorg depth, and latency are parameters, not accidents.

    network { blockTime, baseFee, reorgDepth }
Methodology

Reproducibility matters.

Reliable development requires environments that can be understood, repeated, and inspected. NOME is designed around deterministic workflows, explicit state, and observable outcomes.

Read the Methodology
INPUT #10x9c1eINPUT #20x9c1eINPUT #30x9c1eENVSAME INPUT → SAME STATE ROOT · 3/3 RUNS
Manifesto

Infrastructure should disappear into the workflow.

The best developer infrastructure does not compete for attention. It gives builders more control, fewer constraints, and a faster path from idea to execution.

Read the Manifesto

Build what comes next.

Start with an environment. Leave with something that works.