If you’ve started building on Midnight, you’ve probably already run into this: a freshly generated wallet holds no NIGHT, which means it generates no DUST, which means it literally cannot submit a transaction, not even a first one. If your app is meant for people who’ve never touched a crypto wallet before, this isn’t a minor inconvenience, it’s a hard wall at the front door.
I put together a full breakdown of DUST sponsorship, the mechanism Midnight provides specifically for this situation. It covers:
- Why the cold-start problem exists in the first place, tied to how NIGHT and DUST relate
- The two different forms sponsorship takes, standing designation vs. per-transaction fee-splitting and when each makes sense
- How the fee-splitting flow actually works mechanically (balancing a transaction in two scoped steps, combined into one before it ever reaches the network)
- Why a sponsored transaction doesn’t leak a link between the sponsor and the user, based on what each party’s keys actually sign
- The capacity ceiling sponsors need to plan around, since DUST isn’t an infinite resource even for a well-funded backend
If you’re designing onboarding for a Midnight DApp, or just trying to get a clear mental model of how fees work on the network, hoping this saves some of the digging I had to do putting it together: DUST Sponsorship: How Midnight Lets New Users Transact Without Holding a Single Token | Eightblock
Happy to go deeper on the implementation side in the comments if there’s interest — curious whether others here are using designation-based sponsorship, per-transaction sponsorship, or a mix of both in production.