
Crypto Superapps
I used to think that VCs funding things like wallets/analytics didn’t make any sense. After all, the experience itself is pretty commodity and the value accrual flows to the protocols built underneath – Uniswap, Aave, etc. This understanding has been the underpinning of the Fat Protocol thesis, which was the core to the alt-L1 thesis that drove much of 2021. This mindset is especially present in DeFi, where the token driven nature of these protocols pushes value accrual to be front and center...

A-> B with AA (why 4337 is psyops)
Special thanks to Diego for reading over an early version of this post One of the issues that people are noticing with PWAs that support Privy and other wallet-as-a-service providers is that this process creates a lot of fragmentation for data and value. If I have a boatload of Blackbird points, 2 ETH worth of keys on my Friendtech, etc – it becomes really difficult to aggregate this value. One simple solution is that we can just use a shared wallet across all these platforms – which is the a...

Open issues with DeFi Lending
While it’s easy to say with recent events that DeFi is the antidote – the question remains: what’s stopping these markets from fully being brought over to DeFi? Although Aave and Compound (and increasingly Euler), have solidified their place within DeFi – it’s important to step back and look at what is the current set of major issues with lending markets. For new protocols to innovate within lending, there’s a few open questions that they need to address:Rehypothecation is highly dangerousOne...
<100 subscribers

Crypto Superapps
I used to think that VCs funding things like wallets/analytics didn’t make any sense. After all, the experience itself is pretty commodity and the value accrual flows to the protocols built underneath – Uniswap, Aave, etc. This understanding has been the underpinning of the Fat Protocol thesis, which was the core to the alt-L1 thesis that drove much of 2021. This mindset is especially present in DeFi, where the token driven nature of these protocols pushes value accrual to be front and center...

A-> B with AA (why 4337 is psyops)
Special thanks to Diego for reading over an early version of this post One of the issues that people are noticing with PWAs that support Privy and other wallet-as-a-service providers is that this process creates a lot of fragmentation for data and value. If I have a boatload of Blackbird points, 2 ETH worth of keys on my Friendtech, etc – it becomes really difficult to aggregate this value. One simple solution is that we can just use a shared wallet across all these platforms – which is the a...

Open issues with DeFi Lending
While it’s easy to say with recent events that DeFi is the antidote – the question remains: what’s stopping these markets from fully being brought over to DeFi? Although Aave and Compound (and increasingly Euler), have solidified their place within DeFi – it’s important to step back and look at what is the current set of major issues with lending markets. For new protocols to innovate within lending, there’s a few open questions that they need to address:Rehypothecation is highly dangerousOne...
Share Dialog
Share Dialog


The past week, I worked on a project built on MUD with a few others called “Trade Wars,” an open world trading game placed on the high seas, for the ETHGlobal Autonomous Worlds Hackathon. It was a really interesting experience building with MUD and I’ve gathered some thoughts.
A quick primer on WTF of MUD:
MUD is a framework developed by the Lattice team as an game development framework for onchain games. MUD was initially built in response to the challenges faced during development of Dark Forest and other early on chain games. MUD is a full stack framework - using the Optimism’s OP Stack and v2 offers tooling for easier front end creation. There’s a few games already built using MUD, from Sky Strife, OPCraft, and Moving Castles.
This Wired piece also provides a great overview.
Why MUD?
To understand why MUD is interesting and what explains their design decisions its important to ask – why develop MUD in the first place?
Upgradability:
We all know and love the EVM for all the tooling and existing compatibility that it has, but it is really primitive. This is fine with DeFi where the state updates (accounting etc) and the scope of interactions are fairly limited (a small set of immutable contracts).
Importantly, this lack of specificity at the base layer leads to a diversity of approaches to even fairly basic operations.
For instance, the ERC-20 standard is only a recommended standard for how fungible tokens should be created. However, things like honeypots and rebasing tokens all modify this behavior in nonstandard ways, and there’s no way to push forward any changes post finalization.
For ERC-20s where there’s a significant amount of infra built around it, this is a good thing. But for on chain games – it’s much more difficult. Game development is a dynamic process and immutable contracts don’t work very well with this style of development. The focus on frameworks as opposed to standards is in this same vein – if there are going to be changes, it’s better to think about upgradability than bending backwards for compatibility.
Tables
One of the key areas that MUD leans into is the use of table-based storage. Blockchains are frequently derided as expensive SQL databases, but unfortunately this isn’t the case!
Take a mapping for ownership of tokens by address. If a frontend wants to see everyone who holds a sword, there’s no way to do this by directly querying the contracts, given that mappings are only one way. There’s ways around it, but it’s easier to pull things from a database, which makes the process of building frontends much easier.
Instead of needing to query different pieces of state in different contracts, you only need to know the DB schema – just like querying a SQL database in a normal web2 application. This requires a different way of thinking about state in contracts – each contract no longer holds state, but instead writes to the World Contract’s state contract.
This requires some changes in how developers write contracts, but these
Composability
One of the key aspects of autonomous worlds is the composability aspect. These inherently open systems allow and encourage others to hook into these primitives.
There are two ways that MUD encourages composability:
Client side, via Plug-Ins which modify the player experience via the UI
Contracts side, via new entities registered with the World contract (Entity Control System)
Both aspects are extremely primitive for now, but a great example of the promise that composability holds.
For plugins, there were plugins like chat, or shared resources which enabled novel means of coordination.
For new entities, this how we’d be able to see things like object interoperability in these worlds – the classic example being the ability to bring a rare sword from one game to another. Admittedly there’s more work to do here – the game needs to explicitly recognize the schema of the table containing the sword for instance.
Despite the reliance on Solidity and its syntax, all of these changes make MUD a really novel way of looking at games – in the same way that React compiling down to Javascript, it opened up the door to the creation of more interactive frontends.
Exciting areas for new onchain games
zk/ml x AW
New technologies like zk and zkml will first find their footing within onchain games.
The lower stakes nature of games, and the expanded design space of these games allows for exploration into these newer computing primitives. Autonomous in-game agents built using zkml, or zk fog of war as seen in Dark Forest are all aspects that dramatically increase the exploration space for on-chain games.
DeFi x AW
The deeper integration of DeFi and AW is extremely exciting. We explored this in our game for the hackathon, where the trading system that players used was actually a Balancer v1 style multiasset AMM which allowed arbitrage opportunities for players who could pilot their ships to complete arbitrages between AMMs.
This is still really nascent (there isn’t even ERC-20 compatibility or native ERC-20s) but the ability to create AMMs, interact with other DeFi primitives allows for an exciting new areas.
If I were to put my chips for how AW is able to grow significantly, it’s tapping into existing tokenomic playbooks and expanding on the scope of financial interaction beyond the simple token inflation – token sink model that both bootstrapped P2E games but also caused them to fizzle out due to unsustainability.
Full stack dapps x AW
The tight integration of frontend and backend make it particularly interesting for practical usage for a full stack dapps, also called hyperapps by Jai Bhavnani. It’s still early stages, but user control of the full stack experience along with the frontend composability via plugins is a really interesting way to think about how we can really see full stack dapps become a thing.
Conclusion:
It’s clear that there is a lot of work to get done on MUD. Just working on it in the past couple days, there were bugs, issues with documentation, and general clunkiness.
But if there’s anything that’s clear it’s that the vibrant community and speed that MUD allows these games to be developed out holds out the promise of truly exciting onchain games.
Special shout out to my teammates Cometshock, Bitzoic as well as the Lattice team for putting together the hackathon and making it a really cool experience.
The past week, I worked on a project built on MUD with a few others called “Trade Wars,” an open world trading game placed on the high seas, for the ETHGlobal Autonomous Worlds Hackathon. It was a really interesting experience building with MUD and I’ve gathered some thoughts.
A quick primer on WTF of MUD:
MUD is a framework developed by the Lattice team as an game development framework for onchain games. MUD was initially built in response to the challenges faced during development of Dark Forest and other early on chain games. MUD is a full stack framework - using the Optimism’s OP Stack and v2 offers tooling for easier front end creation. There’s a few games already built using MUD, from Sky Strife, OPCraft, and Moving Castles.
This Wired piece also provides a great overview.
Why MUD?
To understand why MUD is interesting and what explains their design decisions its important to ask – why develop MUD in the first place?
Upgradability:
We all know and love the EVM for all the tooling and existing compatibility that it has, but it is really primitive. This is fine with DeFi where the state updates (accounting etc) and the scope of interactions are fairly limited (a small set of immutable contracts).
Importantly, this lack of specificity at the base layer leads to a diversity of approaches to even fairly basic operations.
For instance, the ERC-20 standard is only a recommended standard for how fungible tokens should be created. However, things like honeypots and rebasing tokens all modify this behavior in nonstandard ways, and there’s no way to push forward any changes post finalization.
For ERC-20s where there’s a significant amount of infra built around it, this is a good thing. But for on chain games – it’s much more difficult. Game development is a dynamic process and immutable contracts don’t work very well with this style of development. The focus on frameworks as opposed to standards is in this same vein – if there are going to be changes, it’s better to think about upgradability than bending backwards for compatibility.
Tables
One of the key areas that MUD leans into is the use of table-based storage. Blockchains are frequently derided as expensive SQL databases, but unfortunately this isn’t the case!
Take a mapping for ownership of tokens by address. If a frontend wants to see everyone who holds a sword, there’s no way to do this by directly querying the contracts, given that mappings are only one way. There’s ways around it, but it’s easier to pull things from a database, which makes the process of building frontends much easier.
Instead of needing to query different pieces of state in different contracts, you only need to know the DB schema – just like querying a SQL database in a normal web2 application. This requires a different way of thinking about state in contracts – each contract no longer holds state, but instead writes to the World Contract’s state contract.
This requires some changes in how developers write contracts, but these
Composability
One of the key aspects of autonomous worlds is the composability aspect. These inherently open systems allow and encourage others to hook into these primitives.
There are two ways that MUD encourages composability:
Client side, via Plug-Ins which modify the player experience via the UI
Contracts side, via new entities registered with the World contract (Entity Control System)
Both aspects are extremely primitive for now, but a great example of the promise that composability holds.
For plugins, there were plugins like chat, or shared resources which enabled novel means of coordination.
For new entities, this how we’d be able to see things like object interoperability in these worlds – the classic example being the ability to bring a rare sword from one game to another. Admittedly there’s more work to do here – the game needs to explicitly recognize the schema of the table containing the sword for instance.
Despite the reliance on Solidity and its syntax, all of these changes make MUD a really novel way of looking at games – in the same way that React compiling down to Javascript, it opened up the door to the creation of more interactive frontends.
Exciting areas for new onchain games
zk/ml x AW
New technologies like zk and zkml will first find their footing within onchain games.
The lower stakes nature of games, and the expanded design space of these games allows for exploration into these newer computing primitives. Autonomous in-game agents built using zkml, or zk fog of war as seen in Dark Forest are all aspects that dramatically increase the exploration space for on-chain games.
DeFi x AW
The deeper integration of DeFi and AW is extremely exciting. We explored this in our game for the hackathon, where the trading system that players used was actually a Balancer v1 style multiasset AMM which allowed arbitrage opportunities for players who could pilot their ships to complete arbitrages between AMMs.
This is still really nascent (there isn’t even ERC-20 compatibility or native ERC-20s) but the ability to create AMMs, interact with other DeFi primitives allows for an exciting new areas.
If I were to put my chips for how AW is able to grow significantly, it’s tapping into existing tokenomic playbooks and expanding on the scope of financial interaction beyond the simple token inflation – token sink model that both bootstrapped P2E games but also caused them to fizzle out due to unsustainability.
Full stack dapps x AW
The tight integration of frontend and backend make it particularly interesting for practical usage for a full stack dapps, also called hyperapps by Jai Bhavnani. It’s still early stages, but user control of the full stack experience along with the frontend composability via plugins is a really interesting way to think about how we can really see full stack dapps become a thing.
Conclusion:
It’s clear that there is a lot of work to get done on MUD. Just working on it in the past couple days, there were bugs, issues with documentation, and general clunkiness.
But if there’s anything that’s clear it’s that the vibrant community and speed that MUD allows these games to be developed out holds out the promise of truly exciting onchain games.
Special shout out to my teammates Cometshock, Bitzoic as well as the Lattice team for putting together the hackathon and making it a really cool experience.
No comments yet