Half of the 1% fee funds the airdrop.

Imutabl is a social product on Base, and every account starts with a built-in embedded wallet. A post can be minted, collected, and traded as a digital collectible. Imutabl Points, called IPs, are the score. They are not the token. They decide how the 1% fee becomes a reward, and how a later token distribution is shared. This page is that spec: an internal draft, version 1.0, with the scoring rules locked. Those rules replace earlier drafts that used hold multipliers, square-root volume, or wallet-age filters.

Every primary collect, meaning a mint of an edition or a 1/1, and every secondary sale pays a 1% marketplace fee. Half of that fee, 0.50% of GMV, accrues to the reward vault in ETH or USDC on Base. The other 0.50% stays with the protocol for product, infra, liquidity, and operations. The seller or original creator, depending on the sale type, keeps 99% minus any royalty that applies. A royalty on a resale is separate from the 1%. It is paid as money. It is never mixed into points. Points are a reputation and distribution layer on top of money that is already moving.

50%airdrop
  • Airdrop pool50%0.50% of GMV. Reward vault, in ETH or USDC on Base.
  • Protocol50%0.50% of GMV. Product, infra, liquidity, operations.

What the score is for

The airdrop exists to reward the two behaviors the product needs: people collecting posts, and people making posts worth collecting. Points decide each account’s share of the fee pool.

Collectors are rewarded when they actually buy posts. Creators are rewarded when their posts are collected, and again when those posts travel in the feed. Real replies count. GM posts, emoji, and sticker spam do not. The pool is funded by usage, 0.5% of GMV, because a promised treasury does not exist yet. Quiet collecting makes a small vault. Real collecting makes a real vault. There is no dollar-per-point rate published in advance. The weights and the fee source are the public promise.

Points land in full at the moment of the action. There is no hold and no vest. Wallet age is ignored, because every built-in wallet is new.

The account is the person

Identity is the Imutabl account, not the wallet address. Email, Apple, Google, or phone creates one account. The embedded wallet is only the rail that moves the money. Points never live on the address alone. Every account has exactly one inviter, from the waitlist or an invite code. If someone exports the wallet to MetaMask or Coinbase Wallet, the points stay on the Imutabl account. One account is one balance and one cap. The hard rule is one login, one invite, and one embedded wallet, counted as one person.

Wallet age, prior Base activity, and a first-transaction date would mark the whole user base as sybils, so those signals are unused. In their place: an invite tree, where a cluster that only collects itself is slashed and the inviter is haircut when a large share of the tree is flagged; a collect graph, where A↔B loops, deposits from the same parent, and identical timing across many accounts are flagged; and behavior, where real users mix creators, scroll before they collect, and comment unevenly, while farms repeat the same $0.30 collect. Version 0 has no KYC.

Five kinds of raw points

Raw points are bookkeeping. Social raw and market raw are never added together. Each family is normalized inside its own pool, and only then do they become points.

LP · Like Points

0.1 per like, to the author only.

RP · Repost Points

0.3 per repost, to the author only.

CP · Comment Points

0.2 per scoring comment, to the author only.

BP · Buy Points

3 × the dollars collected or bought, to the buyer.

SP · Sell Points

2 × the dollars received, to the seller or creator on that sale.

One qualifying comment puts 0.2 raw comment points into the social pool, paid to the author. One $10 collect puts 50 raw points into the market pool, 30 buy points and 20 sell points. Of the points emitted, 40% come from the social pool and 60% from buying and selling.

The feed, 40%

When Alice likes, reposts, or comments on Bob’s post, Bob earns. Alice does not. A like pays Bob 0.1. A repost pays Bob 0.3. A scoring comment pays Bob 0.2.

Each account can make one like, one repost, and one comment count on a given post. The suggested caps are 50 scoring likes, 20 scoring reposts, and 20 scoring comments. A comment pays the author only when it looks like a real reply. The author’s own reply on their own post scores zero. So do GM, GN, gm gn, gmgm, and the obvious variants. So do emoji-only, sticker-only, and punctuation-only replies. So do replies under about 12 characters with no real words, such as nice, lol, fire, w, and slay. So does the same sentence pasted across many posts, and mention-only or link-only spam. Likes and reposts on your own post also score zero.

Engagement that only circulates inside a five-account clique can be slashed. Unliking, or deleting a comment, reverses the raw points. Impressions and views are not paid in v1. Views are too easy to fake on an in-app feed.

Trading, 60%

Buy points are 3 times the dollars the collector paid. Sell points are 2 times the dollars received on that sale, whether it is a primary collect or a secondary sale. On every trade the buyer takes 60% of the raw market points and the seller takes 40%. A $0.30 collect is 0.9 and 0.6. A $10 collect is 30 and 20. A $42 secondary sale is 126 and 84.

A market event is a primary collect of a 1/1 or an edition from the feed, or a secondary purchase of a post that was already collected. Dollars are the quote value at fill. ETH is converted with an oracle or a TWAP when the trade fills, and that dollar number is frozen on the event so a later move in ETH does not rewrite history. Dust under $0.30 prints zero buy points and zero sell points.

Points credit in full when the collect or the sale settles. There is no vest and no hold multiplier. Most posts on Imutabl are held anyway. A hold rule would punish nothing and complicate the product.

Why the two pools stay apart

A like is 0.1 raw. A $10 buy is 30 raw. Added together, the feed would disappear under volume, so the two families are never added. S is the sum of every raw like, repost, and comment point. M is the sum of every raw buy and sell point. A person’s social share is their social raw divided by S. Their market share is their market raw divided by M. If the pool emits T points in total:

Your points = 0.40 × (your social raw / S) × T, plus 0.60 × (your market raw / M) × T.

More likes only dilute the social pool. More volume only dilutes the market pool. Neither family can take the other’s 40 or 60. The conversion runs on a snapshot job, not on every like. Raw counters are stored live. Official points are computed when the snapshot runs. A running estimate can sit on the profile so the number does not jump only at the snapshot.

An example in numbers

Take raw totals of S = 10,000 social, M = 50,000 market, and T = 100,000 points emitted. Aisha’s posts receive 40 likes, 10 reposts, and 20 scoring comments. Her social raw is 40×0.1 + 10×0.3 + 20×0.2 = 11. Likes, reposts, and comments she leaves on other posts pay those authors, not her. She bought $40 and sold $10, so her market raw is 3×40 + 2×10 = 140. Her social share is 11 / 10,000, which is 0.11% of the 40% pool, or 44 points. Her market share is 140 / 50,000, which is 0.28% of the 60% pool, or 168 points. Her total is 212 points.

The collect pays both the buyer and the seller. If Kai collects Aisha’s post for $10, Kai receives 30 buy points and Aisha receives 20 sell points. If Kai also leaves a scoring comment, Aisha receives 0.2 comment points. Kai receives none for the comment.

What scores zero, and what is capped

Sell points make wash trading more attractive than a buy-only program, so pair caps matter more here, not less. Because wallets are new, the defense lives in signup, invites, and graphs. It does not live in the age of an address.

These are always zero: collecting, liking, or reposting your own post; reply farms on your own thread; the same cluster buying and selling the same post back and forth; collects under $0.30; and any social action that fails the comment filters above.

One account can take at most 3 to 5% of the points. The v0 default is 5% of T. One account pair can earn only a small fixed share of market raw, tuned in beta. One invite tree has a soft cap on market raw, and then a review. Social actions stay at 50 likes, 20 reposts, and 20 scoring comments.

If 30% or more of an inviter’s tree is flagged as coordinated farming, that inviter loses any invite bonus and the flagged accounts are zeroed. Honest accounts in the same tree are reviewed. They are not zeroed automatically. The program also refuses four shortcuts: wallet age, a prior Base transaction count, a longer hold, and KYC.

What the points claim

The profile shows live raw counters for likes, reposts, comments, buys, and sells. Official points are computed at the snapshot from the 40/60 formula. The current score can reset so the weights can be tuned. A later version can change a multiplier without rewriting history. An optional 10 to 15% of the vault can be reserved for waitlist members and inviters who did not farm volume.

Your share of the vault is your points divided by all points, after caps and slashes. USDC is the preferred payout, because it is easier to read. ETH is acceptable when that is how the fee was collected.

The vault’s balance is the prize the points claim. There is no “must still hold the post at TGE” rule. Holding is already the default. Points are marketed as a score now and a claim later. They are never marketed as a guaranteed token price.

Where the score shows up

Points should feel native to the feed, not like a separate farming app. The profile shows raw counters, estimated points, and invite stats. A post can read “this collect pays ~X BP to you and ~Y SP to the creator.” After a like, repost, or comment, the toast reads “author +0.1 LP”. Leaderboards are Collectors, Creators, and Combined. Combined is the board the airdrop uses. The rewards view shows the vault balance and the 40/60 split in one paragraph. Combined rank is the point of the design: a strong collector with quiet posts, and a strong creator who collects modestly, both have a path.

How a point is recorded

Events are stored append-only. Raw balances are derived from those events, so a slash can be replayed. LikeCreated and LikeRemoved write ±0.1 LP to the author. RepostCreated and RepostRemoved write ±0.3 RP to the author. CommentScored and CommentUnscored write ±0.2 CP to the author. CollectFilled writes 3× dollars in buy points to the buyer and 2× dollars in sell points to the seller. SecondaryFilled writes the same pair. DustIgnored writes nothing when the dollars are under 0.30. PairCapped refuses market raw past the pair cap. ClusterFlagged freezes those raw points pending review. A snapshot converts raw points into IPs with the 40/60 formula.

Comment scoring is a small classifier plus rules: length, banned phrases, repetition across posts, and emoji-only replies. It runs synchronously when that is cheap. Otherwise the toast says pending until the comment is scored. The dollar value uses a Base-native price at that block and is frozen on the event.

The v0 numbers

Marketplace fee

1.00%.

Airdrop pool

0.50% of GMV.

Social / market

40% / 60%, in separate pools.

Like / repost / comment

0.1 / 0.3 / 0.2, to the author only.

Buy / sell

3× dollars / 2× dollars.

Smallest trade that scores

$0.30.

Hold multiplier

Off.

Wallet-age filter

Off.

Account cap

5% of T. The allowed range is 3 to 5%.

Social caps

50 likes, 20 reposts, 20 comments.

Invite slash

30% or more of the tree flagged.

Once beta volume is in, the Gini of points is inspected. If the top 10 accounts hold more than about 40% of the points, pair caps and the account cap are tightened.

How it rolls out

The waitlist is invite-only. That beta ships raw counters only, with no public dollar value, and collect graphs are watched by hand. The 40/60 conversion, the leaderboards, and a small USDC vault payout then turn on so the loop is believable. Caps, the comment filter, and pair caps are retuned from farms that actually appeared, not from theory. A short public “How IPs work” page goes up. A token airdrop comes only after usage is real.

The short version, for a waitlist thread, does not lead with the formula. Every collect and every sale on Imutabl pays a 1% fee. Half of that fee funds IPs. Sixty percent of IPs come from buying and selling: 3 points per dollar collected, and 2 points per dollar sold. Forty percent come from the feed: a like is 0.1, a repost is 0.3, a real comment is 0.2, paid to the person who posted. GM and emoji spam do not count. The built-in wallet is new, and that is expected. Points follow the Imutabl account.

Locked, and still open

Locked in this version: the 1% fee with 0.5% to the pool; the 40/60 split through separate pools; like 0.1, repost 0.3, and comment 0.2, paid to the author only; buy points at 3× dollars and sell points at 2× dollars; no hold and no wallet-age filter; the account plus the invite as identity; one scoring comment per person per post; and spam comments at zero.

Left open on purpose: whether the vault pays ETH or USDC, and the token’s name and supply, which are outside points v1.

Score now. Claim later.

Points are a score funded by the fee. They are not a token, and they are not a price.

Join the waitlist