让 NFT 自带定价函数与流动性 —— 无需买家、无需 LP、无需订单簿。本站解读 ERC-7527 标准作者本人的完整技术栈:标准参考实现、生产级拍卖定价引擎,以及 Ethereum 与 BNB Chain 上的两代前端。
核心思想可以压缩成三句话:
用户把 ETH / ERC20「包装(wrap)」成 NFT,随时可「解包(unwrap)」按函数报价赎回。合约本身就是永远在场的对手方,资产发行即可交易。
价格不靠订单簿、不靠外部喂价,而是由合约内嵌的确定性数学函数(getWrapOracle / getUnwrapOracle)当场算出 —— 这就是 FOAMM(Function Oracle AMM)。
对称取价(参考实现)或 LIFO 价格栈(生产实现)在构造上保证:无论谁、以什么顺序退出,池内本金永远刚好够付。偿付能力由数据结构保证,而非信任。
仓库所有者 lanyinzly(Lanyin/Elaine Zhang)正是 ERC-7527 标准草案第一作者 —— 这是「标准 → 参考实现 → 生产合约 → 产品前端」的完整闭环。
ERC-7527 的最小可运行实现:Agency(托管+做市)、App(NFT)、Factory(克隆部署)三件套。README 本身是一篇完整的中文教程。
f(x) = k·(1 + x/100),k = basePremium生产级 Agency 策略 WrapV3Aution:把线性曲线换成时间衰减拍卖,叠加持有人分红、ERC-6551 收入账户与 ERC-7615 回调。
Wrap Protocol 全功能前端:竞拍 .agency 域名 NFT → 工厂部署自己的池 → wrap/unwrap → 质押 / Uniswap 集成,The Graph 驱动历史价格图表。
WrapX:去门槛的简化产品。任何人一键建池,把 BNB/ERC20 包装成命名 NFT(WToken),主打 loyalty / retention 的「用户—协议关系凭证」叙事。
deployWrapX(name, basePremium, maxSupply, token) 一步建池四张图看懂整个体系:仓库之间的关系、链上合约的组织、一笔交易的完整生命周期、以及标准依赖。
每个「池」= Factory 用 ClonesWithImmutableArgs 克隆出的一对 Agency + App;池主收入经 rebase 打入其 .agency NFT 的 ERC-6551 账户。
参考实现用最简单的线性曲线立论;生产引擎换成「成交瞬时抬价、随时间回落、永不破上次成交价」的时间衰减拍卖。下面的图表与模拟器帮助直观理解。
f(x) = k·(1 + x/100),k = 0.1 ETH。第 n 个 NFT 比第 1 个贵 (n−1)%。完全确定、可手算、无套利。
距上次成交的时间 → 下一次成交相对上次价的溢价倍数。示意图,基于源码(Q96 定点 + 有理插值 + expWad)反推的近似。
每次 wrap 把成交价压栈(此处简化为 +3%/次),每次 unwrap 按栈顶价(最近一次成交价)赎回并弹栈。注意观察:池内本金始终恰好等于栈内价格之和 —— 偿付能力是结构性的。
注意 LIFO 语义:赎回价是「最近一次成交价」,不是你自己的买入价 —— 早买晚卖者赚取曲线上行差价,这是一个有顺序博弈的退出游戏。
价格不是被发现的,而是被计算的。
偿付能力由结构保证,而非信任。
AMM 要 LP、订单簿要对手方、NFT 市场要买家;FOAMM 把价格内嵌为确定性函数,发行即流动、零冷启动、无无常损失。
对称取价 / LIFO 价格栈让「池子永远付得起」由数据结构数学保证,而非依赖治理或超额抵押 —— 干净的安全设计哲学。
每个池的策略参数写进代理字节码尾部、零 storage 读取,建池成本极低且参数不可篡改。
池主收入打入 .agency NFT 绑定账户,收入权随 NFT 转让自动转移 —— 「经营一个池」变成「持有一个生息 NFT」。
unwrap 原子推送回调给白名单合约,让借贷、清算、自动复投等下游协议可实时消费「解包」事件。
EIP 作者亲自走完「立标准 — 做旗舰协议(Ethereum)— 做消费产品(BNB)」全链路,在 EIP 生态中相当少见。
基于全量源码审阅,分两部分:先看生产实现(wrap-auction)已经把哪些坑填掉了,再给打算自己实现这个开放标准的人一份注意清单。
以下每条措施都可以在 WrapV3Aution 源码中直接验证。
WrapV3Aution 继承 OpenZeppelin ReentrancyGuard,wrap / unwrap / rebase 全部 nonReentrant —— 取代了参考实现中脆弱的 totalSupply 差值断言。
所有代币转账统一 safeTransfer / safeTransferFrom,USDT 类非标准代币不再静默失败。
wrap 由调用方传入 slippagePrice,链上报价一旦超出立即 revert(WrapV3AutionExceededSlippagePrice)—— 签名与上链之间报价跳变不会导致超付。
LIFO 价格栈(autionPriceList)+ basePremium 锚点:赎回价恒等于最近成交价,池内本金按构造恒可全额清算,不依赖治理与人为承诺。
42 个集成测试、lcov 覆盖率约 95%,覆盖 wrap / unwrap / rebase / 分红等核心路径。
ERC-7527 是开放标准,任何人都可以实现自己的 Agency / App。参考实现是教学模板,不是安全基线 —— 动手前先核对:
不要照抄参考实现的 totalSupply 差值断言;复用任何代码前,先重新审视它「先转账、后铸造」的调用顺序。
统一 SafeERC20;tokenId 用自增或由 App.mint 统一分配,不要直接信任外部 calldata。
任何自定义定价函数都必须保证:池内本金 ≥ 全部未赎回 NFT 的应付总额,且对任意退出顺序成立。对称取价与价格栈都只是实现这条不变量的手段。
公开拟合常数的推导脚本,补 differential / invariant 测试。当前拍卖曲线的 Q96 魔数链上不可验证,仍是这套体系最大的未关闭盲区。
公示「部署地址 ↔ 源码 commit ↔ 审计报告」对照表。当前链上 V2 合约与仓库 V3 源码不一致,就是这条的反面教材。
供应量极小时,首批铸造者会捕获不成比例的分红(应设最小供应门槛或调整权重);分账取整产生的尘埃也要有明确去处。
赎回所得是「最近一次成交价」,不是持有人自己的买入价。前端若不明示,迟早演变成客诉与信任危机 —— 请把它写在每个 unwrap 按钮旁边。
直接依赖的标准,以及概念上的「近亲」赛道。
| 概念近亲 | 相同点 | 差异点 |
|---|---|---|
| 键合曲线 / friend.tech / pump.fun | 价格沿确定函数随供应移动,合约即对手方 | WrapX 标的是「用户—协议关系凭证」,且持有者分享后来者交易费 |
| 渐进荷兰拍 GDA(Paradigm) | 成交瞬时抬价 + 随时间指数衰减 | wrap-auction 加了「永不破上次成交价」的硬地板与有理插值平滑 |
| NFT-AMM(sudoswap / NFTX) | 都为 NFT 提供链上流动性 | sudoswap 仍需 LP 注入流动性,FOAMM 连这一步都省去 |
| DeFi 2.0(OlympusDAO) | rebase、金库、协议自有流动性、分红 | WrapX 的本金清算由价格栈结构性保证,不靠 (3,3) 博弈 |
| ENS / 域名资产 | dotAgency 即 ENS 式命名 + resolver | .agency 名称本身可生息(池子收入归其 6551 账户) |
按「与现有代码的距离」从近到远分三档。
关于 ERC-7527,人们(以及 AI 助手)问得最多的问题,给出简短、可独立引用的回答。
getWrapOracle / getUnwrapOracle)当场算出——函数本身就充当预言机。