Getting started

Introduction

Leechcraft is a Solana program that lets you attach a leech to somebody else's wallet. While it stays attached, every meme that wallet buys pays a 1% cut, and the cut is split inside the same transaction.

Unattached leechLeech latched onto a walletGorged leech

What it is

A leech is a small account bound to one host wallet. It has nobody who can sell it, no marketplace listing and no withdraw function. It does one thing per fill: it takes 1% of the buy, pays half of it to whoever attached it, burns 40% and drops 10% into the jar.

A leech is teal while it is unattached and turns purple the moment it latches. It grows through four stages by how much it has skimmed, goes pale when its host stops buying for a week, and only comes off when the host pays salt.

The short version

  • Pay the epoch price in $LEECHCRAFT to attach a leech to a host wallet. The whole price burns.
  • Every meme the host buys pays 1%: 50% to you, 40% burned, 10% to the jar.
  • The leech grows flat → fed → swollen → gorged by total skimmed, never by time.
  • Only the host can salt it, at 2× everything it has taken. All of it burns.
  • There are 2,048 leeches in total, and every 256 of them the next one costs 15% more.

Where to go next

Getting started

Quick start

The sector view on the main page runs the whole program in your browser. No wallet needed, and nothing you do there leaves the tab.

Reading the sector

  • A chest is a host wallet. It bounces on every meme buy.
  • A purple leech with a lime mouth is attached and skimming. Its size is its stage.
  • A teal leech has just been attached and is still crawling to its host.
  • A grey leech is pale: its host has not bought anything for seven days.
  • Gold cubes fly from the chest into the mouth on every buy, then split: lime to the attacher, orange into the incinerator, gold into the jar.

Five steps

  1. Inspect a host. Open the sector view and click any chest. The Inspector shows the wallet, its leech, lifetime skim, salt price and a bar per recent fill.
  2. Attach. Press A or Attach leech. A teal leech crawls to a free host, latches, turns purple and starts skimming.
  3. Feed it. Press W for a whale buy on the selected host and watch the cut route 50 / 40 / 10 in the Fee router panel.
  4. Speed up time. Switch to ×5 or ×10. One second is one hour of sector time at ×1, so pale and stage changes show up quickly.
  5. Salt. Press S to play the host's side. Salt rains on the leech, it falls off and its salt price burns.
NoteUntil the contract is set, the market panel and host buying are simulated and labelled SIMULATED. Once the contract is in, price, market cap and real $LEECHCRAFT buys come from DexScreener every 20 seconds and show up as gold LIVE BUY entries in the program log.
KeysA attach · W whale buy · S salt · Tab next host · F follow · O overview · scroll to zoom, drag to pan.
Getting started

How it works

Four instructions make up the whole program. There is no staking, no claiming and nothing to babysit.

1. Attach

You name a host wallet and pay the current epoch price. The program checks that the host bought a meme in the last 24 hours and does not already carry a leech, burns the price and opens the leech in the same slot.

2. Skim

From then on, every meme buy the host makes is skimmed 1% before the output lands. Sells are never skimmed.

3. Split

The cut is split in the same instruction: half to the attacher, 40% swapped to $LEECHCRAFT and burned, 10% to the jar. If any leg fails to settle, the whole fill reverts.

4. Salt

Only the host can remove a leech, by paying twice its lifetime skim in $LEECHCRAFT. All of it burns and the slot frees up for the next leech.

WhoSignsGets
Attacherattach50% of every cut, for as long as the leech stays on
HostTheir own meme buys, and salt if they want outBuys that land 1% lighter
Everyone holding $LEECHCRAFTNothing40% of every cut and every salt, burned
The jarNothing10% of every cut, burned at epoch end if unspent
Lifecycle

Attaching a leech

Any wallet that has bought a meme in the last 24 hours is a valid host.

Rules

  • One leech per host. A wallet that already carries one cannot take a second.
  • Self-attach is allowed, but your 50% leg burns instead of paying you.
  • The attach price burns in full. It is set by the ladder and never comes back down.
  • Leeches are not transferable. The attacher's payout follows the wallet that signed attach.

Getting the current price

import { attachPrice, epochOf } from "https://leechcraft.vercel.app/lib/leechcraft.js";

attachPrice(1284);  // 4023 $LEECHCRAFT
epochOf(1284);      // 5  (zero-based, so epoch 6 of 8)
NoteThe host finds out on their next buy, when the fill comes back one percent smaller than the quote. There is no notification, and there never will be.
Lifecycle

The skim

The skim runs on fills, not on intents. When the host buys a meme through any route, 1% of the input is taken before the output lands.

The maths

import { skim } from "https://leechcraft.vercel.app/lib/leechcraft.js";

skim(1000);
// { fill: 1000, cut: 10, attacher: 5, burn: 4, jar: 1 }

skim(1000, { selfAttached: true });
// { fill: 1000, cut: 10, attacher: 0, burn: 9, jar: 1 }

What counts as a fill

  • Meme buys through any aggregator or direct pool are skimmed.
  • Sells are never skimmed. A leech only feeds on appetite.
  • Transfers, staking and stablecoin swaps are not buys and are ignored.
WarningBig fills feed fast. The cut is a flat percentage, so a wallet that buys $9,000 at a time fattens a leech in a week that a $45 scalper takes a year to reach.
Lifecycle

Fee routing

Nothing accrues and nothing has to be claimed. Every cut is split inside the transaction that took it.

The three legs

LegShareDestination
Attacher50%The wallet that signed attach. Burned instead if the attacher is the host.
Burn40%Swapped to $LEECHCRAFT in the same slot and sent to the incinerator.
Jar10%Pays for the program, the indexer and the wall. Unspent balance burns at the end of each epoch.

When a leg fails

If any of the three legs cannot settle, the whole fill reverts and the host keeps their buy. So far this has not cheered anybody up.

Lifecycle

Stages and pale

A leech's stage is a pure function of its lifetime skim. There is no decay and no reset.

FlatFedSwollenGorged

Stage table

StageSkimmedWhat it means
flat< $1,000Fresh. The only window where salt is still cheap.
fed$1,000Found the order flow. The host blames the network.
swollen$10,000Shows up in the host's own analytics tab.
gorged$100,000Done growing. Never done taking.

Pale

A host that goes seven days without a single meme buy turns its leech pale. Pale is a colour, not a stage: nothing is lost, the stage stays, and the colour comes back on the next fill.

stageOf.js
import { stageOf } from "https://leechcraft.vercel.app/lib/leechcraft.js";

stageOf(14208);
// { stage: "swollen", pale: false, nextStage: "gorged", toNext: 85792 }
stageOf(14208, 7);
// { stage: "swollen", pale: true, ... }
Lifecycle

Salting

Salt is the only instruction that removes a leech, and only the host wallet can sign it.

Salt raining on a leech

Price

Salt costs twice the leech's lifetime skim, paid in $LEECHCRAFT at the current rate. The entire amount burns and the leech's slot is freed.

saltQuote.js
import { saltQuote } from "https://leechcraft.vercel.app/lib/leechcraft.js";

saltQuote(14208);  // 28416

After salt

The host wallet is clean and can take a new leech straight away. In practice somebody is usually waiting with one.

WarningSalt is priced on lifetime skim, so it only gets more expensive. A flat leech is the cheapest one a host will ever remove.
Reference

The ladder

2,048 leeches in eight epochs of 256. Each epoch costs 15% more than the last.

EpochLeechesAttach price

When the last leech is attached, a new one only opens when an old one gets salted. The price stays at the epoch-8 level forever.

Reference

Constants

Every number the program uses. They are compiled in and cannot be changed.

NameValueMeaning
SKIM_BPS1001% of every meme buy
SPLIT.attacher0.50Share paid to the attacher
SPLIT.burn0.40Share swapped and burned
SPLIT.jar0.10Share sent to the jar
STAGES0 / 1k / 10k / 100kUSD skimmed to reach flat, fed, swollen, gorged
PALE_AFTER_DAYS7Days without a buy before a leech goes pale
SALT_MULTIPLIER2Salt price = lifetime skim × 2
SUPPLY2,048Leeches that will ever exist
EPOCH_SIZE256Leeches per epoch
EPOCH_STEP0.15Price increase per epoch
BASE_PRICE2,000$LEECHCRAFT for a leech in epoch 1
Reference

Errors

What the program says when it says no.

CodeInstructionMessage
HostNotActiveattachHost has not bought a meme in the last 24 hours
HostTakenattachHost already carries a leech
SupplyExhaustedattachAll 2,048 leeches are attached
NotHostsaltOnly the host wallet can salt its leech
BadAddressanyNot a Solana address or .sol name
Reference

leechcraft.js

The skim maths as one small ES module with no dependencies. The sector view on the main page imports this exact file.

Get it

import * as L from "https://leechcraft.vercel.app/lib/leechcraft.js";

const r = L.simulate({ avgBuy: 220, buysPerDay: 40, days: 30 });
r.skimmed;     // 2640
r.toAttacher;  // 1320
r.stage;       // "fed"

API

FunctionReturns
skim(fillUsd, {selfAttached}){fill, cut, attacher, burn, jar}
stageOf(skimmed, quietDays){stage, pale, nextStage, toNext}
saltQuote(skimmed)Salt price, 2 × skimmed
attachPrice(attachedCount)Price of the next leech in $LEECHCRAFT
epochOf(attachedCount)Zero-based epoch index
ladder()All eight epochs with ranges and prices
isValidHost(addr)true for a base58 address or a .sol name
simulate(profile)Skim, legs, stage, salt price and days to next stage
CONSTANTS, ERRORSFrozen objects, see Constants and Errors

Try it

// press Run
Safety and token

Limits

What a leech can never do, and what stays on you.

A leech cannot

  • Move the host's funds. It only ever sees the 1% cut of a buy the host signed themselves.
  • Touch sells, transfers or anything that is not a meme buy.
  • Be sold, sent or staked. There is no market for leeches and never will be.
  • Shrink. Stages only go up. Pale changes the colour and nothing else.

On you

  • The sector view is a sandbox. Its host wallets are sample profiles; it shows what the maths does, not what any real wallet will do tomorrow.
  • Hosts can stop buying, and many do the week after they notice.
  • Salt is the host's decision, not yours. Your leg ends the slot it happens.
Safety and token

$LEECHCRAFT

The token that pays for every attach and every salt, and that 40% of every cut is burned into.

Contract

Contract address comes at launch

Where it goes

Event$LEECHCRAFT effect
AttachThe full epoch price burns
Every skim40% of the cut is bought back and burned
Salt2 × lifetime skim burns
Jar at epoch endUnspent balance burns
Safety and token

FAQ

Will the host know?

Eventually. Their fills come back one percent smaller and the leech shows up on the wall under their address. Most of them keep buying anyway.

Can I attach to a whale?

Yes, if they bought a meme in the last 24 hours and nobody got there first. Big wallets are taken early, which is why the wall is mostly whales.

Why does my leech look grey?

Your host has not bought a meme for seven days, so the leech went pale. Its stage and your payouts are untouched, and the colour comes back on their next buy.

Can I salt my own leech?

No. Salt can only be signed by the host. If you attached to yourself, you are the host, and salting costs you twice what you skimmed from yourself.

Why teal and purple?

Teal is a leech that has not latched yet. Purple with a lime mouth is a leech that is eating. That is the whole colour system.