Send USDC from EWX to Polkadot Asset Hub

This tutorial sends Polkadot Asset Hub USDC from Energy Web X (EWX) to Polkadot Asset Hub (AssetHub) using a pre-built XCM reserve transfer call.

Key facts you must know

  • Asset Hub USDC uses 6 decimals.

    • 1 USDC = 1,000,000 base units.

  • You will replace two fields before submitting:

    • the recipient public key (AccountId32)

    • the USDC amount (base units)

Step 1 — Check your USDC balance on EWX (optional)

Open the EWX explorer and paste your EWX account address:

https://energywebx.subscan.io/account/

Step 2 — Open Polkadot.js “Decode call” on EWX (transaction-enabled RPC)

Use this Polkadot.js Apps link (EWX RPC):

https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fwnp-rpc.mainnet.energywebx.com%2F#/extrinsics/decode

Step 3 — Paste the pre-built hex call

In “hex-encoded call”, paste this exact value:

Verify (do not skip)

Confirm the decoded call shows:

  • destination is Polkadot Asset Hub (Parachain 1000)

  • the asset points to USDC on Asset Hub (Asset ID 1337)

  • the call contains a Fungible amount you can edit

If anything looks different, STOP and do not sign.

Step 4 — Get the recipient “hex public key” (32-byte AccountId32)

Open Polkadot.js Utilities on the same EWX RPC:

Choose the destination address

  • If you are sending to the same wallet account on Asset Hub, use your own address.

  • If you are sending to a CEX, use your exchange’s deposit address for:

    • “USDC (Polkadot Asset Hub)”

Convert address → hex public key

In Utilities, use the tool that converts an address to hex (often labeled “Address to Hex”):

  1. Paste the destination address

  2. Copy the output hex public key

It should look like:

  • starts with 0x

  • followed by 64 hex characters (32 bytes)

Step 5 — Fill recipient + amount on the Submission tab

Go back to the Decode page and click Submission.

A) Paste the recipient public key

Find the field:

  • AccountId32 → id: [u8;32]

Paste the recipient hex public key (from Step 4).

B) Enter the USDC amount (base units)

Find:

  • Fungible: Compact

Enter the amount in base units (6 decimals):

Examples:

  • 1 USDC → 1000000

  • 10 USDC → 10000000

  • 12.34 USDC → 12340000

Step 6 — Submit the transaction

  1. Click Submit Transaction

  2. Approve/sign in your wallet

Step 7 — Confirm on Asset Hub explorer

After it processes, check the recipient address on Asset Hub explorer:

You should see the USDC balance on Asset Hub.

Last updated