XCM Audit Fixed-scope reviews for Polkadot integrations

XCM capability matrix: 45 chains, checked live

Every Substrate chain can be connected to. Fewer expose the extrinsics and runtime APIs an XCM integration needs. On 29 October 2026 I ran the four method probes and two runtime API probes from the capability checker against every chain in the ParaSpell SDK list, and recorded the result.

Probe method: call the extrinsic or runtime API with no arguments. A method that exists fails argument validation with Incompatible runtime entry; a missing one fails with Runtime entry ... not found. Anything else is retried once and reported as unknown. The live result is shown next to the SDK registry flag, which is what the SDK actually follows.

Result

41 of the 45 chains expose all four transfer methods and both runtime APIs. Four exceptions:

Every live probe matched the SDK registry flag. That is the useful negative result: on these chains the SDK's compiled-in knowledge is current.

The matrix

ChainPallettype-and-thenlimited reservereservelimited teleportDryRunApiXcmPaymentApiNative
AcalaPolkadotXcmyesyesyesyesyesyesACA 12d
AjunaPolkadotXcmyesyesyesyesyesyesAJUN 12d
AssetHubKusamaPolkadotXcmyesyesyesyesyesyesKSM 12d
AssetHubPaseoPolkadotXcmyesyesyesyesyesyesPAS 10d
AssetHubPolkadotPolkadotXcmyesyesyesyesyesyesDOT 10d
AssetHubWestendPolkadotXcmyesyesyesyesyesyesWND 12d
AstarPolkadotXcmyesyesyesyesyesyesASTR 18d
BasiliskPolkadotXcmyesyesyesyesyesyesBSX 12d
BifrostKusamaPolkadotXcmyesyesyesyesyesyesBNC 12d
BifrostPolkadotPolkadotXcmyesyesyesyesyesyesBNC 12d
BridgeHubKusamaPolkadotXcmyesyesyesyesyesyesKSM 12d
BridgeHubPolkadotPolkadotXcmyesyesyesyesyesyesDOT 10d
BridgeHubWestendPolkadotXcmyesyesyesyesyesyesWND 12d
CollectivesPolkadotXcmyesyesyesyesyesyesDOT 10d
CollectivesWestendPolkadotXcmyesyesyesyesyesyesWND 12d
CoretimeKusamaPolkadotXcmyesyesyesyesyesyesKSM 12d
CoretimePolkadotPolkadotXcmyesyesyesyesyesyesDOT 10d
CoretimeWestendPolkadotXcmyesyesyesyesyesyesWND 12d
CurioPolkadotXcmyesyesyesyesyesyesCGT 18d
DarwiniaPolkadotXcmyesyesyesyesyesyesRING 18d
EncointerPolkadotXcmyesyesyesyesyesyesKSM 12d
EnergyWebXPolkadotXcmyesyesyesyesyesyesEWT 18d
EnergyWebXPaseoPolkadotXcmyesyesyesyesyesyesVT 18d
HeimaPolkadotXcmyesyesyesyesnonoHEI 18d
HeimaPaseoPolkadotXcmyesyesyesyesnonoHEI 18d
HydrationPolkadotXcmyesyesyesyesyesyesHDX 12d
HydrationPaseoPolkadotXcmyesyesyesyesyesyesHDX 12d
JamtonPolkadotXcmyesyesyesyesyesyesDOTON 18d
KaruraPolkadotXcmyesyesyesyesyesyesKAR 12d
KusamaXcmPalletyesyesyesyesyesyesKSM 12d
MythosPolkadotXcmyesyesyesyesyesyesMYTH 18d
NeuroWebPolkadotXcmyesyesyesyesyesyesNEURO 12d
PaseoXcmPalletyesyesyesyesyesyesPAS 10d
PeaqPolkadotXcmyesyesyesyesnonoPEAQ 18d
PendulumPolkadotXcmnoyesyesyesnonoPEN 12d
PeopleKusamaPolkadotXcmyesyesyesyesyesyesKSM 12d
PeoplePaseoPolkadotXcmyesyesyesyesyesyesPAS 10d
PeoplePolkadotPolkadotXcmyesyesyesyesyesyesDOT 10d
PeopleWestendPolkadotXcmyesyesyesyesyesyesWND 12d
PolkadotXcmPalletyesyesyesyesyesyesDOT 10d
RobonomicsPolkadotXcmPalletyesyesyesyesyesyesXRT 9d
ShidenPolkadotXcmyesyesyesyesyesyesSDN 18d
UniquePolkadotXcmyesyesyesyesyesyesUNQ 18d
WestendXcmPalletyesyesyesyesyesyesWND 12d
XodePolkadotXcmyesyesyesyesyesyesXON 12d

Download and reproduce

The full result is available as JSON or CSV, and the scripts that produced it are at github.com/ImBeasting/xcm-capability-checker. To reproduce a row, run the checker:

npm install @paraspell/sdk
node check-chain-capabilities.mjs Hydration Peaq Pendulum

Probe results are date-stamped because runtimes change. Re-run before relying on a row.

Excluded rows

Acala timed out on the first parallel run and completed on retry against the same endpoint. The row above is from the retry.

What this does not prove

The table is about capabilities, not routes. It does not check asset listings, decimals, existential deposits, the destination's support for an asset, the reserve chain, XCM version negotiation, or whether a specific transfer can be built. A row of yes is a necessary condition for a route, not a working route.


AI assistance was used to draft this article. The data is a direct output of the published script, run on 29 October 2026; the raw JSON is dated and kept in the project record.

Want your integration checked against this surface?

Fixed-scope XCM audits with a failing test or call-path proof for every finding. The first verified finding is free.

Request the free finding · Run the checker