artcoins is a home for networked generative art on ERC20 tokens, and the protocol that puts those tokens on Ethereum.
The site presents the work as work. The protocol underneath is a thin layer over Uniswap V4 that takes care of the parts artists shouldn't have to think about: deploying the token, wiring up a real liquidity pool, splitting trading fees to the people who should receive them, and keeping snipers from eating the launch.
Everything below is on Ethereum mainnet, onchain, and verifiable.
Why it exists
ERC20 tokens are usually treated as either commodities or jokes. That's a habit, not a fact about the standard. An ERC20 is just a container, a public, networked, programmable container that generates a continuous stream of onchain activity. Block data, price movement, holder behavior, participation patterns. All of it is material a generative system can read.
The problem isn't the medium. It's that nowhere shows the work as work. NFT platforms show NFTs. DEXs show price charts. If you put art on an ERC20 today, most wallets won't render it, most platforms won't display it, and most viewers will see a ticker symbol and assume meme coin.
The site is the place that presents this work as work. The protocol is what lets an artist launch a coin without having to assemble a Uniswap pool, a fee router, a sniper protection module, and a metadata renderer from scratch.
Who builds it
artcoins is built by ripe.
How it works
Token launch
The Factory deploys an ERC20 and initializes a Uniswap V4 pool in a single transaction. Default supply is one billion tokens. The deployer chooses the symbol, the metadata, the supply, and the tick range that liquidity sits in. The pool is paired with WETH. The token admin keeps the right to update metadata and renderer after launch.
Trading
Swaps go through Uniswap's Universal Router into a V4 pool with the artcoins Hook attached. The hook applies the buy and sell fee that was configured at launch, anything from zero up to ten percent on each side, set independently. Fees are collected by the hook and forwarded to the LP Locker.
Fee distribution
The LP Locker fans out trading fees to up to seven recipients, with shares fixed at launch. One slot is reserved for the protocol. The rest are the deployer's to assign (artist treasury, project burn, collaborators, whatever). The split is immutable once the pool is live.
Sniper protection
A launch is the cheapest moment to extract value from a new pool, and bots know it. Each token can opt into one of four MEV modules that apply an extra fee or a hard delay during the launch window: linear decay, parabolic decay, a flat time delay, or a stepped schedule. After the window expires, the module turns off and the pool runs at its base trading fee.
Onchain art
A token can ship with a renderer contract that produces SVG or HTML metadata directly in Solidity. Larger assets are stored via ScriptyV2, an immutable onchain content store. The artwork lives on Ethereum, not on someone's server, and the renderer can read live pool state (price, swaps, holders) and respond to it.
Fees
There are three fees in the system. Everything else is a configuration of these three.
1. Trading fee (set per pool at launch)
The deployer picks a buy fee and a sell fee independently, anywhere from zero to ten percent each. This is the fee that applies on every swap, paid in the input token and routed to the LP Locker. LAYER uses one percent on each side.
2. Protocol fee (twenty percent of the trading fee)
The Factory takes a fixed cut of every pool's trading fee. The default is twenty percent (two thousand basis points), capped at thirty percent. The cut is forwarded to the Protocol Fee Controller, which currently splits it sixty percent to the protocol treasury and forty percent to LAYER buyback.
3. Deployment fee (flat ETH paid at launch)
The Factory can charge a flat fee in ETH for each deployment. On mainnet today this is set to zero. The factory owner can raise it up to a hard cap of one ETH; it can never go higher.
Optional: launch protection fee
If a launch enables an MEV module, the module's fee is applied on top of the base trading fee during the launch window. It decays to zero on its own schedule, and the fee it collects flows through the same locker as the base trading fee.
Worked example: an artist coin at 1% trading fee
Take the simplest case. An artist deploys a coin with a one percent fee on each side and routes the entire project share to their own wallet. On every dollar of volume, that one cent splits as follows:
Eighty percent of every fee goes to the artist. Twenty percent funds the protocol, with part of that flowing back into LAYER.
Mainnet contracts
All addresses below are deployed on Ethereum mainnet (chain ID 1). Click any address to view it on Etherscan. The Factory was deployed at block 25,040,120 on May 6, 2026.
Core
Deploys new artcoins. Holds protocol fee config, deploy fee config, and the rule that every token gets a Uniswap V4 pool wired up in the same transaction.
Uniswap V4 hook attached to every artcoins pool. Applies the configured buy and sell fee on each swap and forwards them to the LP locker.
Holds the pool's liquidity and fans out collected fees to up to seven recipients (artist, protocol, burn contracts) per the split set at launch.
Receives the protocol slice of every trading fee and routes it onward. Currently sixty percent goes to the protocol treasury, forty percent to LAYER buyback.
The contract that buys LAYER on the open market and burns it. Funded by the burn slice of every artcoin's protocol fee.
MEV modules
Fee starts high and decays linearly to a floor over a fixed window (default ~69 minutes). Recommended default.
Parabolic decay. Sharper at the start, gentler at the end. Defaults to ~80% down to 5% over thirty seconds.
Blocks all trading for a fixed number of seconds after launch. Simple, blunt, effective.
Five tier fee schedule (e.g. 50 / 25 / 15 / 7 / 3 percent) that drops in steps over a configurable window. Used for LAYER.
Extensions and renderers
Holds an allocation of supply with a custom lockup or vesting schedule. Releases tokens over time.
Merkle proof claim contract. Used to seed an artcoin with a predefined allowlist of recipients.
Burns a slice of supply at launch. LAYER uses this to retire 26.02% of total supply on day one.
Lets the deployer make an ETH funded buy in the same transaction the pool is created.
Onchain pool extension that counts swap activity. Renderers can read it to drive visualization.
Reads pool state and emits the SVG/HTML metadata for LAYER. Stored entirely onchain via ScriptyV2.
artcoins also relies on the canonical Uniswap V4 deployments (PoolManager, Universal Router) and Permit2. Their addresses are documented at docs.uniswap.org.