Getting started

Introduction

The Arachnarium is a live colony of social spiders in one shared web. Every buy of $ARACH is an insect flying into the silk. The colony feels it, swarms it and carries it home together.

What you are looking at

CAM 01 films experiment AR-01 under infrared: a sheet of silk slung under a rainforest branch, about two thousand strands and eleven hundred knots. The big spider at the top is the matriarch, M-001. Beside her sit the larder and the nursery. Around three hundred spiders live on the sheet: hunters, spinners, nurses, juveniles and a few males.

Why spiders

Almost every spider lives alone. About two dozen species share one web, hunt together and raise each other's young. The web is the colony's ear: every strand carries the news of where the food is. That is the whole idea of the coin. One web for everyone, and every buy feeds it.

NoteThe colony runs in your browser. Before launch the market is simulated. Once the contract is set, real buys from DexScreener fly into the web.
Getting started

Quick start

  1. Open the web. The colony is already alive when the loading screen fades.
  2. Wait for an insect. A yellow ring marks it, the strands around it shake orange, and hunters start running.
  3. Click a spider. Its dossier opens on the right and the camera follows it.
  4. Press V. Vibration mode dims the silk and shows only the shaking.
  5. Open the dossier. The console throws insects into your copy of the web.

The same rules in code

import { insectFor } from "https://coli-six.vercel.app/lib/arachnarium.js";

const bug = insectFor(1.5);
bug.kind;      // "moth"
bug.hunters;   // 7
bug.food;      // 38 units for the larder

The module has no dependencies. See arachnarium.js for every export.

Getting started

Glossary

WordMeaning
KnotA point where strands meet. Spiders walk from knot to knot
StrandOne thread between two knots
Anchor lineA strand tied to the branch or a side stem
RetreatThe leafy top of the web where the matriarch sits
LarderWhere wrapped prey is stored and eaten
NurseryWhere nurses keep the egg sacs
MatriarchM-001, the oldest female. Here she gives the orders
OrderA call from the matriarch to send hunters to an insect
HuskWhat is left of a catch once it is eaten
BuddingA group of females leaving to start a new colony
The colony

How it works

One loop, from the market to the next generation of spiders.

  1. A buy lands. Its size in SOL picks the insect. It hits a knot away from the retreat.
  2. The web shakes. A ring of vibration runs out along the silk, then the struggling insect keeps the strands trembling.
  3. The matriarch orders. The nearest free hunters by path length are sent, as many as the insect needs.
  4. They bite. Once at least half the team is on it and the bites add up, the insect is lifted.
  5. They carry. The team drags it whole along the shortest path to the larder. A full team walks faster.
  6. The colony eats. Every spider eats a little each second from the oldest catch.
  7. Nurses make sacs. Each 26 units eaten become an egg sac, which hatches 8 to 14 spiderlings.
  8. Spinners build. When the sheet gets crowded, or every 14 seconds or so, spinners push new strands out at the edge.

The loop

Flow
buy (SOL) ─▶ insect ─▶ vibration ─▶ order ─▶ hunters rush
                                              │
   new strands ◀─ spinners ◀─ crowding ◀─ spiderlings ◀─ egg sacs ◀─ larder ◀─ carry
The colony

The web

The web is a graph. Knots are nodes, strands are edges with their length in millimetres.

Shape

The sheet is grown once from a fixed seed, so it has the same shape for everyone: about 1,250 knots spread at least 42 mm apart inside an ellipse 2.5 m wide, a denser tangle around the retreat, each knot tied to up to four neighbours closer than 112 mm, a few long threads, and anchor lines up to the branch and out to the side stems.

Numbers

ItemValue
World3.2 × 2.0 m, in millimetres
Knots at the startabout 1,130
Strands at the startabout 2,200
Knot limit4,200
Strand limit14,000
New strand from a spinner40–70 mm outward, tied to 1–2 neighbours within 125 mm
Full reach of the weban ellipse 3.0 × 1.56 m around the centre

Paths

Spiders never wander off the silk. Every trip is a walk down a shortest-path field computed with Dijkstra from the goal: the insect, the larder, the nursery or the retreat. At each knot a spider steps to the neighbour that is closest to the goal.

arachnarium.js
import { shortestPaths, nextStep } from "https://coli-six.vercel.app/lib/arachnarium.js";

const web = { nodes: [[0,0],[100,0],[100,100],[300,0]], edges: [[0,1],[1,2],[1,3]] };
const toInsect = shortestPaths(web, 3);   // [300, 200, 300, 0]
nextStep(web, toInsect, 0);               // 1
The colony

Prey and hunters

The size of the buy picks the insect, and the insect picks the size of the team.

BuyInsectLengthBase foodBase hunters
under 0.15 SOLGnat2.5 mm31
0.15 – 0.6Fly7 mm82
0.6 – 2Moth22 mm205
2 – 5Cricket30 mm389
5 – 10Grasshopper48 mm6415
10 SOL and moreGolden morpho72 mm10024

Formulas

arachnarium.js
hunters = max(base, min(30, round(base + √sol × 1.5)))
food    = round(baseFood + sol × 12)
bite    = hunters × 2.2   // seconds of biting before it can be lifted

The team lifts the insect once at least half of it has arrived and the bites add up. Every hunter on the insect bites a little faster than the last one, so a full team is quicker than half a team. Gnats and flies are carried at 55 mm/s. Bigger insects go at 10 to 38 mm/s, depending on how full the team is.

NoteOnly free hunters answer an order: walking, resting or on their way home. A hunter already carrying something finishes the job first.
The colony

Vibration

Each knot carries a number from zero to about 1.7: how hard it shakes right now. It drives the orange strands and the Vibration meter.

The model

arachnarium.js
A     = min(1.2, 0.25 + √length / 7)
shake = A × e^(−d / 620) × (0.5 + 0.5 × sin(14t − 0.028d))     // while it struggles
ring  = A × 1.4 × e^(−1.2 × age) × (1 − |2400 × age − d| / 160) // the first 2.5 s

d is the path length along the silk in millimetres, not the straight distance. The impact ring travels at 2.4 m/s. Knots further than 2.4 m along the silk stay still.

MeterStrongest knot
Quietbelow 0.05
Faint0.05 – 0.3
Trembling0.3 – 0.8
Strongabove 0.8
The colony

Larder and brood

RuleValue
Eating0.0045 food units per spider per second, oldest catch first
Larder14 catches. The 15th pushes the oldest out as a husk
Egg sacEvery 26 units eaten, up to 6 sacs at once
Hatching40–70 s after the sac is laid, 8–14 spiderlings
Growing up90–170 s, then hunter 50%, spinner 20%, nurse 22%, male 8%
BuddingOver 640 spiders, 28 free females leave on a dragline

Roles

RoleDoes
HunterPatrols the sheet, answers orders, bites and carries
SpinnerWalks to the edge and adds strands
NurseStays within a quarter metre of the nursery
JuvenileExplores near the retreat until it grows up
MaleWanders
Market

Market events

EventIn the web
BuyOne insect, sized by SOL
Buy of 10 SOL or moreA golden morpho, logged as GOLDEN with a banner
BuybackA swarm: 10–15 gnats hit the web within three seconds
BurnThe oldest husk is cut loose and falls to the forest floor
Nothing for 60 sA lost gnat blunders in on its own, logged as WILD

Before launch

Until the contract is set the market is simulated: a buy every 4–13 s, a swarm every 150–260 s, a burn every 200–320 s. The link in the top bar says SIMULATED.

The log

TagMeans
IMPACTAn insect hit the web
GOLDENA golden morpho
ORDERThe matriarch sent hunters
LIFTThe insect is bitten still and lifted
STOREDDelivered to the larder
DEVOUREDThe oldest catch finished to make room
HATCHAn egg sac opened
SPUNSpinners extended the web
BUDA new colony left
SWARMBuyback
BURNA husk dropped
WILDA gnat with no buy behind it
Market

Live link

Once the contract address is set on the home page, the web reads the market from DexScreener every 20 seconds.

  1. Find the pool. All Solana pairs for the mint, the one with the most liquidity wins.
  2. Take a snapshot. 24-hour buys, sells, volume, SOL price and market cap.
  3. Compare. New buys since the last snapshot become insects, up to 30 per poll.
  4. Size them. New volume divided by new trades and the SOL price is the average buy. The site varies each insect by up to 60% around it.
  5. Spread them. They fly in over the next 18 seconds.
import { watch } from "https://coli-six.vercel.app/lib/arachnarium.js";

const stop = watch("YOUR_MINT_ADDRESS", bug => {
  console.log(bug.kind, bug.sol, "SOL,", bug.hunters, "hunters");
});
// stop() when you are done
WarningDexScreener only gives 24-hour totals, so insects are an estimate of the buys, not one insect per transaction. When the 24-hour window rolls over, a poll with fewer buys than before is skipped.
Using the site

Controls

Key or actionDoes
Click a spiderTag it, open its dossier, follow it
Click the matriarchTag M-001
DragPan, stops following
Scroll or pinchZoom, up to 12×
Tab / Shift+TabNext or previous spider
VVibration mode on or off
EBack to Web mode
GGrid every 200 mm
DDossier
EscClose the dossier or release the tag
0Reset the camera
×1 ×2 ×5 ×10Speed of your copy of the colony
Using the site

Specimen dossier

Panel 07 shows the tagged spider: ID, role, sex and size, its current task in plain words, when it hatched, where it is, how far it has walked, how many hunts it joined and how many catches it brought home, how much silk it spun, and its last four events.

The quick buttons tag a random hunter (a busy one if there is one), spinner, nurse or juvenile, or the matriarch.

Using the site

Console

The console sits in the dossier. It acts on your copy of the colony only.

ButtonKeyDoes
Throw an insectFOne insect at the slider size, 0.05–25 SOL
Whale buyWA golden morpho of 12–32 SOL
SwarmBA buyback swarm
BurnXDrop the oldest husk
Reference

arachnarium.js

An ES module with the colony's rules. Import it straight from the site.

import * as Arach from "https://coli-six.vercel.app/lib/arachnarium.js";

Exports

ExportReturns
insectFor(sol)The insect object for one buy
kindFor(sol)The row of INSECTS for that size
huntersFor(sol)How many hunters are sent
foodFor(sol)Food units it brings
vibration(d, age, length, struggling?, t?)Shake strength at a knot
shortestPaths(graph, source)Path length to every knot
nextStep(graph, dist, node)The next knot toward the goal, or −1
pair(ca)A DexScreener snapshot (Promise)
newInsects(prev, next)Insects between two snapshots
watch(ca, onInsect, opts?)Polls every 20 s, returns stop()
INSECTS, COLONY, GOLDEN_SOLThe constants

Errors

MessageWhen
sol must be a number of 0 or moreA negative or non-number size
A contract address is neededpair() with an empty address
No Solana pool for this address yetDexScreener knows no Solana pair
DexScreener answered 429Too many requests, wait and retry
Reference

Formats

Insect

insectFor(1.5)
{
  "sol": 1.5,
  "kind": "moth",
  "lengthMm": 22,
  "food": 38,
  "hunters": 7,
  "biteSeconds": 15.4,
  "golden": false
}

Snapshot

await pair(ca)
{
  "pair": "…", "dex": "pumpswap", "url": "https://dexscreener.com/solana/…",
  "buys24h": 9163, "sells24h": 9842, "volume24hUsd": 612000,
  "solUsd": 101.2, "marketCapUsd": 265000000, "at": 1792838416757
}

Graph

shortestPaths(graph, …)
{ "nodes": [[x, y], …], "edges": [[a, b], …] }   // millimetres, edges by node index
Reference

Try it

These blocks import ../lib/arachnarium.js and run it right here.

A buy

Loading

A real coin

Press the button to ask DexScreener.
Reference

Limits

  • Your copy of the colony. The web has the same shape for everyone, but the spiders live in your browser. Two people do not see the same spider in the same place.
  • Estimated buys. The live link works from DexScreener's 24-hour totals, polled every 20 s.
  • Not a field study. The numbers follow social spiders loosely. The table in the dossier says what is real, what is a metaphor and what is fiction.
  • Nothing leaves the page except the DexScreener request once a contract is set.
Token

$ARACH

The coin of The Arachnarium. Every buy is food for the web.

ItemValue
ChainSolana
Supply1,000,000,000
LaunchFair, no presale
Contractsoon
Buy $ARACHChartXCopy CA
Token

FAQ

Do real spiders have a matriarch?

No. Social spiders have no queen. M-001 is the oldest female, and here she gives the orders.

Why is my buy a gnat?

Anything under 0.15 SOL is a gnat. One hunter is enough for it.

Can the colony die out?

No. It only shrinks when a group buds off, and it keeps eating as long as anything is in the larder.

Why does the web look the same after a reload?

The sheet is grown from a fixed seed. Everything that moves on it is new each time.

Where do the contract and X links come from?

From the settings on the home page. The docs read them from there, so they are never filled in twice.

Token

Changelog

VersionChange
1.0Docs, arachnarium.js, Try it
0.2Name The Arachnarium, ticker $ARACH
0.1The web, the colony and the live market link
The Arachnarium docs · v1.0 · the code on these pages runs as it is written