Bot DeFi bot DEX 開発ログ

🛠️開発記録#553(2026/8/26)ライフサイクルの転換点にエッジを探す|DFK Chain終了イベントを検証した話

こんにちは、よだかです。

前回の記事では、

「チェーンが終了するとき、期限付きの資産移動によって一時的な価格歪みが発生するのではないか」

という仮説について書きました

いわゆる「チェーンの閉店セール」です。

前回調べたSecret Networkでは、そもそも前提にしていたArbitrum移行が実施されないことが分かり、仮説そのものを捨てることになりました。

関連記事
🛠️開発記録#551(2026/8/24)DeFiチェーンの終了イベントにエッジはあるか? 仮説を作って捨てるまでの話

続きを見る

今回は、その続きです。

実際に終了が決まっている DFK Chain を対象に、shutdown前のオンチェーン市場を観測しました。

結果から書くと、

かなり大きな価格変動は見つかった。しかし、トレード可能なエッジとは確認できなかった。

という結論になりました。

一方で今回の調査を通して、

プロトコルやチェーンのライフサイクルが切り替わる瞬間に発生する歪みを探す

という研究テーマが、かなり明確になってきました。

今回はこの考え方を、

Lifecycle Transition Edge

として整理してみます。


DFK Chainとは何だったのか

DFK Chainは、DeFi KingdomsというGameFiプロジェクトのために作られた専用チェーンです。

DeFi Kingdomsは2021〜2022年前後のGameFiブームの流れにあるプロジェクトで、

ゲーム
+
独自トークン
+
DEX
+
Liquidity Pool
+
NFT
+
staking

などを一つの経済圏として組み合わせていました。

DFK Chainはその中でも、Crystalvaleというゲーム世界を動かすためのチェーンです。

そこには、

CRYSTAL
JEWEL
USDC
BTC.b
AVAX

などが存在し、DEX上で交換されたり、LPに預けられたりしていました。

そして2026年7月末、DFK Chainを8月28日にsunsetすることが発表されました。

ユーザーには、

LPを解体すること。

JEWELやBTC、USDC、ETH、AVAXなどを期限までに自分でbridge outすること。

などが案内されています。

つまり、一つのオンチェーン経済圏を畳むために、残っているポジションや資産を整理しなければならない状態になりました。

これは、以前から考えていた「閉店セール型エッジ」を検証するにはかなり分かりやすい題材です。


なぜ終了イベントに注目しているのか

2021〜2022年前後のクリプト市場では、GameFiだけでなく、

独自チェーン、Appchain、Liquidity Mining、cross-chain bridge、wrapped asset、独自トークンなど、多数の小さなオンチェーン経済圏が作られました。

ブームの最中には、

どうやって資金を入れるか

が注目されます。

しかし数年が経ち、縮小・移行・終了するプロジェクトが増えてくれば、今度は逆方向の処理が必要になります。

LPを解体する。

stakingを解除する。

旧tokenを新tokenへ交換する。

bridgeした資産を元のchainへ戻す。

旧chainから新chainへ資産を移す。

こうした処理です。

平常時であれば「何もしない」という選択肢があります。

しかしshutdownやmigration(移行)には期限があります。

つまり、

市場参加者が一定期間内に、ある程度決まった方向へ資産を動かす

可能性が出てきます。

このようなPredictable Flow / Forced Flowが流動性の薄い市場へ流れ込めば、一時的な価格歪みが発生するかもしれません。

これが今回の研究の背景です。


まずDFK Chainを直接観測することにした

今回もいきなりbotを作ったわけではありません。

最初に作ったのはread-onlyのcollectorです。

DFK ChainのRPCを直接読み、

Swap
Mint
Burn
Sync
reserve
LP totalSupply
block
timestamp

などを継続保存しました。

対象は、BTC.b/USDCやWJEWEL/USDC、CRYSTAL/USDCなど主要7 poolです。

また、shutdown後もRPCやhistorical dataが取得できる保証はありません。

そのため、

終了してから調べるのではなく、終了前から市場状態を保存しておく

ことを優先しました。

collectorは現在も動いていて、DFK Chainのshutdownを確認したら最終データを保存して自動停止するようにしています。


24時間観測したら、CRYSTALが約40%下がっていた

最初の24時間を固定windowとして解析したところ、かなり目立つ現象が出ました。

CRYSTALを含む3つのpoolで、

CRYSTAL/BTC.b 約−41%
CRYSTAL/USDC 約−41%
CRYSTAL/WJEWEL 約−43%

と、ほぼ同期して価格が低下していました。

reserveにも同じ方向性が出ています。

CRYSTAL側のreserveは約30%増加。

一方、BTC.b、USDC、WJEWELなどのcounter assetは約23〜25%減少していました。

つまり、

CRYSTALがAMMへ流れ込み、代わりにUSDCやBTC.b、WJEWELがpoolから抜かれている

状態です。

しかも3つのpoolでほぼ同時に起きています。

単一poolだけの異常値という感じではありません。


LPが抜けただけでは説明できなかった

shutdown前なので、当然LPの解体も進んでいました。

実際、観測した7 poolすべてでLP totalSupplyは減少しています。

ただし、CRYSTAL系poolのLP supply減少はおおむね1%前後でした。

一方でCRYSTALの価格は約40%下がっています。

そのため、

LPが解体されたから価格が40%崩れた

という説明では足りません。

Swap方向を解析すると、3 poolすべてでCRYSTALのnet flowはpoolへの流入超過でした。

つまり、

CRYSTAL売却方向のSwap flowそのものが価格を押し下げている

ことがかなり明確になりました。

ここまでは、かなり面白い結果でした。


一見すると「閉店セール」に見えた

さらにeventを調べると、

LPのBurn
→
CRYSTAL売却

が同じtransaction内に大量に存在していました。

最初に見つかったlinkは114件。

重複を除くと57 unique transactionです。

ここだけを見ると、

shutdownを前にユーザーがLPを解体
↓
CRYSTALを受け取る
↓
CRYSTALを売却
↓
USDCやBTC.bなどへ逃げる

という、まさに最初に想定していた閉店セール型のflowに見えます。

ただ、ここでイベント名だけを信用するのは危険です。

transactionの入口まで遡って調べることにしました。


transactionを追うと、意味が違っていた

57件のtransactionを調べると、すべてユーザーEOAからcJEWELのcontractへ送られたtransactionでした。

呼ばれていたmethodは、

claimReward() 27件

withdraw() 21件

emergencyWithdraw() 9件

です。

つまり、ユーザーが直接、

「CRYSTALを売ろう」

としていたわけではありません。

ユーザーが行っていたのは、

報酬を受け取る。

ロックしていた資産を引き出す。

期限前にペナルティを払って引き出す。

といったJewelerへの操作でした。

そして、こうした操作をきっかけにprotocol内部の報酬更新処理が走り、その過程でFeeCollector側の資産処理とCRYSTAL売却が発生していました。

実際に解析したtransactionの中から、それぞれのmethodでCRYSTAL売却量が最も大きかったものを1件ずつ挙げると、次のようになります。

これらは57件すべてを掲載したものではなく、各methodの代表例です。

transactionのinputも確認し、

0xb88a802f = claimReward()

0x3ccfd60b = withdraw()

0xdb2e21bc = emergencyWithdraw()

としてmethodを判別しました。

重要なのは、これらのtransactionでユーザーがCRYSTALのSwapを直接呼んでいたわけではないことです。

transactionの入口はcJEWELに対するclaimやwithdrawで、その操作をきっかけにprotocol内部の処理が走り、結果としてCRYSTAL売却が発生していました。

ざっくり書くと、

ユーザー操作
↓
cJEWEL
↓
protocol内部の報酬更新
↓
FeeCollector側の資産処理
↓
CRYSTAL売却

という流れです。

つまり、

「ユーザーがLPを解体してCRYSTALを投げ売りしていた」のではなく、「ユーザーのJeweler操作をきっかけにprotocol側の機械的なCRYSTAL売却が発生していた」

ということです。

そのため、オンチェーン上で「CRYSTALが売られている」という事実だけを見て、

shutdownを前にユーザーがCRYSTALを直接投げ売りしている

と解釈するのは適切ではありませんでした。

なお、ユーザーのclaimやwithdraw自体がshutdownを理由に行われたのかまでは、この時点では確定できません。

ここで最初の仮説は修正する必要が出てきました。

Jeweler / cJEWELの仕組み

Jeweler 2.0


では、protocolの機械的な売りを狩れないか

ただ、これはこれで面白いです。

ユーザーが直接売っていなくても、

特定のcontract操作
↓
protocolによる機械的な売却
↓
AMMへのprice impact

という構造が存在するなら、その直後の価格歪みを拾える可能性があります。

そこで次に、

CRYSTAL売却直後、複数pool間に一時的な価格差が残るのか

を調べました。

対象transactionについて、売却が発生したblock周辺の価格を再構成します。

そして実際のswapを想定して、

100ドル
500ドル
1,000ドル

のサイズで実効価格を比較しました。

結果はかなり厳しいものでした。

feeやslippageを考慮した後でもプラスだったのは、

100ドル:1/44件

500ドル:0/44件

1,000ドル:0/44件

でした。

medianのnet spreadも、

100ドル:約−2.6%

500ドル:約−10.1%

1,000ドル:約−17.9%

です。

つまり、

protocolによる機械的な売りは存在する。しかし、そのprice impactを後からbotで拾えるだけの価格差はほぼ残っていない

という結果になりました。


外へ持ち出して売る経路も確認できなかった

DFK内部で裁定できないのであれば、

DFK Chainで安く買う
↓
bridge
↓
Avalanche C-Chainなど外部市場で売る

という方法も考えられます。

これが成立すればcross-chain arbitrageです。

しかし、こちらも確認できませんでした。

Synapseについてdirect routeだけでなく別経路も確認しましたが、USDC、BTC.b、AVAX、WJEWELはいずれもtoken metadataは残っているものの、調査時点では利用可能なlive route quoteを取得できませんでした。

つまり、

DFK上では安く見える
↓
でも、その価値を別市場へ運んで実現する経路が確認できない

という状態です。

これはかなり重要です。

Bridged Tokens


40%安くなっても、それだけではエッジではない

今回一番分かりやすかったのはここです。

CRYSTALは約40%下落しました。

数字だけ見ればかなり大きな価格変動です。

しかし、

「40%安くなった」

と、

「40%のdiscountが発生した」

は全く違います。

discountというためには、

何に対して安いのか

が必要です。

例えば、

旧tokenを1:1で新tokenへ交換できる。

wrapped assetをcanonical assetへ1:1でredeemできる。

別市場へ同じassetを運んで高く売れる。

といった、価値のアンカーが必要です。

今回のCRYSTALでは、

価格が下がった
↓
複数poolもほぼ同期して価格を下げた
↓
内部裁定できるspreadは残らない
↓
外部へのlive exitも確認できない

となりました。

この場合、安くなったCRYSTALを買っても、

「そのうち値段が戻るかもしれない」

という方向性のポジションになるだけです。

今回探しているアービトラージ型のedgeとは別物です。


市場現象とトレードエッジは分けて考える

これは最近の研究全般でかなり意識している部分です。

市場に面白い現象があることと、

その現象から利益を得られることは別です。

DFK Chainでは、

LP withdrawal

CRYSTALのdirectional sell flow

約40%のmulti-pool repricing

protocolによる機械的なCRYSTAL sell

までは確認できました。

つまり、

market phenomenon自体は本物です。

しかし、

繰り返し取れるcross-pool spread

意味のある取引サイズ

外部へのlive exit

価格が収束するvalue anchor

は確認できませんでした。

そのため今回の結論は、

Market phenomenon: CONFIRMED
Tradeable edge: NOT CONFIRMED

です。


イベントだけを見て経済的な意味を判断しない

今回もう一つ大きかったのが、eventの読み方です。

Phase 2Aの段階では、

Burn
+
CRYSTAL sell

が同じtransaction内に大量にあったため、

ユーザーLP unwind → CRYSTAL liquidation

にかなり見えました。

でもtransactionを一段上まで追った結果、その解釈は間違っていました。

今後は、

Event
↓
Transaction
↓
Contract
↓
Actor
↓
Economic Beneficiary

まで確認する必要がありそうです。

オンチェーンではイベント自体は正しくても、

そのイベントを経済的に誰の行動と解釈するか

で意味がまったく変わります。

これは今回かなり実感したところです。


研究をいつ切るかも決めておく

こういう探索研究をしていると、

「もう一つ調べれば何かあるかもしれない」

を延々と続けることができます。

そこで今回は最後にClosure Auditを行いました。

確認したのは、

ユーザー操作とprotocol sellの関係。

売却直後のblock-level spread。

bridge routeが見つからなかったのが単なる検索ミスではないか。

などです。

結果として、

shutdown期間中にJeweler周辺のactivityが増えた可能性は残りました。

しかし、そのflowから繰り返し利用できるspreadは確認できず、外部exitも確認できませんでした。

ここまで確認したところで、DFK固有の追加実装は終了しました。

collectorだけは8月28日のshutdownまで継続し、chain停止後に最終状態を保存して自動終了する予定です。

研究としてはcase studyとして残します。


「閉店セール」からLifecycle Transition Edgeへ

今回までの調査を通して、「閉店セール」という考え方を少し広げて整理できそうです。

プロトコルやチェーンにはライフサイクルがあります。

立ち上がる。

成長する。

成熟する。

縮小する。

別の仕組みへ移行する。

終了する。

そして、その転換点では通常時には存在しない資産移動が発生します。

chain shutdown。

token migration。

bridge deprecation。

staking終了。

旧versionから新versionへの移行。

wrapped assetからcanonical assetへの交換。

こうした局面です。

そこで、

ライフサイクルの転換によって発生する期限付き・方向性のある資産移動と、価値収束経路の間に生じる価格・流動性・時間の歪み

を、

Lifecycle Transition Edge

として考えることにしました。

閉店セールは、その中のSunset / Shutdown型という位置づけです。


今回のDFKで足りなかったもの

Lifecycle Transition Edgeを成立させるには、単に資金が動くだけでは足りません。

今回の経験から、少なくとも、

Lifecycle Transition
↓
Forced / Predictable Flow
↓
Price Impact
↓
Actor Attribution
↓
Value Anchor
↓
Executable Exit
↓
Convergence
↓
Capacity

まで確認する必要がありそうです。

DFKでは、

Lifecycle Transition

Predictable Flow

Price Impact

まではかなり強く確認できました。

しかし、

Value Anchor

Executable Exit

Capacity

で止まりました。

だからedgeにならなかった。

この切り分けは、次の探索ではかなり使えそうです。


過去のブームの「後片付け」を見る

この研究テーマが面白いと思っている理由は、今のクリプト市場がある意味で過渡期にあるからです。

過去のブームでは、多くの新しい経済圏が作られました。

GameFi。

Alt-L1。

Appchain。

Liquidity Mining。

cross-chain bridge。

wrapped asset。

高利回りstaking。

これらの全てが永久に残るわけではありません。

数年経てば、統合、縮小、migration、shutdownが起こります。

つまり今後は、

ブームの中で資金を集めた仕組みが、どうやって資金を外へ戻すのか

を見る場面が増えてくるはずです。

ここに通常時とは違う市場構造が発生する可能性があります。

過去のトレンドを知っていることも、こういう探索では多少役に立ちそうです。

「あの時期にどんな構造が大量に作られたか」が分かれば、

それらが終了フェーズへ入ったとき、何を解体しなければならないのか

をある程度想像できるからです。


次は「戻る場所」がある案件を優先する

DFKの調査で一つ明確になった反省があります。

次回からは、

価格が歪みそうか

だけでなく、

歪んだ価格が、どこへ戻るのか

をかなり早い段階で確認します。

例えば、

旧token → 新tokenへの1:1 migration

bridged asset → canonical assetへのredeem

旧chain → 新chainへの固定比率migration

などです。

こうしたvalue anchorが最初から存在する案件なら、

価格差
↓
conversion
↓
exit
↓
value convergence

という経路を作りやすい。

逆に、戻る場所がなければ、

「安い資産」

を見つけただけで終わる可能性があります。

この点は今後のpre-screenでかなり重視します。


現時点での結論

今回DFK Chain shutdownを観測した結果、

終了イベントでは実際に流動性や注文フローが変化し、大きな価格再評価が起こることは確認できた。

一方で、

大きな価格変動があることと、それをbotで回収できることは別だった。

CRYSTALは約40%動きました。

protocolによる機械的なsell flowも確認しました。

それでも、十分なサイズで繰り返し取れるcross-pool edgeはなく、外部への価値収束経路も確認できませんでした。

そのため、DFK固有のedge探索はここで終了します。

ただし今回、

ライフサイクルの転換点に発生する資産再配置を、価格歪みだけでなく、誰が動かし、どこへ価値が戻り、実際にどのサイズまで取れるのかまで追う

という研究フレームがかなり具体化しました。

今後は、このLifecycle Transition Edgeという視点で、

chain migration

token migration

bridge終了

staking終了

protocol sunset

などを横断的に探してみようと思います。

エッジがなかった案件を一つ捨てたというより、

エッジ候補をどう見つけ、どう疑い、どの条件で捨てるのか

が一段整理できた研究でした。

それでは、また。

-Bot, DeFi bot, DEX, 開発ログ