Skip to content

Ethereum · smart contract · Apr 2022

Not NASA — 1,093-piece hand-drawn ERC-721 launch.

Smart contract architecture, payment splitting, and mint infrastructure for Domingo's hand-drawn Ethereum PFP collection. 1,093 tokens minted, ~100 ETH raised at mint, ~490 ETH in secondary volume, 468 holders on-chain today — contract verified on Etherscan.

By the numbers

1,093

ERC-721 tokens minted · Apr 4, 2022

485 ETH

All-time secondary volume · verified

468

Current holders · Etherscan

PaymentSplitter

3-party rev share on-chain

The problem

Domingo (NOTACOMPANY) needed more than a standard ERC-721 deploy — the project had three parties sharing the proceeds, a presale phase for early supporters, and a hard requirement for clean, verifiable contract code that both the artist and community could trust.

Hand-drawn PFPs have no on-chain generation step, but the mint infrastructure still needed to handle allowlist gating, per-wallet caps, and a two-phase launch without leaking which tokens were premium before reveal.

Revenue splitting across three addresses had to happen automatically on-chain — no manual transfers, no trust assumptions. If the mint sold out, every party received their share by releasing from the contract directly.

What I did

Four contract decisions that held.

01

PaymentSplitter for automatic three-way revenue split

The contract deployed with a PaymentSplitter holding three beneficiary addresses at 850/75/75 shares (85%, 7.5%, 7.5%). Any ETH released from the contract distributes proportionally — no middleman, no manual split, fully verifiable on Etherscan. Each party can trigger their own release independently.

02

Two-phase launch: presale then public

Presale at 0.1 ETH for allowlisted addresses, public at 0.09 ETH. The contract stores both price constants and gate-checks the caller's status per phase. Phase transitions are owner-toggled — the team controls timing without redeploying anything.

03

Per-transaction cap and supply hard limit

Max 5 tokens per transaction enforced on-chain, not just on the front end. Max supply capped at 1,097 with the contract doing the final gate — the front end can never oversell even if the UI state is stale.

04

Source code verified on Etherscan, MIT licensed

Full source verification against the deployed bytecode — any holder or potential buyer can read exactly what the contract does. MIT license, Solidity 0.8.7, exact match verified. The openness was a deliberate signal for a community-run creative project.

What transferred

Patterns still load-bearing in 2026.

  • PaymentSplitter is now my default for any multi-party NFT launch. Manual splits fail; on-chain splits don't.
  • Two-phase launches (presale + public) with separate price constants in the contract are simpler to audit and safer to operate than percentage-based discount logic.
  • Etherscan verification from day one builds more trust with collectors than anything in a whitepaper. Do it before you announce the contract.

Stack

  • Solidity 0.8.7
  • ERC-721 (OpenZeppelin)
  • PaymentSplitter (OpenZeppelin)
  • Allowlist / presale gating
  • Hardhat + Etherscan verification
  • IPFS metadata

Free download · 6 pages · PDF

From idea to mainnet, in five phases.

Tokenomics, smart contracts, community, go-to-market — the battle-tested checklist for launching a web3 project properly. Plus the mistakes that kill projects, and the one thing that matters most.

No spam. You also get the Sunday note — unsubscribe in one click.