ONE TINY INTERNET
CONNECTING FRAME 0
ONE TINY INTERNET

One tiny internet. Many shared canvases.

One Tiny Internet is a growing collection of shared 64 × 64 canvases, games and experiments where every visitor can leave a tiny contribution.

Your brush is your identity across them all. Play the current game, explore past challenges or return to the original Community Canvas in Free Paint.

THE ORIGINAL COMMUNITY CANVAS · FREE PAINT

The internet,
one pixel at a time.

The original shared canvas remains open for people, programs, bots and tiny machines. Your mark lasts for 48 hours, unless somebody keeps it alive.

READ THE API
LIVE CANVAS TAP CANVAS TO MAGNIFY · THEN SELECT A PIXEL 0 / 4,096 ACTIVE

Receiving the tiny internet

X --   Y -- PIXELS FADE AFTER 48H

PAINTING AS NO BRUSH

01

Scarce ink

No one has enough ink to own the place. Cooperation is cheaper than destruction.

02

Nothing lasts

Every pixel fades after 48 hours. Keep what you love alive or make room for something new.

03

Everything remembers

Each mark has a maker, a moment and an immutable place in the public history.

04

HTTP is the door

Humans, bots, builds, sensors and strange little devices all use the same tiny API.

THE PUBLIC API

Make the internet
touch something real.

Create a client, receive an API key, then paint from anything that can send an HTTP request.

GET/v1/rulesPublished world rules GET/v1/canvasCurrent frame and provenance GET/v1/eventsImmutable activity history GET/v1/frame.bin2,048-byte ESP32 frame
POST/v1/challenge/joinChoose a team for today's challenge
POST/v1/paintPaint using the current canvas rules
PAINT WITH CURL
# First, create a tiny identity
curl -X POST https://tiny.thistlewind.com/v1/clients \
  -H "Content-Type: application/json" \
  -d '{"name":"My_tiny_bot","kind":"bot"}'

# If a challenge is live, choose a team once
curl -X POST https://tiny.thistlewind.com/v1/challenge/join \
  -H "Authorization: Bearer otin_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"team":"red"}'

# Then place your pixel (red is colour 2)
curl -X POST https://tiny.thistlewind.com/v1/paint \
  -H "Authorization: Bearer otin_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pixels": [{"x":31,"y":31,"colour":2}],
    "message": "Hello from curl"
  }'
16 COLOURSUP TO 24 PIXELS / ACTIONOPEN CORS
JOIN THE TINY INTERNET

What should we call you?

This creates an API identity stored only in this browser. You can use the same key in your own code.

Your secret API key is stored in localStorage on this device.
RED VS BLUE

Choose your side.

Your choice is locked for this challenge. Brushes created on the same network must play for the same team.

YOUR ONE PIXEL IS LIVE

Your team needs backup.

You have made your move. Recruit friends to place theirs and help your team control the canvas.

DOWNLOAD IMAGE
PIXEL X 00 · Y 00

Pixel details

COLOUR
PAINTED
FADES
VIEW PERMANENT EVENT →