MUD

MUD
Built by Lattice
Open-source engine for autonomous worlds

MUD reduces the complexity of building Ethereum apps with a tightly integrated software stack.

Trusted by many

Used and built by developers and teams across the world

739

GitHub stars

frolicfrolicfrolicfrolicfrolicfrolicfrolic

29 contributors

EVE Frontier

30+ projects

Get started

> pnpm create mudCopy

MUD powers some of the most complex and fascinating applications onchain. But getting started is as easy as running pnpm create mud, to create your very own MUD project.

From there, choose one of the frontend templates—from React to Three.js—to visualize your world. Then, start building your world and see it come to life with a built-in development server and automatic contract hot reloading.

Curious to learn more? Read the docs →
Play
mud video thumbnail

Tried and tested

First released in 2022, MUD has been used by countless onchain developers—from solo devs to 50-strong game studios—to build applications in production.

The MUD automatic indexer, MUD-native account abstraction, support for token standards… all of MUD has been tried and tested by production worlds with millions of onchain entities and thousands of users.

And it is still continuously evolving. New modules and updates are constantly being worked on by MUD core devs and contributors, bringing new features and performance improvements.

MUD Architecture

Integrations

Standard World Interface

Not only is the MUD codebase fully open-source under the MIT license, all of its interfaces with peripheral services and execution environments—indexers, blockchains, ERC-4337 bundlers—are openly accessible and under standardization.

Launch with Lattice’s Quarry environment to get 7ms ultra-low latency and seamless onboarding, or design your own stack with any EVM blockchain, an open-source ERC-4337 bundler, and the open-source MUD indexer.

Standard World Interface

← Scroll to explore →

Ecosystem

Start using a wide ecosystem of projects powered by MUD.

Changelog

Learn what’s changed in recent releases of MUD.

GitHubGithub
2.2.14

Oct 24, 2024

  • fix(cli): support public library methods in modules (#3308)
  • fix(cli): support public library methods in modules (#3308)
  • feat(stash): add useStash and improve other helpers (#3320)
2.2.13

Oct 23, 2024

  • fix(gas-report): include contract name in file of output (#3317)
  • chore(world-module-erc20): export erc20 module from internal (#3319)
  • feat(explorer): multi-line sql editor (#3311)
  • and 2 more...
2.2.12

Oct 18, 2024

  • feat(explorer): add functions filter to query state (#3268)
  • feat(explorer): transaction timings (#3274)
  • fix(faucet,store-indexer): add bin wrappers (#3296)
  • and 11 more...
2.2.11

Oct 7, 2024

  • feat(explorer): show transactions (#3062)
  • feat(cli,store): fetch table-specific logs (#3245)
  • feat(cli,store): fetch table-specific logs (#3245)
  • and 9 more...
2.2.10

Sep 26, 2024

  • fix(world): resolve system namespace label (#3232)
  • fix(explorer): construct sqlite table names (#3234)
  • fix(explorer): various fixes (#3235)
  • and 1 more...
2.2.9

Sep 25, 2024

  • feat(explorer): dozer integration (#3185)
  • feat(explorer): local indexer inside explorer (#3229)
  • feat(explorer): move filter state to url (#3225)
  • and 1 more...
2.2.8

Sep 23, 2024

  • feat(store-sync): remove unused generics (#3218)
  • fix(create-mud): add missing three deps, fix types (#3221)
  • feat(cli): paginate world deploy logs (#3217)
  • and 2 more...
2.2.7

Sep 20, 2024

  • feat(cli): quieter automine (#3212)
  • fix(explorer): better observer decorator types (#3206)
  • feat(explorer): filterable tables selector (#3203)
  • and 2 more...
2.2.6

Sep 19, 2024

  • feat(stash): release package to npm (#3184)
  • fix(cli): improve performance of linked library resolution during deployment (#3197)
  • feat(store-sync): add syncToStash util (#3192)
2.2.5

Sep 19, 2024

  • fix(explorer): various fixes (#3195)
  • fix(explorer): various fixes (#3195)
  • fix(explorer): various fixes (#3195)
2.2.4

Sep 18, 2024

  • feat(explorer): anvil connector, connect external wallets (#3164)
  • fix(common): use latest block tag in nonce manager (#3180)
  • feat: bump wevm packages (#3178)
  • and 5 more...
2.2.3

Sep 10, 2024

  • feat(cli): deploy custom world (#3131)
  • fix(explorer): world address cli option as hex (#3155)
  • feat(cli): speed up dev deploy with temporary automine during deploy (#3130)
2.2.2

Sep 3, 2024

  • style(explorer): format account balances (#3117)
  • feat(explorer): show error message in error page (#3121)
  • fix(cli): add missing await (#3119)
2.2.1

Sep 1, 2024

  • fix(store-sync): handle TransactionReceiptNotFoundError (#3115)
  • fix(cli): deployer should wait for prereq txs (#3113)
  • fix(common): use pending block tag in tx queue (#3073)
2.2.0

Aug 30, 2024

  • chore(explorer): update world explorer naming (#3069)
  • fix(common): route all actions through viem client (#3071)
  • build: use shx from dev deps (#3085)
  • and 4 more...
2.1.1

Aug 20, 2024

  • chore: upgrade zod to latest (#3020)
  • chore: bump viem, abitype (#3038)
  • refactor(world): make AccessControl lib usable outside of world package (#3034)
  • and 5 more...
2.1.0

Aug 5, 2024

  • docs: update resource labels changeset (#2985)
  • docs: update namespaces changeset (#2989)
  • fix(cli,store): don't deploy disabled tables (#2982)
  • and 18 more...
2.0.12

May 31, 2024

  • feat(store,world): add option to codegen tables into namespace dirs (#2840)
  • feat(store,world): add option to codegen tables into namespace dirs (#2840)
  • fix(cli,world): resolve table by just name (#2850)
  • and 3 more...
2.0.11

May 15, 2024

  • build: bump to node 18.20.2, pnpm 9.1.1 (#2831)
  • fix(cli): fixed module artifactPath imports (#2832)
2.0.10

May 14, 2024

  • fix(cli): function selector lookup during deploy (#2800)
  • feat(cli): deploy with external modules (#2803)
  • chore: upgrade to ejs 3.1.10 (#2786)
  • and 11 more...
2.0.9

May 1, 2024

  • fix(cli): do not require `PRIVATE_KEY` if using KMS (#2765)
  • feat(create-mud): redstone and garnet chains (#2776)
  • feat(store-indexer): add metric for distance from block tag to follow (#2763)
  • and 7 more...
2.0.8

Apr 27, 2024

  • fix(store-indexer): allow empty env variable (#2746)
  • fix(cli): fix verify with sourcify for dependencies (#2750)
  • feat(common): add redstone chain config (#2749)
2.0.7

Apr 25, 2024

  • feat(store-indexer): add prometheus metrics (#2739)
  • fix(common): use feeRef for sendTransaction calls (#2725)
  • fix(block-logs-stream): handle proxyd errors (#2726)
  • and 14 more...
2.0.6

Apr 17, 2024

  • feat(store-indexer): add cache headers (#2669)
  • fix(common): latency improvements (#2641)
  • fix(store,world): fix StoreRead.getDynamicFieldLength (#2680)
  • and 7 more...
2.0.5

Apr 12, 2024

  • fix(world-modules): add missing interfaces (#2605)
  • fix(common): pass through rest of nonce manager opts (#2616)
  • feat(world-modules): add `validateCallWithSignature` to `Unstable_CallWithSignatureModule` (#2614)
  • and 4 more...
2.0.4

Apr 2, 2024

  • feat(common): allow specifying concurrency in transactionQueue (#2589)
2.0.3

Apr 2, 2024

  • feat(common,world): improvements for smart accounts (#2578)
  • feat(common,world): improvements for smart accounts (#2578)
2.0.2

Apr 1, 2024

  • feat(world-modules): register delegation with signature (#2480)
  • chore: threejs template changeset (#2529)
  • docs: clarify `callFrom` changelog (#2579)
  • and 2 more...
2.0.1

Mar 21, 2024

  • fix(store,world): minor config validation fixes (#2517)
2.0.0-next.18

Mar 21, 2024

  • docs: add store/world config changesets (#2497)
  • refactor: move table ID and field layout constants into table library (#2327)
  • feat(store,world): set protocol version, add tests (#2412)
  • and 38 more...
2.0.0-next.17

Feb 20, 2024

  • chore: upgrade to Solidity 0.8.24 (#2202)
  • feat(world): rename CoreModule to InitModule (#2227)
  • feat(cli,world): add user defined salt in WorldFactory.deployWorld() (#2219)
  • and 14 more...
2.0.0-next.16

Jan 23, 2024

  • chore: add module addresses changeset (#2172)
  • refactor(cli,world,world-modules): split and separately deploy core systems (#2128)
  • refactor(cli,world,world-modules): split and separately deploy core systems (#2128)
  • and 4 more...
2.0.0-next.15

Jan 3, 2024

  • fix(store-sync,store-indexer): make last updated block number not null (#1972)
  • feat(store-indexer): clean database if outdated (#1984)
  • feat(store-sync, store-indexer): order logs by logIndex (#2037)
  • and 37 more...
2.0.0-next.14

Nov 10, 2023

  • feat(dev-tools): show zustand tables (#1891)
  • feat(store-indexer): separate postgres indexer/frontend services (#1887)
  • feat(cli): warn when contract is over or close to the size limit (#1894)
  • and 10 more...
2.0.0-next.13

Nov 2, 2023

  • feat(utils): remove hash utils and ethers (#1783)
  • feat(store-indexer,store-sync): filter by table and key (#1794)
  • feat(create-mud): move react template to zustand, add react-ecs template (#1851)
  • and 13 more...
2.0.0-next.12

Oct 20, 2023

  • feat(store): default off storeArgument (#1741)
  • feat(cli): declarative deployment (#1702)
  • feat(world-modules): only install modules once (#1756)
  • and 20 more...

Resources

Discover more about the open source framework powering complex games & apps on Ethereum.

Find us

Discover more MUD resources, and join our community online.

Newsletter

Sign up to receive regular updates about MUD.