Flash Loan
SuccessBorrowed 99.56xSUI by flash loan from a Momentum vault and repaid the vault with 100SUI. The sender kept 99.56xSUI and paid 0.0024SUI gas.
Net result for sender
Total +$0.28 at the time
- Gas
- 0.0024SUI$0.0091
- Before gas
- -100SUI$375.40+99.5597xSUI$375.69
- Flash loan
- 99.5597xSUIfromMomentum xSUI/SUI poolMomentum xSUI/SUI pool0x9c92c5b8e9d83e485fb4c86804ac8b920bb0beaace5e61a5b0239218f627f8e9KindPoolSourcetide registryrepaid
- Digest
- AxPF2B…84Ya
- Sender
- 0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone known
- Time
- 2025-09-14 08:28:18 UTC
- Checkpoint
- 189,794,340
- Protocols
- Momentum
What happened11 steps
- 1Split coins (2 commands).Commands 0 to 1
- 2Flash-swapped 100SUI for 99.56xSUI on Momentum xSUI/SUI poolMomentum xSUI/SUI pool0x9c92c5b8e9d83e485fb4c86804ac8b920bb0beaace5e61a5b0239218f627f8e9KindPoolSourcetide registry, paying later.Command 2
- 3Moved coins around (2 commands).Commands 3 to 4
- 4Repaid the Momentum flash swap with 100SUI.Command 5
- 5Split coins (3 commands).Commands 6 to 8
- 6Called Momentum (trade::
repay_flash_swap).Command 9 - 7Called an unlabelled contract (slippage_check::
assert_slippage).Command 10 - 8Moved coins around (1 command).Command 11
- 9Sent the SUI to 0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone known.Command 12
- 10Moved coins around (1 command).Command 13
- 11Sent the xSUI to 0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone known.Command 14
Balance changes1
- 0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone knownSender
- -100SUI-$375.41
- +99.5597xSUI+$375.69
Details
- Time (UTC)
- 2025-09-14 08:28:18 UTC
- Before gas
- -100SUI$375.40+99.5597xSUI$375.69
- Epoch
- 885
- Position in checkpoint
- tx 8
- Signature
- Signed with Ed25519 by 0xcb62…a5ca
- Programmable
- 15 commands, 11 inputs
- Expires
- Never
- Size
- 1,846 bytes
Commands15
- 0
Split 100SUI off Gas coin.
SplitCoins
Gas coin100 SUI100 SUIto 1, 6, 12 - 1
Read a coin amount.
Sui Framework0x0000…0002::
coin:: value<SUI> 0.0Result 0.0u64to 2 - 2
Flash-swapped 100SUI for 99.56xSUI on Momentum xSUI/SUI poolMomentum xSUI/SUI pool0x9c92c5b8e9d83e485fb4c86804ac8b920bb0beaace5e61a5b0239218f627f8e9KindPoolSourcetide registry; returns the xSUI and a repayment receipt.
Momentum@mmt/clmm-core::
trade:: flash_swap<X_SUI, SUI> Momentum xSUI/SUI poolfalsetrue1Result 118,532,719,131,929,658,5720x0000…00060x2375…1b2a2.0Balance<X_SUI>to 112.1Balance<SUI>to 32.2FlashSwapReceiptto 5, 9 - 3
Ran balance::
destroy_zero from the Sui framework. Sui Framework0x0000…0002::
balance:: destroy_zero<SUI> 2.1Result 2.1 - 4
Made an empty xSUI coin.
Sui Framework0x0000…0002::
coin:: zero<X_SUI> Coin<X_SUI>to 7 - 5
Repaid Momentum with 100SUI and kept the rest.
Momentum@mmt/clmm-core::
trade:: swap_receipt_debts 2.2Result 2.25.0u64unused5.1u64to 6 - 6
Ran coin::
split from the Sui framework. Sui Framework0x0000…0002::
coin:: split<SUI> 0.0Result 0.05.1Result 5.1Coin<SUI>to 8 - 7
Ran coin::
into_balance from the Sui framework. Sui Framework0x0000…0002::
coin:: into_balance<X_SUI> 4.0Result 4.0Balance<X_SUI>to 9 - 8
Ran coin::
into_balance from the Sui framework. Sui Framework0x0000…0002::
coin:: into_balance<SUI> 6Result 6Balance<SUI>to 9 - 9
Called trade::
repay_flash_swap in Momentum. Momentum@mmt/clmm-core::
trade:: repay_flash_swap<X_SUI, SUI> Momentum xSUI/SUI pool2.2Result 2.27Result 78Result 80x2375…1b2a - 10
Called slippage_check::
assert_slippage in an unlabelled contract. 0x8add…abe6::
slippage_check:: assert_slippage<X_SUI, SUI> Momentum xSUI/SUI pool18,532,719,131,929,658,572false - 11
Ran coin::
from_balance from the Sui framework. Sui Framework0x0000…0002::
coin:: from_balance<X_SUI> 2.0Result 2.0Coin<X_SUI>to 13, 14 - 12
Sent the SUI to 0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone known.
TransferObjects
0.0Result 0.00xcb62…a5ca - 13
Read a coin amount.
Sui Framework0x0000…0002::
coin:: value<X_SUI> 11Result 11u64unused - 14
Sent the xSUI to 0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone known.
TransferObjects
11Result 110xcb62…a5ca
Inputs11Already shown inline above. Full list with kinds and versions.
| # | Value | Kind | Used by |
|---|---|---|---|
| 0 | 100 SUI | Pure u64 | 0 |
| 1 | Momentum xSUI/SUI poolMomentum xSUI/SUI pool0x9c92c5b8e9d83e485fb4c86804ac8b920bb0beaace5e61a5b0239218f627f8e9KindPoolSourcetide registryPool<X_SUI, SUI> | Shared, mutablev576739526 | 2, 9, 10 |
| 2 | false | Pure bool | 2 |
| 3 | true | Pure bool | 2 |
| 4 | 18,532,719,131,929,658,572 | Pure u128 | 2 |
| 5 | 0x0000…0006Address0x0000000000000000000000000000000000000000000000000000000000000006LabelNone known | Shared, read onlyv1 | 2 |
| 6 | 0x2375…1b2aAddress0x2375a0b1ec12010aaea3b2545acfa2ad34cfbba03ce4b59f4c39e1e25eed1b2aLabelNone known | Shared, read onlyv499761252 | 2, 9 |
| 7 | 18,532,719,131,929,658,572 | Pure u128 | 10 |
| 8 | false | Pure bool | 10 |
| 9 | 0xcb62…a5ca | Pure address | 12 |
| 10 | 0xcb62…a5ca | Pure address | 14 |
Object changes5
xSUI coinxSUI coin0xf430bab445dcc792cf6fdce79e1587e25cfc778b824356da0c5f3316719273e3KindPoolSourcetide registryCoin<X_SUI>CreatedOwned by 0xcb62…a5canew to v636005156
SUI coinSUI coin0xf8a9fcbf127d77fa3bc18f04b6765d85201ec431ca8e2553e2a9698d336262e8KindPoolSourcetide registryCoin<SUI>CreatedOwned by 0xcb62…a5canew to v636005156
Momentum xSUI/SUI poolMomentum xSUI/SUI pool0x9c92c5b8e9d83e485fb4c86804ac8b920bb0beaace5e61a5b0239218f627f8e9KindPoolSourcetide registryPool<X_SUI, SUI>ChangedSharedv636005155 to v636005156
SUI coinSUI coin0x71a9df2b733502d8af02bf320a6c9a75275e6915673ac7643042ced2cbbb14f3KindPoolSourcetide registryCoin<SUI>ChangedOwned by 0xcb62…a5cav636001621 to v636005156
SUI coinSUI coin0x29bf1c377623cda73391d20b25a5d76b7cab76a58971eaa0937a9bbfbda476c2KindPoolSourcetide registryCoin<SUI>DeletedOwned by 0xcb62…a5cav636001621
Events2
Momentum2
- trade::SwapEventMomentum swap: 100SUI in, 99.56xSUI out, repaid later in the same transaction.
- sender
- 0xcb62…a5ca
- pool_id
- 0x9c92…f8e9
- x_for_y
- false
- amount_x
- 99,559,747,274
- amount_y
- 100,000,000,000
- sqrt_price_before
- 18,486,560,357,560,380,000
- sqrt_price_after
- 18,486,560,430,711,493,000
- liquidity
- 25,214,789,560,346,894,000
- tick_index
- {"bits":43}
- fee_amount
- 8,000,000
- protocol_fee
- 2,000,000
- reserve_x
- 1,470,330,425,836,960
- reserve_y
- 4,612,623,260,418,540
JSON
{ "sender": "0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5ca", "pool_id": "0x9c92c5b8e9d83e485fb4c86804ac8b920bb0beaace5e61a5b0239218f627f8e9", "x_for_y": false, "amount_x": "99559747274", "amount_y": "100000000000", "sqrt_price_before": "18486560357560380483", "sqrt_price_after": "18486560430711494257", "liquidity": "25214789560346895340", "tick_index": { "bits": 43 }, "fee_amount": "8000000", "protocol_fee": "2000000", "reserve_x": "1470330425836960", "reserve_y": "4612623260418540" } - trade::RepayFlashSwapEventMomentum flash loan repaid: 100SUI into the vault.
- sender
- 0xcb62…a5ca
- pool_id
- 0x9c92…f8e9
- amount_x_debt
- 0
- amount_y_debt
- 100,000,000,000
- paid_x
- 0
- paid_y
- 100,000,000,000
- reserve_x
- 1,470,330,425,836,960
- reserve_y
- 4,612,723,260,418,540
JSON
{ "sender": "0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5ca", "pool_id": "0x9c92c5b8e9d83e485fb4c86804ac8b920bb0beaace5e61a5b0239218f627f8e9", "amount_x_debt": "0", "amount_y_debt": "100000000000", "paid_x": "0", "paid_y": "100000000000", "reserve_x": "1470330425836960", "reserve_y": "4612723260418540" }
Gas
Paid
0.002433056SUI
$0.0091
- Computation
- 0.001SUI
- Storage
- 0.0108832SUI
- Storage rebate
- 0.009450144SUIto0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone known
- Kept by storage fund
- 0.000095456SUI
- Budget
- 0.004889296SUI49.8% used
- Gas price
- 500 MIST500.00x reference
- Paid by
- 0xcb62…a5caAddress0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5caLabelNone known
Raw JSON
/v1/tx/AxPF2Bywm6o8EwYsuPMLbocG5QFqs4exTLfJrq2D84Ya?raw=1{
"digest": "AxPF2Bywm6o8EwYsuPMLbocG5QFqs4exTLfJrq2D84Ya",
"kind": "programmable",
"classification": "flash_loan",
"classLabel": "Flash Loan",
"status": {
"ok": true
},
"sender": {
"address": "0xcb62db365fee75e28c2d19e14c076a95097cd4dcdc91f9fad7c0a29c0262a5ca",
"short": "0xcb62…a5ca",
"suins": null,
"label": null,
"display": "0xcb62…a5ca"
},
"sponsor": null,
"checkpoint": 189794340,
"checkpointIndex": 7,
"epoch": 885,
"timestamp": {
"ms": 1757838498125,
"iso": "2025-09-14T08:28:18.125Z"
},
"protocols": [
{
"project": {
"id": "momentum",
"name": "Momentum",
"category": "DEX",
"url": "https://mmt.finance",
"logoUrl": null
},
"packages": [
"0xcf60a40f45d46fc1e828871a647c1e25a0915dec860d2662eb10fdb382c3c1d1"
]
}
],
"summary": {
"sentence": "Borrowed 99.56 xSUI by flash loan from a Momentum vault and repaid the vault with 100 SUI. The sender kept 99.56 xSUI and paid 0.0024 SUI gas.",
"steps": [
{
"index": 0,
"sentence": "Split coins (2 commands).",
"commands": [
0,
1
],
"kind": "coin_handling",
"project": {
"id": "sui",
"name": "Sui Framework",
"category": "System",
"url": "https://sui.io",
"logoUrl": null
}
},
{
"index": 1,
"sentence": "Flash-swapped 100 SUI for 99.56 xSUI on Momentum xSUI/SUI pool, paying later.",
"commands": [