For the complete documentation index, see llms.txt. This page is also available as Markdown.

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