| # | 路径 | 主体 (KEEP) | 烧掉 (BURN) | → 输出 | 总成本 ETH | $/SLOP | 盈亏 @ $5 | 操作 |
|---|---|---|---|---|---|---|---|---|
| 服务器扫描 pair 中(首次约 4 分钟)... | ||||||||
| # | Token | 等级 | 类型 | SLOP | slopLv | 价格 ETH | $/SLOP | 盈亏 @ $5 | 属性 | 抢单 |
|---|---|---|---|---|---|---|---|---|---|---|
| 加载中... | ||||||||||
规则速查: Dutch 起 576 / 地板 100,每块 -1 SLOP,paid 后 reset 起价。 请求立即烧 SLOP 不可退;32 块后任何人 finalize;过 255 块未 finalize 失效。 抽中后 NFT embedding 重写、mergeLevel 归零,新 slop 随机(1% 概率纯随机宝箱可能爆高 slop)。
🕘 历史记录 (链上 events 实时同步)
| # | 状态 | requester | cost (SLOP) | cost (USD) | 抽中 NFT | NFT 当前 slop | SLOP 差价 | 盈亏 (USD) | vs 地板 | 时间 | tx |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 加载中… | |||||||||||
SLOP 差价 = NFT 当前 slop − 烧的 cost SLOP。正 = 立即 void 比烧的多。
盈亏 (USD) = SLOP 差价 × 当前 SLOP 价。简化 EV,不含 NFT floor 卖出 + gas + 2% pool fee。
| 加载中... |
📊 各情景下流通供应 + MC 测算
Equilibrium 价 = 在该情景流通量下,使 SLOP MC = NFT MC 的 SLOP 价格
| 情景 | 流通供应 | $0.087 | $1 | $2 | $5 | $10 | SLOP/NFT 均衡 |
|---|---|---|---|---|---|---|---|
| 计算中... | |||||||
计算方法(审计)
白皮书 §01 · 10000 punks × 24×24 像素
Hirsch 2026-05-07 公布 · 起始价 = 50000/576000 = $0.0868
每 60 秒实时从 api.slonks.xyz/tokens 重拉
各情景假设不同 void % (30% 保守, 70% 激进)
系统守恒推论:SLOP MC = NFT MC 时对应价格 (公允锚点)
📊 SLOP 供应计算器(自定义参数)
拖动滑块或输入数字,所有指标实时计算。下方有快捷情景按钮。
渲染流程
每只 Slonk 的图像不存储——是合约每次 tokenURI 调用时实时算出来的。算法以源 CryptoPunk 编号为锚定,喂给链上模型,输出 576 像素。
sourceId = Slonks.sourceIdFor(tokenId) // 永久锚定
embedding = mergeLevel == 0
? imageModel.sourceEmbedding(sourceId) // 原始
: merge_state.embedding(tokenId) // 合并后
generatedPixels = imageModel.render(embedding) // 576 像素
模型架构 — candidate-palette renderer
不是 transformer,是候选调色板渲染器:每像素从 18 个候选色里 argmax 选一个,独立计算 576 次。
每像素: slot = argmax_k dot(embedding[10], head[pixel, k]) // 18 candidates palette_idx = candidates[pixel, slot] // 0..221 rgba = PALETTE_RGBA[palette_idx] // 4 bytes
| 调色板大小 | 222 RGBA 精确色 (无插值) |
| 候选色 / 像素 | 18 |
| Token embedding | 10 字节 int8 / NFT |
| 模型权重 | 214 KB (SSTORE2 chunks) |
| 背景色 | #28313d (palette[0] = 透明,背景透出) |
例:每个 NFT 的 10 字节 embedding 像 DNA。同一个 sourceId 在不同 embedding 下渲染出完全不同的像素。Merge / Revival 改变 embedding → 同一 sourceId 渲染出新图。
谁可以改渲染逻辑
- SlonksImageModel 0xca116243... — 持权重。owner 可换 (但有
lockModel()一旦调用永久不可改) - SlonksRenderer 0x5e68c484... — 实际生成像素的合约。owner 可换。已被 Hirsch 换过 5 次以上(pre + post launch),换一次所有 NFT 的 slop 都重算
- Slonks 合约本身 immutable — 但它的 renderer/model 指针 mutable
所以「这只 Slonk 现在 slop=85」是当前 renderer + model 下的真值,不是历史不变量。要查实时真值,调链上 Slonks.tokenURI(id) 而不是依赖 indexer。
3 张视图
Slonks 模型对源 Punk 的"重建"。这是 NFT 的视觉本体。
对应源 CryptoPunk 的官方 24×24 RGBA。直接从 Larva Labs 链上拉,无镜像。
α 和 β 不一致的像素位图。"错的地方"就是 art。
Slop 计算公式
for pixel in 0..576:
if α_rgba[pixel] != β_rgba[pixel]:
mask[pixel/8] |= 1 << (7 - pixel%8)
count++
slop = count // 0..576
slopLevel = count / 50 // 0..11 (展示用 bucket)
蒙版直接编码"哪些像素错了",slop 是错的总数。合约不缓存,每次读 tokenURI 全部重算(24x24 = 576 个比较)。
关键数字
| 整体像素准确率 | 95.77% (10K Slonks 平均) |
| 原始平均 slop / NFT | 24.36 (mint 时) |
| 当前活跃平均 slop | 查询中... |
| 0-slop 完美渲染 | 32 / 10,000 |
| 最大可能 slop | 576 (= 24×24,全错) |
活跃平均 slop 高于初始 24.36 ——因为 merge 把低 slop 的 L0 都消耗了,剩下的活 NFT 包括 L1+ 的高 slop。Merge 经济学的副作用。
32 只完美渲染(slop = 0)
10,000 只里有 32 只模型渲染和原 Punk 完全一致。这些 NFT:
- void 后铸 0 SLOP(slop 数 = 0)
- 纯收藏价值,无 SLOP yield
- 合并后 embedding 偏移 → 不再完美 → 完美属性只在未合过的 L0里
看板「直接购买」tab → 最少 slop = 0 + 最多 slop = 0 → 列出当前挂单中的完美 slonks。
合成 Merge — N 只 NFT 凝成 1 张图
同等级两只合并:donor 永久销毁,survivor 升 1 级 + 拿到混合 embedding。不铸不烧 SLOP。
require: a.mergeLevel == b.mergeLevel for i in 0..10: blended[i] = (int8)((int16(a.embedding[i]) + int16(b.embedding[i])) / 2) // 截断 toward zero(不是 floor) survivor.embedding = blended survivor.mergeLevel += 1 burn(donor) emit SlonkMerged(survivor, donor, donorSourceId, mergeLevel)
累加效应
升一级要烧 1 只同级。升 N 级 → 累计 2^N 只 NFT 的 embedding 都进了同一 survivor:
| L0 → L1 | 2 只 |
| L1 → L2 | 4 只 (累计) |
| L2 → L3 | 8 只 |
| L3 → L4 | 16 只 |
| L4 → L5 | 32 只 |
| L5 → L6 | 64 只 |
| L6 → L7 | 128 只 |
| 合约 cap | uint8 = L255 (实际 L7+ 已天文罕见) |
"几个 slop 对应一张图"的字面意义就是 merge。L7 survivor 是 128 只 NFT 各自的 slop / embedding 都被反复平均压进的 1 张图。survivor 的 sourceId 不变 → slop 永远 vs 那只锚定 Punk 算。
关键限制
- 必须严格同级(合约强制):L0+L0、L1+L1...
- 需先
setApprovalForAll(MergeManager, true)(一次性,~50K gas) - Merge 调用 ~100K gas
- 输出 slop 100% 确定性:合约模型直接算,不是估
- 付 gas 前可调
POST api.slonks.xyz/merge-preview预览输出 slop - 不铸不烧 SLOP — merge 只改 NFT,跟 SLOP 无关
Merge 经济:什么时候值?
本身 merge 不出 SLOP,但 survivor 的 slop 通常大于 donor + survivor 之和,所以未来 void 时 survivor 可铸更多 SLOP。
原始 2 只 L0 直接 void: slop_a + slop_b = 25 + 30 = 55 SLOP 合并后 L1 survivor 再 void: blended_slop ≈ 100-150 SLOP (典型) → 多铸 +50~100 SLOP,代价是少 1 只 NFT
例:L0+L0 平均 cost 0.30 ETH (≈$700),输出 slop ≈ 130,break-even SLOP 价 ≈ $5.4。看板「合成捡漏」tab 实时算每对的 break-even。
实操注意(OpenSea / Blur)
- OpenSea:协议费 0%,creator royalty 按合约 ERC-2981 强制
- Blur:协议费 0%,royalty 默认 0%
- Slonks 主要在 OpenSea 流通,Blur 几乎无挂单
- Merge 后 OpenSea metadata 缓存旧图 → 必须手动 Refresh Metadata
- Merge Lab (slonks.xyz/merge-lab) 可视化预览,不消 gas
Void — NFT → $SLOP 的唯一通道
把 NFT 锁进 SlopGame 合约,提交模型证明 → 合约铸 SLOP 给 recipient。1 slop pixel = 1 $SLOP。
recipient = slopClaimRecipient[tokenId] // 在 lockSlonk 时记录 slop = countSlopPixels(verified_render, original_punk) mint(recipient, slop * 1e18) slopClaimed[tokenId] = true addToVoidPool(tokenId)
三步流程
- lockSlonk(tokenId) — 锁 NFT 进 SlopGame,记录你为 recipient
17:30:23 UTC 前调会 revertVoidingNotOpen - (off-chain) 跑 ZK prover 生成 proof + publicInputs · slonks.xyz/void UI 自动跑(fallback:本地 CLI)
- claimSlop(tokenId, proof, publicInputs) — 验证 proof 后铸 SLOP,token 进 void 池
这步谁都能调,但 SLOP 只去给 lockSlonk 时记录的 recipient
中途想反悔可调 unlockSlonk(tokenId) 取回 NFT (claim 前都行,claim 后不可逆)。
为什么需要 ZK proof
合约不能信任「这个 NFT 当前 slop = X」的声明,因为模型在链外跑(链上跑 transformer 太贵 5-15M gas)。所以要求用户:
- 链下用 Noir 电路跑 model.render(embedding) → 拿到 576 个像素
- 生成 ZK proof:「这 576 像素是合约同款 model + 我的 embedding 的输出」
- 提交 proof + 像素到
claimSlop,合约调 verifier (0x5cbe9cbe...) 验证 - 合约信任了像素 → 数 slop → 铸 SLOP
链上 verify 仅 ~200K gas,比让合约自己跑 transformer 便宜 50-100×。这是 ZK 在 NFT 系统里的合理用法。
边界条件
- lockSlonk 时间锁:
block.timestamp >= 1778175023(= 2026-05-07 17:30:23 UTC) - 每只 NFT 只能 claim 一次:
slopClaimed[tokenId]防双花 - 但 revival 后
slopClaimed被清零,可以再次 void - 铸量超 cap revert:
SlopMintExceedsMaxSupply - 0-slop NFT 也能 void → 铸 0 SLOP(无意义但合法)
Buy-and-void — 不铸 SLOP 的特殊路径
池子手续费攒成 ETH treasury,buyAndVoidSlonk(tokenId, target, value, data) 任何人能调:
- 用 treasury ETH 在 OS 买 1 只 NFT
- NFT 自动进 void 池(不调 lock,不需要 proof)
- 0 SLOP 铸造(关键)→ 系统层面 NFT 减少但 SLOP 不增 = 通缩
- 买入的 NFT 加入 revival 池,给烧 SLOP 的人抽
这是协议自动维护 SLOP 流通量 vs NFT 数量比例的机制。手续费持续把 ETH 转成"准备 revival 用的库存"。
Revival — 烧 $SLOP 抽 NFT
从 void 池里随机抽 1 只 NFT 给请求者,代价是烧当前 Dutch 价的 $SLOP。被抽中的 NFT embedding 全部重写,merge level 重置为 0。
require: voidedCount() >= 100 // 池子至少 100 只才开放 cost = revivalCost() // Dutch 当前价 require: cost <= maxCost // 用户保护 burn(msg.sender, cost) // 立即烧 SLOP record requestRevival(...) target_block = block.number + 32 // 32 块后开抽 expiry_block = target_block + 255 // 闲置过期
Dutch 拍卖价格曲线
dutchStart = 576 $SLOP elapsed_blocks = block.number - lastRevivalRequestBlock priceDrop = floor(elapsed_blocks / 1) // -1 SLOP / block (12s) dutchPrice = 576 - min(priceDrop, 476) revivalCost = max(100, dutchPrice) // 地板 100
- 每个新 paid revival把价格拉回 576(reset on every buy)
- 从 576 跌到 100 需要 476 块 ≈ 95 分钟
- 同一时刻全局只允许 1 个 pending revival 请求(避免同质竞争)
抽签 + Embedding 重写
等过 32 块后调 finalizeRevival()(任何人都可以):
seed = keccak256(targetBlockHash, nonce, requester, gameAddr, chainId) voidIndex = seed % eligibleSlonkCount tokenId = voided_pool[voidIndex] // 抽中的 token 的 embedding 重新生成 randomEmb = random_int8[10] sourceEmb = imageModel.sourceEmbedding(tokenId.sourceId) weight = pick_weighted_bucket(seed) new_emb = blend(sourceEmb, randomEmb, weight) transfer(tokenId, requester)
Embedding blend — 结果分布
| 源占比 | 随机占比 | 概率 | 视觉效果 |
|---|---|---|---|
| 100% | 0% | 50% | 接近源 Punk,slop 跟 mint 时差不多 |
| 75% | 25% | 35% | 稍偏离源,slop 略高 |
| 50% | 50% | 10% | 中等偏离,slop 中等 |
| 25% | 75% | 4% | 明显偏离,slop 偏高 |
| 0% | 100% | 1% | 纯随机宝箱,可能 400+ slop |
期望平均 slop 接近源——多数 revival 出来的 NFT slop 不会暴涨。但 1% 概率出 400+ slop 的"宝箱",烧 100 SLOP 抽到能 void 出 400 SLOP(净 +300)。这是 revival 的正期望来源。
身份保留 vs 重置
Revival 后 NFT 的状态:
| tokenId | ✅ 不变 |
| sourceId | ✅ 不变(永久锚定的源 Punk) |
| void count | ✅ 累加 |
| revival count | ✅ 累加 |
| mergeLevel | ❌ 重置 0 |
| embedding | ❌ 重写为新 blended |
| slopClaimed | ❌ 重置 false (可再 void) |
| 合并历史 | 事件日志可查,但不再生效 |
开放条件 + 时间窗口
- Revival 第一次开放:void 池累计 ≥ 100 只 NFT
- 请求过期:发出后 32+255 = 287 块 ≈ 57 分钟
- 过期未 finalize:任何人可调
clearExpiredRequest()清理(烧的 SLOP 不退) - 下一笔新 request 必须先解决前一笔(finalize / 清过期)
能否爆出更多 SLOP?
- 新 embedding 的 slop 是 random(不可预测)
- 50% 接近源 punk:slop 跟原源差不多 → 大概率净亏 SLOP
- 1% 纯随机宝箱:embedding 完全偏离源 → 模型渲染差异大 → slop 大概率高(可达 400+)
- 抽中后立即 void → mint
new_slop × 1 SLOP给你 - 期望产出:~50-80 SLOP(接近 NFT 池子平均 slop)
- ⚠ 多数 revival slop 比烧的少 = 净亏 SLOP,但抽中 NFT 自身有 floor 价值兜底
价差分析使用方法(Revive tab 顶部价差卡片)
价差 = floor 卖出实收 USD − revival 烧 SLOP 的 USD 等价。
- 价差 正:revival 比直接买 floor NFT 便宜 → 即使抽到普通 NFT 立刻卖也赚(floor 兜底)
- 价差 负:直接买 floor 更便宜 → revival 仅在赌"抽到高 slop NFT 立刻 void 出更多 SLOP"时合理
- 纯赌 SLOP yield 时:break-even SLOP 价 = 烧 cost × P(SLOP) / 期望抽中 slop
slonks.xyz/void 是首选路径——连钱包 → 选 token → 它自动帮你 lock + 跑 ZK proof + claim,全程 2 笔 tx。 下面的 4 步链上原始流程是「官方 UI 故障时」的 fallback,平时不需要看。
- 先用 1 只 token 测试,UI 走通了再批量
- UI 卡在 "packaging proof" 时:换 Chrome 隐身 / 换网络重试。这是 prove API 偶发挤爆,不是钱掉了
- void 不可逆:lockSlonk 之后还能 unlockSlonk 取回;claim 后 NFT 进 void 池只能等 revival 抽(embedding 会被 re-roll)
- EVM 钱包(MetaMask / Rabby 等)连到 mainnet · 钱包里有目标 NFT
- ~0.005-0.015 ETH gas(每只 2 笔 tx:lockSlonk + claimSlop)
- 第一只先 setApprovalForAll(一次性,授权后所有 Slonk 共用)
- 遇到 "packaging proof" 卡住:换 Chrome 隐身重试。不需要装 Bun/nargo 等本地工具链
- 钱包连 slonks.xyz/void(mainnet)
- 从持仓列表勾要 void 的 NFT
- 第一只签
setApprovalForAll(之后所有 Slonk 共用,一次性) - 点 Void → 弹
lockSlonk签名 → UI 后台跑 ZK prover(约 30s-3min)→ 弹claimSlop签名 - 每只按当前 slop pixels 直铸等量 SLOP(1 pixel = 1 SLOP)→ NFT 进 void 池
setApprovalForAll (address, bool)(只对 1 只 token 也可用 approve(address, uint256),但 setApprovalForAll 一劳永逸)
truelockSlonk (uint256 tokenId)⚠ 17:30:23 UTC 前调用会 revert(链上 voidingStartsAt 时间锁)
slopClaimRecipient[tokenId]=你。注意:直接 safeTransferFrom 会被 onERC721Received 拒收 —— 必须走 lockSlonk。RPC_URL=https://eth-mainnet.g.alchemy.com/v2/<你的key> \
bunx @blockhash/slonks prove <tokenId> --json
unlockSlonk(tokenId) 取回 NFT。claimSlop (uint256, bytes, bytes32[])
⚠ 报错对照表 / 风险
VoidingNotOpen(opensAt)— 还没到 17:30:23 UTC,lockSlonk 会 revert,等NotTokenOwner— step 2 lockSlonk 时你不是 token owner(可能没授权或 token 已转走)UnexpectedSlonksReceipt— 你直接 safeTransferFrom 进 SlopGame 了,会被拒收。必须走 lockSlonkAlreadyInVoid— 这只 token 已经被 claim 过进 void 了,不能重复 lockSlonkNotLockedForSlop— step 4 claim 时这只 token 没被 lock 过SlopAlreadyClaimed— 这只 token 已经 claim 过 SLOP,不能重复InvalidModelProof— ZK proof 错(embedding 不匹配 / 工具链版本不对)→ 重跑 step 3- 价格波动:step 2→4 期间 SLOP 价可能跌;尽量在几分钟内连做
- Revival 抢回:claim 后 NFT 进 void 池,未来可能被别人烧 SLOP 抽走(embedding 会被 re-roll)
🔍 状态查询(Read Contract,无 gas)
isInVoid(tokenId)· 是否在 poolslopClaimed(tokenId)· 是否已 claimslopClaimRecipient(tokenId)· 谁能 claimvoidedCount()· 全部 voided 数
↩ Revival(SLOP → 抽 NFT,需 voidedCount ≥ 100)
烧 SLOP 抽随机 voided NFT。Dutch 起 576 / 地板 100 / 每块 -1。一笔 pending 全局唯一。
requestRevival(maxCost)— 烧 SLOP,记 target = block + 32- 等 32 块(~6 min)
finalizeRevival()— blockhash 抽签 → NFT 转给 requester + 新 embedding
📋 合约地址速查
- Slonks NFT:
0x832233dd...5845108 - SlopGame v2:
0xb4ffbcce...7bfc9d11 - $SLOP Token:
0x999b49c0...da025108 - ZK Verifier:
0x5cbe9cbe...45064eb3
$SLOP 代币机制(链上验证)
- 合约 hard cap: 5,760,000 SLOP = 10000 × 576 像素 (合约
MAX_SUPPLY) - Cap 检查:
_mintCapped→totalSupply() + amount > MAX_SUPPLYrevert - LP 注入: 576,000 SLOP @ $50K MC = $0.0868 起始价(
mintLaunchInventory一次性铸造给 PoolHook) - Void 解锁: 2026-05-07 17:30:23 UTC(链上
voidingStartsAt()) - 1 slop pixel = 1 SLOP(void claim 后
mint(recipient, slop * 1e18)) - Pool fee 1% → buy-and-void treasury(
buyAndVoidEthAccrued累积 ETH,定期买回 floor 进 void)
💡 完整手续费分类速查 → 切到 💸 手续费 sub-tab
⚠ 真实上限 ≠ 硬上限(重要)
5.76M 是「累计 mint 净值」cap,不是「实际能流通」量。这是社区/dexscreener 普遍误算的地方。
分两种场景算上限:
- 1 轮全 void(无 revival):上限 = LP + Σ(每只 slop)
当前 = 576,000 + ~398,000 = ~974,000 SLOP(仅占硬上限 17%) - 多轮 revival cycle re-roll:每次 revive 烧 100-576 SLOP,被抽中的 NFT 拿到新 embedding,slop 数被 re-roll 后可继续 void。
理论上无穷多轮可逼近 5.76M,但实际收敛速度由:(a) revival Dutch 起价 576 SLOP/张 (b) re-roll 后新 slop 数(embedding 漂移到 high-slop 概率小)决定。
当前看板 SLOP 供应 tab 同时显示「真实 FDV = price × 974K」和「理论 FDV = price × 5.76M」,前者更接近实际可达上限,后者被 dexscreener 默认显示。
Voiding (NFT → SLOP)
把 NFT 销毁换 $SLOP。流程:
1. 离线跑 ZK prover (slonks.xyz/void UI · fallback: CLI) 输入: tokenId 输出: zkProof(证明模型渲染了什么) 2. 提交 proof + tokenId 上链 3. 合约 verify proof,对照原 Punk → mint slop_count × SLOP 给你 → NFT 进 void pool
为什么用 ZK:链上跑 transformer 太贵(5-15M gas)。证明计算转链下,验证留链上(只 ~200K gas)。
Revival (SLOP → NFT)
烧 $SLOP 从 void 仓库抽一只 NFT。Dutch auction 定价:
- 起价 576 SLOP
- 每个 block –1,地板 100 SLOP
- 32 blocks 后随机抽(避免抢跑)
- 抽到的 NFT 被赋新 embedding(slop 重算 → 通常变化)
💸 手续费总览(速查)
每笔操作的 fee / gas / 收款人。(链) 链上验证 · (平) 平台规则 (OS / Uniswap) · (白) 白皮书。
| 操作 | 费率 | ~gas | 收款人 | 来源 |
|---|---|---|---|---|
| NFT 二级市场(OpenSea) | ||||
| Slonks 创作者版税 | 5% 卖价(required, 不可 opt-out) | — | 0x6fe2397c…2241a0 |
OS API (平) |
| OpenSea 协议费 | 1% 卖价(required) | — | 0x0000a26b…faa719 (OS protocol) |
OS API (平) |
| OS 总 fee | 6% 卖价(卖家自掏,买家无加价) | 5% Hirsch + 1% OS | 合并 | |
| NFT 转让 (transferFrom) | 0 | ~50K | — | ERC-721 标准 |
| setApprovalForAll | 0 | ~50K | — | 一次性,全 wallet 复用 |
| $SLOP 代币交易(Uniswap V4) | ||||
| Pool fee(每笔 swap) | 2% 交易额 | ~150K | 1% buy-and-void treasury + 1% team | 白皮书 (白) |
| SLOP 转账 | 0(无 transfer tax) | ~50K | — | Solady ERC-20 (链) |
| 协议机制(SlopGame v2) | ||||
| Void(NFT → SLOP) | 0% 协议费(mint = slop pixels × 1 SLOP 全给你) | ~470K(lock 120K + claim 350K) | — | SlopGame.claimSlop (链) |
| Revive(SLOP → NFT) | 烧 Dutch 当前价 SLOP(576 起 / 100 floor,每块 -1,paid 后 reset 起价) | ~230K(request 80K + finalize 150K) | 烧(permanent burn,无人收) | SlopGame.requestRevival (链) |
| unlockSlonk(reverse lock) | 0 | ~80K | — | claim 前可取回 NFT |
| Merge(NFT + NFT → 升级) | 0 SLOP fee(donor 永久销毁) | ~100K | — | MergeManager (链) |
| buyAndVoidSlonk(任何人触发) | 0(用 treasury ETH 买 + 进 void,不铸 SLOP,反通缩) | ~200K | protocol(用累积 ETH) | SlopGame · 1% pool fee 累积来源 |
典型套利路径的总成本
给 EV 计算用的"实际总扣费"列表:
| 路径 | 买入侧 | 转换 | 卖出侧 | 有效 fee 损失 |
|---|---|---|---|---|
| 纯 Void 套利 买 NFT → void → 卖 SLOP |
OS 买价 × 1.0 + ~50K gas | void: 0% 协议费 + ~470K gas | V4 swap 卖 SLOP:2% pool fee + ~150K gas | ~2% + ~670K gas |
| Merge 套利 买 2 NFT → merge → void survivor → 卖 SLOP |
OS 2 笔 × 1.0 + ~100K gas | merge ~100K + void ~470K gas | V4 swap 卖 SLOP:2% + ~150K | ~2% + ~820K gas |
| Revival 套利 买 SLOP → revive → void 抽中 NFT → 卖新 SLOP |
V4 swap 买 SLOP:2% + ~150K gas | revive: 烧当前 Dutch (100-576 SLOP) + ~230K gas,再 void: 0% + ~470K gas | V4 swap 卖:2% + ~150K | ~4% + 烧的 SLOP + ~1M gas |
| NFT 倒手 OS 低价买 → OS 高价卖 |
OS 买价 × 1.0 | — | OS 卖:你收到 卖价 × 0.94 | 6% 卖出价(不算价差) |
实测真值(链上 / OS API 验证)
- Slonks NFT 版税:5% 卖价(OS 标 required: true)→ recipient
0x6fe2397c…2241a0,已累计入金 ~102 ETH ↗ - OS 协议费:1%(required)→
0x0000a26b…faa719 - NFT 卖家实收 = 卖价 × 94%。买家成本 = 卖价 × 1.0(OS 不在买家头上加 fee)。
- 链上 ERC-2981
royaltyInfo()返回 (0x0, 0) — 不通过 ERC-2981 enforce。 - 真实 enforcement = OS UI 层强制 + CW-3 transferValidator
0x721c008f…42e3(Limit Break V3 operator allowlist)。直接链上 EOA 间transferFrom不扣版税(不算 sale)。
⚠ EV 计算 / 套利定价时
- 买 NFT 价:OS listing 价就是你付的 ETH(OS 不在买家头上加 6%;6% 从卖家收入里扣)。
- 卖 NFT 价:你实收 = listing × 0.94(OS UI 自动扣 5% 版税 + 1% 协议费)。
- SLOP 卖出:V4 pool 自动扣 2%,你实收 SLOP × 0.98 等价的 ETH(含 V4 quote 滑点另算)。
- Revive:烧的 SLOP 是 sunk cost。即使抽到的 NFT void 出来比烧的少,也无法回收。
- Gas:当前 mainnet ~10-30 gwei × 470K = 0.005-0.015 ETH 单 void 操作。批量 void 时 approve 复用,每只增量约 0.003-0.01 ETH。
套利数学
核心公式:
cost_USD = price_ETH × ETH_USD yield_USD = slop × P(SLOP) break-even = cost_USD / slop = 你需要的 SLOP 价
cost = $630 → break-even $3.15/SLOP
若 launch 后 P(SLOP) = $5 → 利润 $370 (+59%)
若 P(SLOP) = $2 → 亏损 $230 (-37%)
看板把所有 listing/合成 pair 按 break-even 升序排列,最上面的 = 最早 +EV。
误区: Collector 溢价 ≠ SLOP 收益
L4 比 L1 贵不代表 L4 void 出更多 SLOP。两者是不同的价值来源:
- Collector 溢价: 高 level (L3+) 罕见 → 收藏者愿付高价
- SLOP 收益: 只看 token 当前 slop 数
想做纯 SLOP 套利 → 看 $/slop 最低,忽略 level。
想做收藏品 → 看 level 稀缺度。
关键合约地址(链上真值)
Slonks ERC-721 0x832233ddB7bcFFD0eD53127DD6bE3F1Aa5845108 (immutable) $SLOP Token (ERC-20) 0x999b49c0d1612e619a4a4f6280733184da025108 (immutable, capped 5.76M) SlopGame (void/revival) 0xb4ffbcce990a9a0b5f84722ba2d5db4e7bfc9d11 (mint authority) PoolHook (Uniswap V4) 0xb89348ed102f4051c162df24748281c54014e34c ZK Verifier 0x5cbe9cbedc27dd4f082119586f5d924645064eb3 Hirsch deployer 0x0dc1dd32b1300818c977ce5a36a464a5c0c14550 (owner, NOT renounced) CryptoPunksData ext 0x16f5a35647d6f03d5d3da7b35409d65ba03af3b2 (sealed)
slonksRenderer() 是 owner 可换的(Hirsch launch 前换过 4+ 次)。imageModel / cryptoPunksData / mergeState 都是 SlopGame ctor 中的 immutable。SlopGame.modelOutputVerifier() 也是 owner 可换的(理论上可以换 ZK 验证逻辑)。下面的「去信任化健康度」面板每 5 分钟从 Alchemy 链上拉真值,发现变化立即红条。🔒 去信任化健康度(链上真值 · 每 5 分钟刷新)
1778175023 (2026-05-07 17:30:23 UTC),immutable in ctor
diffPixelCount = slop。Hirsch 换它就改 slop 数。期望: 0x5e68c484…
0x5cbe9cbe…
0xca116243…
setMinter。0x0=已 renounce(理想),Hirsch=未弃权(现状),其他=已转移(立即查)
setModelOutputVerifier + 几个运营参数
setSlonksRenderer + 一系列 metadata setter
lockModel / 改 weights — 但已 lock,影响有限
数据 5 分钟一刷 · 来源 Alchemy 直 RPC · 9 个并行
eth_call
—
原始 status 数据
加载中...
价格数据源
加载中...