## Monitoring Failed XCM Transfers ### 1. From Relay To System - [Example XCM](https://polkadot.subscan.io/xcm_message/polkadot-c8d7186edb43a592d65b3b5a87c4ecaac38c5aa2) - Check in the System Parachain for the [event](https://assethub-polkadot.subscan.io/extrinsic/4671081-0?event=4671081-1) **`dmpqueue (ExecutedDownward)`** - In that event check the parameters: - **`outcome`** which should have value **`Incomplete`** - **`message_id`** which shows the hash of the XCM Transfer. ### 2. From Para To Relay - [Example XCM](https://polkadot.subscan.io/xcm_message/polkadot-94e07063a25d88f038dd6d5528a585f80fa446cb) - Check in the Relay chain for the [event](https://polkadot.subscan.io/extrinsic/15821047-1?event=15821047-40) **`ump (ExecutedUpward)`** - In that event check the parameters: - **`Outcome`** which should have value **`Incomplete`** - **`MessageId`** which shows the hash of the XCM Transfer. ### 3. From Para To Para - [Example XCM](https://polkadot.subscan.io/xcm_message/polkadot-27abba0823e4ce8ee3711bde20ce317e4f67cf10) - In the destination Parachain look for the [event](https://moonbeam.subscan.io/extrinsic/4518241-0?event=4518241-1) **`xcmpqueue (Fail)`** - In that event check the parameters : - **`error`** which should give the type of error (in this example is **`Barrier`**) - **`message_hash`** which identifies the XCM Transfer. #### Assets Trapped - [Example XCM](https://polkadot.subscan.io/xcm_message/polkadot-3e74e95204faa6ecf3c81f5129b85f498b89cff2) - In the destination Parachain look for the [event](https://interlay.subscan.io/extrinsic/3627057-1?event=3627057-8) **`xcmpqueue (Fail)`** - In that event check the parameters : - **`error`** which should give the type of error (in this example is **`TooExpensive`**) - **`message_hash`** which identifies the XCM Transfer. - **NOTE** : there is also another [event](https://interlay.subscan.io/extrinsic/3627057-1?event=3627057-7) called **`polkadotxcm (AssetsTrapped)`** which indicates that some assets have been trapped (and hence can be claimed).