← Back to work

NFT / Digital2021

CryptoPochi

A demonstration of the 2025 landscape build: four to six Pochis on a dotted ground, poked, dragged and lifted. Muted loop; the section with sound is below.Muted loop
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
Original page & interactive experience

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)

The first Pochi: Swift palette, circles, a cap, impatient. Dragged about in a recording from June 2023; each time it flops back down, unwilling.

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.”

CryptoPochi #0: The first: Swift palette, circles, a cap, impatient
#0CryptoPochi輕快
hash0x9f08f44a2e323770344ca998ed929ca63231b52cf5cb332010b14915b3e9a1d5
42e2b8f3dfbf2d82b707004deb8a90
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%
CryptoPochi #731: The last: two of them, Playful palette, dots, a flower, grumpy
#731CryptoPochi玩心
hash0x9675bc16205d2d61cf67f5494ab6fafb6deb03c256149ab25e6239b56d6096e2
e9ce2cbf211ef9dc5c69a197e5f993
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%
CryptoPochi #393: Hamily: three of them on waves
#393CryptoPochi輕快
hash0xefe3cc9eb7173975f065045093c62bf862ce4aec9095fbd224ccde68c99fa716
42e2b8f3dfbf2d82b707004deb8a90
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%
CryptoPochi #86: Black and white, two of them
#86CryptoPochi黑白
hash0x2cbaab25334b73d9ec87c451d736664a9ce2fe0e4f3eb89bff299cb74f79afbb
000000ffffff
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%
CryptoPochi #54: Space: gravity near zero, three of them drifting
#54CryptoPochi玩心
hash0x40de8efdf6f92fa4fa2f4cb0f9d128470cd9ad2ced1790528eda1ccc235f7bca
e9ce2cbf211ef9dc5c69a197e5f993
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%
CryptoPochi #64: Giant species in the snow
#64CryptoPochi經典
hash0x97038df8c8c411ef1a0a9179582036837a1c2e201e54c8e6f45fe21b1a1703d1
083d77fa664aebebd3f95738f4d35eee964b
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%
CryptoPochi #27: Prisoner species on a grid
#27CryptoPochi鮮豔
hash0x7ebf6b438cbb0e063703c43ab661a38cdaeacd8c082cc8681dfed4f2e318265b
262626acbfa4ff1b1ce2e8ceff7f11
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%
CryptoPochi #26: Sea Ham background, three of them
#26CryptoPochi玩心
hash0xfbf671fd8887beff99470716738305bcb091954d57d582a93b1cf6f080c53832
e9ce2cbf211ef9dc5c69a197e5f993
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.

  1. 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

  2. 02

    The event goes on chain

    The contract emits a PochiAction event: time, type, up to twenty characters of text, sender

  3. 03

    Every open Pochi reads it

    Every open page polls the contract’s events and lines up the actions of the last thirty minutes

  4. 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

  5. 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.

  1. 01

    2021-09-06

    “Hello World!”: The first, from the team

  2. 02

    2021-09-06

    “Hams 🤝 Pochis”: Sea Hams and Pochis shake hands

  3. 03

    2021-09-06

    “I want to sleeeeeep”: It always wanted to sleep

  4. 04

    2021-09-07

    “Sold out!!!”: The day the sale closed

  5. 05

    2021-09-07

    “Hello Taiwan”

  6. 06

    2021-09-07

    “We Got Checkmark!”: Verified on OpenSea

  7. 07

    2021-09-17

    “gm mfers”: Sent three times

  8. 08

    2021-11-25

    “Hammy Thanksgiving”

  9. 09

    2022-04-01

    “MetaverseTaipei 2022”: On the eve of Chaos Laboratory

  10. 10

    2022-04-28

    “hi Cheyu,hug~”

  11. 11

    2023-05-04

    “hello nycu”: From a class at NYCU

  12. 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.

Sleepy Pochi, the daily sketch of 26 May 2020, OpenProcessing #905319
A render from January 2022: three of them, one in a tie

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.

Thirty-six voice clips at random, and a sound each time a hand touches one. It starts muted as it enters the viewport; press Sound on at the top right to listen.

The 2022 meetup: the broadcast demonstrated

The 2022 meetup talk: Pochi and the on-chain broadcast (from 39:37)Open in a new tab
  1. 01

    26 May 2020

    The daily sketch Sleepy Pochi: a Matter.js soft-body test

  2. 02

    2021

    Strange Robots is copied; the Art Blocks queue is out of reach, so an own contract it is

  3. 03

    5 September 2021

    Contract deployed; early mint for Sea Ham holders at 15:00 UTC, 278 in the first hour

  4. 04

    6 September 2021

    00:56, the first line, Hello World!, goes on chain; 15:00, the public Dutch auction

  5. 05

    7 September 2021

    00:47, the 732nd; 02:27, the team sets the sale time to the far future and closes

  6. 06

    11 September 2021

    Broadcast fee set: free for holders, 0.03 ETH for others

  7. 07

    April to May 2022

    The broadcast demonstrated at a meetup; the Digital Creatures section of Chaos Laboratory

  8. 08

    21 June 2023

    The last on-chain action: Rugged

  9. 09

    June 2025

    The landscape build: thirty-six voice clips, a backing track, pose tracking

  10. 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.

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
1 / 0