galacticcouncil / galacticcouncil/Basilisk-node
BUG: KSM XCM Transfer From Basilisk to Kusama Failed After Source Withdrawal
- Dominant language
- Rust
- Stars
- 73
- Forks
- 23
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
A `61.275 KSM` XCM transfer from Basilisk to the Kusama relay chain appears to have failed after the KSM was withdrawn from the Basilisk source account.
The Basilisk transaction finalized successfully and emitted `tokens.Withdrawn`, `parachainSystem.UpwardMessageSent`, and `xTokens.TransferredAssets`. However, the relay-side XCM execution failed with `FailedToTransactAsset`, and the destination Kusama account was not credited.
There is also no new Kusama `xcmPallet.assetTraps` entry around the failure block, so there does not appear to be a normal user-side `claimAssets` recovery path.
## Impact
The user lost access to `61.275 KSM`.
The funds were removed from the Basilisk source account, but they were not received on the Kusama destination account.
## Transfer Details
* Amount: `61.275 KSM`
* Source chain: Basilisk
* Source account: `bXiYe9YyarnrbnjkvEV6mGawK7Xh7ws7dUgyUdZETZkBcS7tE`
* Destination chain: Kusama relay
* Destination account: `EXYdDwCotVqKhr57a166feGaZoqUpPqr4zUXMQxF9skMq91`
* Destination AccountId32: `0x565adacd28074bea6d5dd174f0925c7485b3e431f11010645d5c6c459c39e811`
## Basilisk Transaction
* Tx hash: `0xcffa76fa4397731ac0a8eecfe146eae70cf2489311a8963a56f9dd0faa7d0665`
* Basilisk block number: `14455463`
* Basilisk block hash: `0x31b30f302ccd31e7bd28423da1cdc8beb68a287520cc1a08895c423db8077a08`
* Timestamp: `2026-06-09T16:07:06.000Z`
* Extrinsic: `xTokens.transfer`
* Currency id: `1`
* Amount base units: `61275000000000`
* Destination XCM location:
* `parents: 1`
* `interior: X1(AccountId32: 0x565adacd28074bea6d5dd174f0925c7485b3e431f11010645d5c6c459c39e811)`
Relevant Basilisk events:
* `tokens.Withdrawn`
* Currency: `1`
* Amount: `61,275,000,000,000`
* `parachainSystem.UpwardMessageSent`
* `xTokens.TransferredAssets`
* `system.ExtrinsicSuccess`
Current Basilisk source KSM balance:
* Free: `0 KSM`
* Reserved: `0 KSM`
## Kusama Relay Failure
* Relay chain: Kusama
* Relay block number: `33886520`
* Relay block hash: `0xb8ed0a446c006f37940320c944ad10646efcde1c37a1a47a9b6f43b1e7266944`
* Timestamp: `2026-06-09T16:07:24.000Z`
* Origin para: `2090`
* Message id: `0x1d1bcec5720f3cc373c87875833f587e0233965c144615185dfaff698a797d60`
Relevant relay events:
* `xcmPallet.ProcessXcmError`
* Origin: `Parachain 2090`
* Error: `FailedToTransactAsset`
* Message id: `0x1d1bcec5720f3cc373c87875833f587e0233965c144615185dfaff698a797d60`
* `messageQueue.Processed`
* Origin: `Ump Para 2090`
* Success: `false`
Current Kusama destination balance:
* Free: `0 KSM`
* Reserved: `0 KSM`
## Sovereign Account Evidence
Basilisk parachain id appears to be `2090`.
Kusama relay sovereign account for para `2090`:
* Address: `F7fq1inJcCWWCd8sT26fdZkcozCsbJwYAwshtADXqCMGcjd`
Balances around the failed relay block:
* Relay block `33886519`: free `4.805187360623 KSM`, reserved `120 KSM`
* Relay block `33886520`: free `4.805187360623 KSM`, reserved `120 KSM`
* Relay block `33886521`: free `4.805187360623 KSM`, reserved `120 KSM`
The sovereign account had only around `4.805 KSM` free when the relay tried to transact `61.275 KSM`. This appears consistent with the relay-side `FailedToTransactAsset` error.
## Trap / ClaimAssets Check
Checked `xcmPallet.assetTraps` on Kusama around the failure:
* Block `33886519`: `288` trap entries
* Block `33886520`: `288` trap entries
* Block `33886521`: `288` trap entries`
* New traps at failure block: `0`
* New traps after failure block: `0`
No new trapped asset entry was created during the failed XCM execution. Therefore, there does not appear to be a direct user-side Kusama `xcmPallet.claimAssets` recovery path.
## Expected Behavior
If the XCM transfer cannot be executed on the Kusama relay chain, the user should not permanently lose access to the withdrawn KSM. The transfer should either complete successfully, trap recoverable assets, or refund/reconcile the withdrawn amount.
## Actual Behavior
The KSM was withdrawn from the Basilisk source account, but the Kusama relay-side execution failed with `FailedToTransactAsset`. The destination account was not credited, and no new Kusama asset trap was created.
## Requested Support
Please investigate and restore/refund the `61.275 KSM` associated with this failed XCM transfer.
Key identifiers:
* Basilisk tx: `0xcffa76fa4397731ac0a8eecfe146eae70cf2489311a8963a56f9dd0faa7d0665`
* Kusama relay message id: `0x1d1bcec5720f3cc373c87875833f587e0233965c144615185dfaff698a797d60`
* Relay error: `FailedToTransactAsset`
* Origin para: `2090`
* Destination Kusama account: `EXYdDwCotVqKhr57a166feGaZoqUpPqr4zUXMQxF9skMq91`
This appears to require Basilisk/Hydration/GalacticCouncil support or governance intervention because the source-side asset was withdrawn, relay execution failed, and no user-claimable trap was created.
Contributor guide
Assessment
This issue has not been assessed yet.