跳到正文
← 使用教程

Moonwell有供应余额却提不出:核mToken单位、市场现金与抵押限制

链小知 · 进阶 · 核验 · 依官方文档整理

从Core市场的具体资产、份额换算和两类流动性检查定位提现失败;区分基础利息与奖励。

开始前准备

  • 准备本人已有Core市场详情、网络与mToken地址、底层资产/份额精度、仓位读数时间、希望提取的资产数量和原失败信息。
  • 适用于Core mToken/Comptroller;公开方法与固定9a8b980…源码核验,未实际运行客户端、调用RPC或签名。Morpho Vault/Isolated不按此公式。

1. 按网络确认Core市场及资产

在官方Markets路径选目标网络和资产,对照Contracts表的mToken与Comptroller;Base USDC市场与OP USDC市场是不同地址,不能只看USDC名称。读本人已有资产详情中的底层地址,分清mUSDC份额与USDC。

若看到mwUSDC Morpho Vault或Isolated,先按对应产品核查。Contracts把Moonriver标为Deprecated/Sunset;2026-07-31官方月报又记录Moonbeam sunset和暂停新增供应/借款,历史地址有余额不代表当前开放。已有退役仓位另核网络可达性、实例和现金,不能套当前活跃市场菜单或保证退出。

检查结果:网络、底层资产、mToken、Comptroller四项明确,未把Vault或退役市场当活跃Core。

2. 把mToken原值换成底层资产数量

已有getAccountSnapshot的四项依次为error、mTokenBalance、borrowBalance、exchangeRateMantissa。先核error=0及相同读数时点;非0错误后面的0不是零仓位。

固定方法按underlyingRaw=floor(mTokenRaw×exchangeRateMantissa/10^18)计算,再按底层decimals显示。例如仅作算术演示:mRaw=250000000、rate=20000000000000000得5000000底层原值;若该资产6位,就是5个资产,不是2.5个。mToken和asset精度各自保存。

方法页18位资产的2e26=2个底层资产例子与整数公式不一致,不能复制;同样的1e8 mRaw代入实际为2e16底层原值。Stored/Snapshot是上次累计数据,不能将旧时点换算当当前可提报价。

检查结果:原始整数、精度和换算过程可复查,错误和旧快照没有补成当前余额。

3. 在Withdraw中确认输入的是资产量

2026帮助给出的路径是Markets→目标资产→Withdraw,输入想收到的底层资产数量,Max也需受抵押和流动性约束。核原提现请求使用redeem(mToken数)还是redeemUnderlying(底层数),别把同一整数直接互换。

基础利息体现在mToken汇率中,不需另claim再提;WELL等激励是另一个余额/领取流程。把页面总APY拆成base和rewards,不能用奖励APY倒推本次提现资产。

检查结果:请求单位对应方法,基础资产与未领取激励分开。

4. 先核市场有没有足够底层现金

比较希望提取的底层原值与同一mToken的getCash材料;这里是市场持有的底层流动性,不是totalSupply、协议TVL,也不是账户的美元借款余量。

固定redeemFresh在cash不足时返回TOKEN_INSUFFICIENT_CASH并拒绝退出。市场高度利用时,即使份额换算权益足够,借出资金仍未回来;帮助列出的恢复途径是新供应或借款偿还,未给确定等待时长。

检查结果:希望提取量与该市场现金对应,流动性不足被单独定位。

5. 再核提取后是否造成账户短缺

若该市场已作为抵押,用本人已有Comptroller材料核membership及提现后的hypotheticalLiquidity/shortfall。getHypotheticalAccountLiquidity的redeemTokens输入是mToken原值,不是准备收到的USDC数量;返回的余量/短缺是USD18精度。

固定redeemAllowedInternal在抵押市场出现shortfall时拒绝;开启抵押本身并不禁止所有提现,关键是提取后健康条件。未作为抵押只可能跳过这项检查,仍需市场现金。退出抵押开关也不是无条件绕过借款要求。

检查结果:账户抵押约束与市场现金约束分开,假设输入没有混单位。

6. 用错误与资产变化完成判断

把原请求的错误码、revert、Redeem字段与mToken减少/底层接收量对应起来。mToken方法可能返回非0但交易没有revert;仅有交易状态成功,仍不能省略协议错误与结果核对。

帮助称Core无供应/提现协议费,但网络Gas另付。整理结论为单位错误、市场现金不足、抵押短缺、读数过旧或其他转账/执行错误;没有完整结果时停在预检或排错结论,不写已到账。

检查结果:失败原因对应可核字段;已有退出结果同时核份额减少与正确底层资产接收。

怎样确认完成

  • 已确认Core市场身份、原始份额换算、现金和抵押两类限制。
  • 已有提现结果可对应份额与底层变化;缺执行证据仅得出预检/错误结论。

常见错误与边界

  • 不能用全部协议流动性替代具体mToken的getCash,也不能用USD借款余量替代底层资产余额。
  • Max不是全额提现保证;汇率权益、可用现金、提取后健康与实际执行是不同判断。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据