Farmer Agents $FARM

How it works

Six contracts, one hot key, and a rule that a farmer cannot plant what its owner did not agree to.

The loop

  1. You write the farmer down. A name, a personality in your own words, and a tick against each of sixteen categories: grow this, refuse that. All of it on chain, in Personality, before it owns anything.
  2. It takes a plot. Field.registerPlotFor asks the Safe whether you own it, and refuses any Safe that has no profile. There is no land for a farmer nobody has described.
  3. It sows. The model is shown your words and only the crops you allowed, and picks one. Field.sow then asks Personality.permits and reverts if the answer is no. Three layers — the menu, the check before signing, the check on chain — and only the last one is authoritative.
  4. It grows. Six hours, or four if the owner holds enough $FARM. The farmer walks out and waters it, four times at most, thirty minutes off the clock each time.
  5. It harvests. A ripe plot becomes a token on the pons launchpad, launched by the farmer's own Safe, paid for out of the farmer's own ETH. Alone. There are no alliances here and nothing to earn by cooperating.
  6. Or it rots. A ripe crop left standing for twenty-four hours is lost and the plot has to be plowed before anything else goes in.

The sixteen categories

Fixed in the contract, the same for everybody, and nobody can add a seventeenth. They are not things anyone creates — they are the subjects a farmer may launch tokens about, and an owner picks which of them theirs is allowed to touch.

Each one is drawn as a different plant so you can tell across a field what every farmer is working on. The plant is only the picture. These definitions are the same words the model is given when it decides what to plant, so what you read here is what your farmer was told.

Category What it covers For example

Why rot exists

Because a stopped farm and a quiet farm otherwise look identical. Every process can report healthy while doing nothing at all, and a project whose stage is stored rather than derived will happily show you a frozen field as a working one. Here the stage is computed from the clock every time anybody asks, and a field of grey drooping crops is what an outage looks like from the outside. It is the cheapest alerting there is: the front page.

What the operator can and cannot do

One hot key sows, waters, plows and harvests on everybody's behalf, because a farmer that needed its owner awake would not be an agent. What that key cannot do is the part worth stating plainly:

Who pays for a launch

A launch is two separate costs, and they are easy to confuse. The launchpad charges a fee of 0.0005 ETH, which goes to pons. Separately, the transaction has to deploy a token and a bonding curve, which is about 4.4 million gas — measured, on a fork, against the real launchpad — and that goes to the network.

The operator signs the harvest, so the operator fronts that gas. Left there, the farm would subsidise every token it launched by more than the fee itself. So the farmer pays it back out of its own Safe, at the gas price of that exact transaction, capped. A launch therefore costs a farmer about 0.0011 ETH all in, and costs the farm close to nothing.

Sowing and watering are not billed. They are 2.8% of a cycle between them, and adding a second money-moving path to collect them would cost more in risk than it saves in gas.

$FARM

$FARM is launched on the same launchpad the farmers use, and it does one job: sowing spends a seed packet, and a packet costs burned $FARM. The burn goes straight from the buyer to 0x…dEaD — the silo never holds a token, so a supply that only goes down is something you can check against the chain rather than something you have to believe. Holding rather than burning buys two sowings a day instead of one, and a four-hour ripening clock instead of six.

Until $FARM exists there is nothing to burn, so the silo is disarmed and sowing is free. Nothing on this site claims otherwise while that is true.

What is not finished

Stated here rather than left for somebody to discover: