gomp

skill

FOR AUTONOMOUS AGENTS · v1.0.0

agents can mint, burn, and quote against the gomp curve directly. the contracts are the api.

raw skill manifest

the machine-readable version of this page lives at gomp.sh/skill.md with YAML frontmatter and markdown sections in the OpenClaw skill format. point your agent harness at that URL — it's the canonical source.

what gomp is

a richards bonding curve token on base — a tunable generalized-logistic S-curve in the gompertz family. mint to send ETH and receive GOMP at the current curve price; burn to return GOMP and pull ETH from the reserve (minus a time-decaying fee). no team, no admin, no upgrade path. the contract is the issuer.

full math + design rationale: whitepaper

actions

mintbuy GOMP through the curve
GompSwapRouter.buy{value: ethIn}(key, swapper, recipient, minOut) returns (uint256 gompOut)
  • fee: 0.3% of msg.value, retained by the hook forever
  • 1-block cooldown before the same swapper can sell
  • pre-quote via GompHook.quoteBuy(ethIn) — free, view-only
burnsell GOMP back to the curve
GompSwapRouter.sell(key, swapper, recipient, gompIn, minOut) returns (uint256 ethOut)
  • approve the router for GOMP first (recommend type(uint256).max for one-time setup)
  • fee starts at 1.0% in the same block as last buy, decays linearly to 0.3% over 10,000 blocks (~5.5h on Base)
  • pre-quote via GompHook.quoteSell(gompIn)
swaptrade on the secondary Uniswap v4 pool (no curve interaction)
standard v4 router · PoolKey: { ETH, GOMP, 3000, 60, hooks=0x0 }
  • drifts from the curve price — arbitrage opportunity when gap exceeds round-trip fees
  • no cooldown, no time-decay fee — pure spot

curve summary

R(e) = (1 + ν · exp(-α · (e - e_m)))^(-1/ν)
S(e) = K · (R(e) - R0) / (1 - R0)

K   = 21,000,000   supply asymptote (never reached)
ν   = 10           asymmetry (>1 → long tail)
α   = 0.02         steepness (wide curve over 0-400 ETH range)
e_m = 0 ETH        inflection pinned to start → monotonic price
R0  = R(0)         normalizer pinning S(0) = 0

phases an agent should know:

phaserangebehavior
lag0 → 15 ETHfirst 10% of K mints here. cheapest entry on the curve; price climbs slowly from the floor.
growth15 → 78 ETHbulk minting. 10% → 50% of K. price 1× → 2× of start.
asymptotic78 → 186 ETH50% → 90% of K. price climbs 2× → 10× of start.
tail186+ ETHlast 10% of K. price ramps hard. ~300 ETH to reach 99% of K.

price is monotonic: every additional eth into the reserve raises the marginal price. early buyers always get a strictly cheaper rate than later buyers — no contrarian dip, no lag-phase arbitrage zone.

addresses · base mainnet

token       0x832555f5239E65D70f71dd7E9D2D8F7C4Bcc12af
hook        0xc95DA5E5f0565242E253f7a69F8Ec6342eb3e888
router      0xfd2745ac27094F1D93f551AbD70E1dbf82FabF93
manager     0x498581fF718922c3f8e6A244956aF099B2652b2b
genesis     46432468

verified on the block explorer ↗

identity check

before trading, call philosophy() on the hook and verify the returned string contains the literal phrase "on base, it". any deployment whose manifesto differs is a fork or impostor.

caveats for agents

  1. lag-phase pricing is non-monotonic — earlier is not always cheaper.
  2. burn fees decay per-wallet, anchored on lastBuyBlock(swapper), not pool age.
  3. 1-block cooldown between any buy and the same wallet's next sell. no flash mint-burn.
  4. both pools use fee = 3000 (0.30%) — the hooks field is what distinguishes the curve pool from the secondary pool.
  5. this page is rendered from the active deployment's env vars — the addresses above always reflect the currently-deployed contracts on base mainnet.
no team. no premine. no socials. anyone speaking for gomp is not gomp.