NFT / Digital2021
CryptoPochi
Contents & work details
- Archive year
- 2021
- Type
- NFT / Digital
- Artist
- Che-Yu Wu 吳哲宇
- Form
- Interactive generative NFT: each one is a p5.js and Matter.js web page, draggable and driven together by on-chain events
- Chain and contract
- Ethereum, own ERC-721 contract 0x1111…f793 (deployed 5 September 2021); OpenSea for display and secondary sales
- Editions
- 732, numbered #0 to #731; the contract ceiling was 1,500, and the team closed the sale at the 732nd mint, thirty-four hours in
- Release
- Early mint for Sea Ham holders at 15:00 UTC on 5 September 2021 (0.5 ETH); public Dutch auction from 15:00 on 6 September, 8 ETH falling a step every half hour to 2 ETH after six hours; the last one minted at 00:47 on 7 September
- On-chain broadcast
- Contract event PochiAction: jump, say something, go ham, clear; holders pay only gas, others 0.03 ETH; 94 events from 6 September 2021 to 21 June 2023
- Origin
- The daily sketch Sleepy Pochi of 26 May 2020: a Matter.js soft-body test that flops back down when you drag it; with a nod to LocoRoco
- Licence
- CC BY-NC-SA 4.0
- Database
- The 732 hashes, trait shares, palettes and re-run captures
Overview
They are a crowd of soft, squishy creatures, each a little like you or me, and each of them cynical: some look down on the others, some laugh, some follow your cursor around, one wears a crown with an impatient face. Their bodies are physics simulations; drag one and it stretches, let go and it flops back down, unwilling. Their faces are expressions, hair, glasses and accessories grown at random, and with the background and the palette, thirty-two numbers decide one Pochi. In 2021, after Strange Robots had been copied, we wanted to put something out quickly; the Art Blocks queue was out of reach, so with an engineer in Hong Kong I wrote our own contract and made them into animated NFTs you could play with in the browser. What fascinated me then was putting a whole web page inside the frame of an NFT, interactive, one of the very early interactive NFTs.
Pochis can also do something no other NFT could: all the Pochis in the world can act together. Anyone can send an event to the contract, “everybody jump” or “say this”, and every Pochi open on a screen anywhere jumps at the same moment or says the line, a decentralised broadcast, a pet raised in common. Ninety-four lines were written on chain forever: from “Hello World!” on 6 September 2021 through “Hams 🤝 Pochis”, “Hello Taiwan”, “MetaverseTaipei 2022” and “hello nycu” to the last, “Rugged”, on 21 June 2023. All seven hundred and thirty-two were re-run one by one with the 2021 minting build and kept in the database page; every one can still be opened and dragged.
#0, dragged about (16 s)
From Sleepy Pochi to a Pochi that talks
In May 2020 the pandemic kept everyone at home and I made one piece a day for OpenProcessing. The one on 26 May was a Matter.js soft-body test: a wobbly, squishy creature that never seemed to get enough sleep, and flopped back down unwillingly when you dragged it about. Its eyes were the hard part, placed at an offset from the midpoint and angle of two particular nodes, blinking on a remainder of the frame count; the little circles beside it are the body’s nodes, which the physics engine uses for collisions. I called it Pochi.
A year later it became seven hundred and thirty-two. The hash becomes thirty-two numbers: the first decides how many, one to three; then the variation, one of eight palettes, one of twelve backgrounds, and about a two percent chance of belonging to the Hamily; then each Pochi draws its own emotion, hair, eyes, accessory and species, and among the species are Mini, Square, Squiggly, Prisoner, Giant and Ham Fan. Sea Ham holders went first, one Pochi reserved for each Ham, and those who had drawn craft hams received an airdrop first; the site opened with “Hey, they are Pochis. They are you and me.”

0x9f08f44a2e323770344ca998ed929ca63231b52cf5cb332010b14915b3e9a1d5- palette
- Swift16%
- background
- Circles11%
- count
- 141%
- Hamily
- no97%
- Pochi 1 emotion
- Impatient6%
- Pochi 1 hair
- Cap9%
- Pochi 1 eyes
- None84%
- Pochi 1 accessory
- None41%
- Pochi 1 species
- Normal92%

0x9675bc16205d2d61cf67f5494ab6fafb6deb03c256149ab25e6239b56d6096e2- palette
- Playful16%
- background
- Dots11%
- count
- 235%
- Hamily
- no97%
- Pochi 1 emotion
- Grumpy11%
- Pochi 1 hair
- Flower7%
- Pochi 1 eyes
- None84%
- Pochi 1 accessory
- Tie18%
- Pochi 1 species
- Normal92%

0xefe3cc9eb7173975f065045093c62bf862ce4aec9095fbd224ccde68c99fa716- palette
- Swift16%
- background
- Wave6%
- count
- 324%
- Hamily
- yes3%
- Pochi 1 emotion
- Cool14%
- Pochi 1 hair
- Afro21%
- Pochi 1 eyes
- None84%
- Pochi 1 accessory
- Bow tie15%
- Pochi 1 species
- Normal92%

0x2cbaab25334b73d9ec87c451d736664a9ce2fe0e4f3eb89bff299cb74f79afbb- palette
- Black & white10%
- background
- Circles11%
- count
- 235%
- Hamily
- no97%
- Pochi 1 emotion
- Sad14%
- Pochi 1 hair
- Flower7%
- Pochi 1 eyes
- None84%
- Pochi 1 accessory
- None41%
- Pochi 1 species
- Normal92%

0x40de8efdf6f92fa4fa2f4cb0f9d128470cd9ad2ced1790528eda1ccc235f7bca- palette
- Playful16%
- background
- Space4%
- count
- 324%
- Hamily
- no97%
- Pochi 1 emotion
- Blanky17%
- Pochi 1 hair
- Crown20%
- Pochi 1 eyes
- None84%
- Pochi 1 accessory
- None41%
- Pochi 1 species
- Normal92%

0x97038df8c8c411ef1a0a9179582036837a1c2e201e54c8e6f45fe21b1a1703d1- palette
- Classic16%
- background
- Snow5%
- count
- 141%
- Hamily
- no97%
- Pochi 1 emotion
- Shocked14%
- Pochi 1 hair
- Flower7%
- Pochi 1 eyes
- None84%
- Pochi 1 accessory
- Bow tie15%
- Pochi 1 species
- Giant<1%

0x7ebf6b438cbb0e063703c43ab661a38cdaeacd8c082cc8681dfed4f2e318265b- palette
- Vibrant10%
- background
- Grid12%
- count
- 324%
- Hamily
- no97%
- Pochi 1 emotion
- Blanky17%
- Pochi 1 hair
- Flower7%
- Pochi 1 eyes
- None84%
- Pochi 1 accessory
- Button5%
- Pochi 1 species
- Prisoner2%

0xfbf671fd8887beff99470716738305bcb091954d57d582a93b1cf6f080c53832- palette
- Playful16%
- background
- Sea Ham4%
- count
- 324%
- Hamily
- no97%
- Pochi 1 emotion
- Grumpy11%
- Pochi 1 hair
- Afro21%
- Pochi 1 eyes
- Eyeshade8%
- Pochi 1 accessory
- None41%
- Pochi 1 species
- Normal92%
A share is the count of that trait among the seven hundred and thirty-two; the pictures are captures from the 2021 minting build re-run in September 2026, the pose slightly different from the original, the genes identical.
- 01
Someone sends an action
Press Pochi Please Jump, Say Something, Go Ham or Clear on the site; holders pay only gas, others 0.03 ETH to keep spam down
- 02
The event goes on chain
The contract emits a PochiAction event: time, type, up to twenty characters of text, sender
- 03
Every open Pochi reads it
Every open page polls the contract’s events and lines up the actions of the last thirty minutes
- 04
They do it together
Jump: once every three seconds, five times; say: the line shows for ten seconds; go ham: turn into a ham for fifteen seconds; clear: reset everything
- 05
It stays on chain
Ninety-four events forever: seventy-five sayings, eleven go-hams, six jumps, two clears, from thirty-two addresses
No Socket.io and no server in between: each Pochi reads the chain for itself.
- 01
2021-09-06
“Hello World!”: The first, from the team
- 02
2021-09-06
“Hams 🤝 Pochis”: Sea Hams and Pochis shake hands
- 03
2021-09-06
“I want to sleeeeeep”: It always wanted to sleep
- 04
2021-09-07
“Sold out!!!”: The day the sale closed
- 05
2021-09-07
“Hello Taiwan”
- 06
2021-09-07
“We Got Checkmark!”: Verified on OpenSea
- 07
2021-09-17
“gm mfers”: Sent three times
- 08
2021-11-25
“Hammy Thanksgiving”
- 09
2022-04-01
“MetaverseTaipei 2022”: On the eve of Chaos Laboratory
- 10
2022-04-28
“hi Cheyu,hug~”
- 11
2023-05-04
“hello nycu”: From a class at NYCU
- 12
2023-06-21
“Rugged”: The last line
All ninety-four lines and their times are in the appendix of the database page; senders’ addresses stay on chain.
Afterwards
The Pochi contract was not written by me but by that engineer in Hong Kong; I took a detour over it, spending a great deal of time learning contracts without ever finishing one of my own. He told me this wave would never come again and that in my place he would quit his job to ride it; later I did quit. In May 2022 the Pochis jumped across the five walls of Chaos Laboratory; in 2025 they gained thirty-six voice clips, a backing track and an eye for your posture: raise your hands above your shoulders and they jump, touch one and it speaks. In September 2026, with platforms beyond fxhash no longer reliable either, we moved the 2021 build back to our own domain and re-ran all seven hundred and thirty-two, every trait matching the record on chain.
The first eleven are outputs of the 2025 landscape build (four to six Pochis); the last three are square renders from 2022 in the composition of the 2021 build. Click to enlarge.
The 2022 meetup: the broadcast demonstrated
- 01
26 May 2020
The daily sketch Sleepy Pochi: a Matter.js soft-body test
- 02
2021
Strange Robots is copied; the Art Blocks queue is out of reach, so an own contract it is
- 03
5 September 2021
Contract deployed; early mint for Sea Ham holders at 15:00 UTC, 278 in the first hour
- 04
6 September 2021
00:56, the first line, Hello World!, goes on chain; 15:00, the public Dutch auction
- 05
7 September 2021
00:47, the 732nd; 02:27, the team sets the sale time to the far future and closes
- 06
11 September 2021
Broadcast fee set: free for holders, 0.03 ETH for others
- 07
April to May 2022
The broadcast demonstrated at a meetup; the Digital Creatures section of Chaos Laboratory
- 08
21 June 2023
The last on-chain action: Rugged
- 09
June 2025
The landscape build: thirty-six voice clips, a backing track, pose tracking
- 10
20 September 2026
The 2021 minting build self-hosted; all 732 re-run and the database published
Original work record
Original text: the 2021 cryptopochi.com home page, What are Pochis? (kept verbatim); editions, contract and mechanism were checked against the chain in September 2026, see above.
CryptoPochis are mysterious creatures that capture different emotions in your daily life. Their faces speak for themselves. They simply lie on the ground and play all day. We catch and wrap them as NFTs for you to play with.
- LiveThe 2021 minting build: open any one
- LiveThe 2025 landscape build: sound and pose tracking
- DatabaseThe 732 database: hashes, traits, palettes and the ninety-four lines
- Daily sketchThe origin: Sleepy Pochi
- SiteThe original site: Hey, they are Pochis. They are you and me.
- On chainThe contract 0x1111…f793
- PlatformThe collection
- CREATIVECODING.INOur siteJust watching relaxes you: healing generative art from the pandemic
- FilmThe Pochi segment of the meetup talk: the broadcast demonstrated on OpenSea (from 39:37)
- BeforeFamily from the same year: Sea Ham and Strange Robots
- ShownChaos Laboratory: Pochis jumping across five walls
Notes are live things and our own pages, tags the outside platforms and records; every one opens.
Credits
- Artist, generator
- Che-Yu Wu (p5.js 1.0, Matter.js 0.14)
- Contract and front end
- frenfish (GitHub; the Solidity 0.8.4 contract, the metadata service and the mint page)
- Community
- Hamily: early mint and airdrops for Sea Ham holders, Discord and Twitter @CryptoPochi
- The 2025 landscape build
- Voice clips and pose tracking (ml5 bodyPose) added; MONOLAB
- Self-hosting and database, 2026
- The 2021 minting build revived with five small patches; all 732 re-run, every trait matching the on-chain metadata
Context & sources
Exhibitions, research & collaborations
Contact the artist


