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:
- Pendulum lacks
transfer_assets_using_type_and_then. It has the other three methods, noDryRunApiand noXcmPaymentApi. - Heima, HeimaPaseo and Peaq have all four methods but no
DryRunApiand noXcmPaymentApi.
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
| Chain | Pallet | type-and-then | limited reserve | reserve | limited teleport | DryRunApi | XcmPaymentApi | Native |
|---|---|---|---|---|---|---|---|---|
| Acala | PolkadotXcm | yes | yes | yes | yes | yes | yes | ACA 12d |
| Ajuna | PolkadotXcm | yes | yes | yes | yes | yes | yes | AJUN 12d |
| AssetHubKusama | PolkadotXcm | yes | yes | yes | yes | yes | yes | KSM 12d |
| AssetHubPaseo | PolkadotXcm | yes | yes | yes | yes | yes | yes | PAS 10d |
| AssetHubPolkadot | PolkadotXcm | yes | yes | yes | yes | yes | yes | DOT 10d |
| AssetHubWestend | PolkadotXcm | yes | yes | yes | yes | yes | yes | WND 12d |
| Astar | PolkadotXcm | yes | yes | yes | yes | yes | yes | ASTR 18d |
| Basilisk | PolkadotXcm | yes | yes | yes | yes | yes | yes | BSX 12d |
| BifrostKusama | PolkadotXcm | yes | yes | yes | yes | yes | yes | BNC 12d |
| BifrostPolkadot | PolkadotXcm | yes | yes | yes | yes | yes | yes | BNC 12d |
| BridgeHubKusama | PolkadotXcm | yes | yes | yes | yes | yes | yes | KSM 12d |
| BridgeHubPolkadot | PolkadotXcm | yes | yes | yes | yes | yes | yes | DOT 10d |
| BridgeHubWestend | PolkadotXcm | yes | yes | yes | yes | yes | yes | WND 12d |
| Collectives | PolkadotXcm | yes | yes | yes | yes | yes | yes | DOT 10d |
| CollectivesWestend | PolkadotXcm | yes | yes | yes | yes | yes | yes | WND 12d |
| CoretimeKusama | PolkadotXcm | yes | yes | yes | yes | yes | yes | KSM 12d |
| CoretimePolkadot | PolkadotXcm | yes | yes | yes | yes | yes | yes | DOT 10d |
| CoretimeWestend | PolkadotXcm | yes | yes | yes | yes | yes | yes | WND 12d |
| Curio | PolkadotXcm | yes | yes | yes | yes | yes | yes | CGT 18d |
| Darwinia | PolkadotXcm | yes | yes | yes | yes | yes | yes | RING 18d |
| Encointer | PolkadotXcm | yes | yes | yes | yes | yes | yes | KSM 12d |
| EnergyWebX | PolkadotXcm | yes | yes | yes | yes | yes | yes | EWT 18d |
| EnergyWebXPaseo | PolkadotXcm | yes | yes | yes | yes | yes | yes | VT 18d |
| Heima | PolkadotXcm | yes | yes | yes | yes | no | no | HEI 18d |
| HeimaPaseo | PolkadotXcm | yes | yes | yes | yes | no | no | HEI 18d |
| Hydration | PolkadotXcm | yes | yes | yes | yes | yes | yes | HDX 12d |
| HydrationPaseo | PolkadotXcm | yes | yes | yes | yes | yes | yes | HDX 12d |
| Jamton | PolkadotXcm | yes | yes | yes | yes | yes | yes | DOTON 18d |
| Karura | PolkadotXcm | yes | yes | yes | yes | yes | yes | KAR 12d |
| Kusama | XcmPallet | yes | yes | yes | yes | yes | yes | KSM 12d |
| Mythos | PolkadotXcm | yes | yes | yes | yes | yes | yes | MYTH 18d |
| NeuroWeb | PolkadotXcm | yes | yes | yes | yes | yes | yes | NEURO 12d |
| Paseo | XcmPallet | yes | yes | yes | yes | yes | yes | PAS 10d |
| Peaq | PolkadotXcm | yes | yes | yes | yes | no | no | PEAQ 18d |
| Pendulum | PolkadotXcm | no | yes | yes | yes | no | no | PEN 12d |
| PeopleKusama | PolkadotXcm | yes | yes | yes | yes | yes | yes | KSM 12d |
| PeoplePaseo | PolkadotXcm | yes | yes | yes | yes | yes | yes | PAS 10d |
| PeoplePolkadot | PolkadotXcm | yes | yes | yes | yes | yes | yes | DOT 10d |
| PeopleWestend | PolkadotXcm | yes | yes | yes | yes | yes | yes | WND 12d |
| Polkadot | XcmPallet | yes | yes | yes | yes | yes | yes | DOT 10d |
| RobonomicsPolkadot | XcmPallet | yes | yes | yes | yes | yes | yes | XRT 9d |
| Shiden | PolkadotXcm | yes | yes | yes | yes | yes | yes | SDN 18d |
| Unique | PolkadotXcm | yes | yes | yes | yes | yes | yes | UNQ 18d |
| Westend | XcmPallet | yes | yes | yes | yes | yes | yes | WND 12d |
| Xode | PolkadotXcm | yes | yes | yes | yes | yes | yes | XON 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
- Centrifuge: the default provider reported finalized block 0 and a genesis-era metadata set, so its row would describe the provider, not the chain. The chain produced no blocks between 2026-08-23 and the check.
- Penpal: local development chain, endpoint not reachable from here.
- Ethereum and EthereumTestnet: external chains, not XCM origins, so the four extrinsics do not apply.
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.