# Send USDC from EWX to Polkadot Asset Hub

### 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)

{% hint style="warning" %}
Safety tip: Do a small test first (e.g., 1–2 USDC) before sending a large amount.
{% endhint %}

### 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:

```
0x1f0203010100a10f0300010100b067874261d04930c1b09037ebc472946333465e7d0cd3498f406dc3bba8d86e030400010300a10f043205e5140002093d0000000000
```

#### 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:

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

#### 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):

```
USDC_to_send × 1,000,000 = base_units
```

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:

```
https://assethub-polkadot.subscan.io/account/
```

You should see the USDC balance on Asset Hub.
