设想你同时开着两个借贷协议的页面。A 协议显示,借 USDC 年化 4%。B 协议显示,存 USDC 年化 7%。从 A 借 10 万 USDC,转手存进 B,一年收 7000 美元利息,付 4000 美元利息,留下 3000 美元。
真要动手,第一个问题马上冒出来。A 不会凭你的脸借钱,它要你先押进去价值大约 15 万美元的 ETH。再往下想还有第二个问题。你要是手里本来就有 10 万 USDC,直接存 B 拿 7% 就行,何必绕一圈。所以这笔交易真正的样子是,手里有一堆 ETH 不想卖,把它押出去借稳定币,再拿稳定币去赚利差。
这篇只回答一个问题,那 3% 到底能不能落进口袋。我的判断是,它只是毛利差。要变成净利润,至少要扛住三件事。两边利率在你持有期间别变脸,抵押品别被清算,想走的时候钱取得出来。最后算回报率时,分母还得是你押上的全部资本,而不是借来的那 10 万。

先弄清那 3% 是谁付的
B 协议给存款人的 7%,来自在 B 借钱的人。这些借款人明明可以去 A 借 4% 的钱,却愿意在 B 付更高的利息。他们不傻,通常是有原因的。
常见的原因有几种。B 可能接受 A 不收的抵押品,比如某个小币种,借款人只能来 B。B 可能在另一条链上,那里的稳定币少,钱自然贵。A 可能给某个资产设了借款或存款上限,额度满了,后来的人只能去别处。B 也可能是新协议,合约没经过多少时间检验,存款人要求更高的回报才肯进来。还有一种是补贴,协议自己掏钱或发代币,把页面上的收益率抬高。
这几种原因里,只有一部分是套利者真正能吃的。额度限制、跨链搬钱麻烦,这类摩擦让资金流得慢,价差会存在一段时间,先把钱搬过去的人能赚到。合约风险、抵押品风险、补贴会不会停,这些不是摩擦,是风险本身的价格。你拿了这部分利息,也就接下了对应的风险。
这也是为什么借的和存的必须是同一种东西。借美元、存美元,主要面对利率差。借日元、换成美元再存美元,还多了一层汇率风险,这更接近外汇市场的套息交易。日元一旦升值,几年的利差可能被几天的汇率波动吃掉。
加密市场里也一样。借 USDC 去存一种号称锚定美元的算法稳定币,就不是纯利差。两种资产并不等价,脱锚、兑换限制和发行人风险都会进入损益。名字都带 USD,不代表你能用另一种币原样还债。
期限也要一致。按天浮动的借款去赚锁定三个月的收益,表面上都是美元,风险却不对称。借款利率明天就能上调,存款却要到期才能取出。传统银行把这种问题叫期限错配。链上合约换了界面,时间没有换掉。
网络和封装形式同样算数。Ethereum 上的 USDC、某条侧链上经过跨链桥映射过去的 USDC,以及协议自己发行的存款凭证,背后的信用来源并不完全相同。如果退出时必须走跨链桥,桥的暂停和额度限制也属于这笔利差交易的一部分。
两块牌子会自己改价
链上借贷的利率大多是浮动的。Aave 的官方说明写得很直接,借款利率是动态的,会随资金利用率和治理参数变化。资金利用率就是池子里的钱有多大比例被借走了。池子越缺钱,借款成本通常越高。你建仓时看到 4%,下个月未必还是 4%。
Aave 的利率曲线像一根折过的尺子。官方的利率策略文档给出了这条分段曲线。利用率低于目标值时,借款利率缓慢上升。超过目标值以后,斜率突然变陡,用更高的价格劝借款人还钱,也吸引新存款进来。所以高利用率下的高利率更像警报,说明池子快没有可取的钱了。
存款端的利率是从借款端派生出来的。借款人付的利息,先按利用率打折,再扣掉协议留存的那一份储备金,剩下的才分给存款人。粗略地写就是,存款利率约等于借款利率乘以利用率,再乘以一减储备金比例。
拿 B 协议走一遍。假设 B 的 USDC 池有 100 万存款,借出去 80 万,利用率 80%。借款利率 10%,储备金比例 10%。存款利率约为 10% × 80% × 90% = 7.2%,和页面上的 7% 差不多。
现在你把自己的 10 万存进去。存款变成 110 万,借款还是 80 万,利用率掉到约 72.7%。就算借款利率一点不动,存款利率也变成 10% × 72.7% × 90%,约 6.5%。实际上利用率下降时借款利率也会跟着往下走,存款利率会掉得更多。你还没开始赚,自己的钱已经把利差压掉了一截。池子越小,这个效应越明显。
别人看到同样的机会也会进来,价差会被一起压平。所以程序不能只在建仓时比较一次,它要持续计算净利差,并且事先写好借款成本追上存款收益时怎么退出。
比较之前还要统一口径。APR 是简单年化,不算利滚利。APY 假设收益不断复投,把利滚利也算进去。同样是 6% 的 APR,按天复利换算成 APY 约为 6.18%。一个平台显示 APR,另一个显示 APY,直接相减会凭空造出一条利差。程序应先把两边都还原成同一时间单位的现金流,再做比较。

为了借一块钱,先押一块半
链上借贷没有信用审核,协议只认抵押品。所以它要求超额抵押,押进去的东西要比借出来的值钱。开头那笔交易里,你押了价值 15 万美元的 ETH,借出 10 万 USDC。账上从此多了一份会涨跌的资产,它决定了这笔交易能不能活下去。
Aave 用健康因子衡量仓位安全程度。按它的清算说明,健康因子等于抵押品总价值乘以加权平均的清算阈值,再除以债务总额。清算阈值由治理给每种抵押品单独设定,表示这份抵押品最多能撑住多少债。健康因子低于 1,仓位就可以被清算。
ETH 的清算阈值在 Aave 不同市场里并不一样,还会被治理投票调整。2026 年 5 月 Aave治理论坛的一份提案里,各个 V3 市场的 WETH 清算阈值在 83% 到 85% 之间,清算奖励在 5% 到 6% 之间。下面按 83% 举例,实际以协议当前参数为准。健康因子 = 15 万 × 83% ÷ 10 万,约 1.25。看着离 1 还有距离。反过来算清算线,抵押品要跌到 10 万 ÷ 83%,约 12 万美元,健康因子就碰到 1。也就是说,ETH 跌掉大约两成,你就进入可清算区。这个跌幅 ETH 一周之内就走完过,2022 年 11 月 FTX 倒闭那一周,CNBC 报道的周跌幅是 24.3%。
清算的过程是这样的。外部的清算人替你还掉一部分债,拿走等值的抵押品,再额外多拿一份清算奖励。假设清算人还掉 5 万 USDC,奖励按 5% 算,他会拿走价值 5.25 万美元的 ETH。那多出来的 2500 美元,接近这笔交易原本一整年的毛利差 3000 美元。而清算往往发生在 ETH 急跌的时候,你被迫在低位卖掉了一部分本来不想卖的币。
所以把抵押率压到红线附近去追 3% 的年化差,等于拿清算风险换利息。押得越多越安全,但同样的利差除以更大的本金,回报率也越难看。这是利差交易里绕不开的一对矛盾。
有人会把借来的稳定币再存回同一个协议,拿存款凭证继续抵押,再借再存。循环几次以后,页面上的存款规模和奖励都变大了,净资产却没有按同样的速度增长。每多一层,债务就多一层,清算线也被拉近一点。这更像加了杠杆的利率仓位,收益并不是凭空复制出来的。
抵押品和债务如果走势相近,风险会小一些,但不会消失。以 ETH 抵押借稳定币,ETH 下跌直接伤害健康度。以一种稳定币抵押借另一种稳定币,看着两边都是一美元,任何一边脱锚都会改变两边的价值。预言机多久更新一次价格、清算阈值是多少、协议在什么情况下会暂停,这些都决定了出事时你有多少反应时间。
收益率越高,越要追问钱从哪来
Terra 链上的 Anchor 协议曾给 UST 存款开出 19.5% 的年化,很多人把它当成一种新式存款。里士满联储 2022 年 7 月的一篇分析算过这笔账。截至当年 4 月底,Anchor 的利息收入约 7 亿美元,要付给存款人的却约 26 亿美元,差额靠 Terra 的收益储备金补上。5 月 7 日起,UST 开始承压脱锚,存款人跟着从 Anchor 往外撤。CoinDesk 当时的报道显示,Anchor 的存款从 5 月 6 日的 140 亿美元降到 9 日的 87 亿美元。几天之后,UST 在 Binance 上跌到了 0.22 美元左右。
放回本文的框架里看,借 USDC 去存 UST 赚那十几个点,至少错了两处。借的和存的不是同一种东西,UST 脱锚以后,存款本金本身就缩水了。付利息的也主要不是借款人,而是一笔会用完的储备。利差再宽,也盖不住本金跌掉大半。
判断一条利差,先问高利率是谁付的。真实的借款人在付,协议在补贴,还是后来的参与者在承担。再问这笔钱用什么资产支付,能不能及时卖出,卖的时候会不会把价格砸下去。
奖励代币最容易把报表变漂亮。基础利息可能只有 3%,平台再发一种自己的代币,把页面年化抬到 12%。如果每天收到的代币都得马上卖掉,真正能成交的价格和市场深度才是你的收入。把还没解锁、没人接盘的奖励按屏幕价格算进收益,就像拿商场优惠券去交房租。
高收益还可能来自流动性紧张。池子里可取的钱只剩一点时,利用率接近 100%,存款利率很高,可你未必能马上取走全部本金。借款人还钱之前,合约也变不出可以提现的资产。看到高利率就冲进去的人,可能正好成了最后一批取不出钱的人。利率和流动性说的其实是同一件事。
让程序替你盯住这些变化
一个能用的利差程序,要持续读取两端的实时存借利率,统一成相同的年化口径,再把奖励代币按实际能成交的价格打折。抵押品价格、健康因子、两边池子的可用流动性和取款排队情况也要一起监控。退出时要付的 gas 和兑换滑点,也要提前算进去。gas 是链上每笔操作付给网络的手续费,拥堵时会涨很多。
更要紧的是,它不能把现在的年化当成未来一年的事实。可以拿历史利率做压力测试,在建仓前就写好规则。借款利率升到多少要退出,ETH 跌到多少要补抵押品,链上拥堵、gas 暴涨时还能不能及时操作。
退出顺序也要想清楚。正常的退出路径是,先从 B 取回存款,再拿这笔钱去 A 还债,最后取回 ETH。如果 B 恰好缺流动性,第一步就卡住了,A 那边的债却还在计息,ETH 还在涨跌。所以系统应当预留一部分可用资金,或者允许分批降低仓位,别等两边同时关门才动手。
记账也要分栏。基础利息、奖励代币、抵押品涨跌、清算损失和 gas 各记各的。如果最后赚钱只是因为 ETH 涨了,就不能把功劳记在利差策略头上。策略叫赚利率差,报表就该证明钱确实是从利率差里来的。
把整笔账算完
回到开头那笔交易。押 15 万美元的 ETH,从 A 借 10 万 USDC,存进 B。
理论收益是 3%,一年 3000 美元,前提是两边利率一年都不动。这只是起点。
假设进出两次的 gas 和兑换成本合计 300 美元,没有奖励代币,一年下来账面剩 2700 美元。分母如果写借来的 10 万,回报率是 2.7%。写成实际押上的 15 万,就只有 1.8%。
再把前面算过的变化放进来。你自己的存款把 B 的利率压到 6.5% 左右,A 那边如果有别人大量借款,利率涨到 5%,利差就只剩 1.5%,一年 1500 美元,扣掉成本剩 1200,对 15 万资本是 0.8%。中途若遇到一次前面那样的部分清算,损失 2500 美元,这一年就是亏的。
这些数字都是假设,但它们说明了利差交易真实的样子。页面上的 3% 是在一切都不变的条件下算出来的。真正落进口袋的部分,要扣掉你自己对利率的冲击、对手的竞争、进出成本,还要扛住抵押品的波动和取不出钱的可能。
所以那 3% 可以赚,但它更像一份工资,付给愿意盯盘、愿意承担清算和流动性风险的人。如果算完全部资本、扣掉全部成本之后,它还比直接把 ETH 放着不动更划算,这条利差才值得做。