> For the complete documentation index, see [llms.txt](https://docs-launchpad.energyweb.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-launchpad.energyweb.org/ewx-ecosystem/bring-your-own-token/bridging-usdc/send-usdc-from-ewx-to-hydration.md).

# Send USDC from EWX to Hydration

#### Key facts you must know

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

```
0x1f0b04010100c91f0400010100d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d0404010300a10f043205e5140002093d000000000000
```

{% hint style="info" %}
This call is pre-built with Alice's address as the recipient for testing. You will replace it with your own recipient address in Step 5.
{% endhint %}

**Verify (do not skip)**

Confirm the decoded call shows:

* pallet: **polkadotXcm**, call: **transferAssets**
* `dest` → Parachain **2034** (Hydration)
* `assets` → asset path: Parachain **1000** (Asset Hub) / PalletInstance **50** / GeneralIndex **1337** (USDC)
* `weightLimit`: **Unlimited**
* the `Fungible` amount field is present and editable

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 Hydration**, use your own address.
* If you are sending to a **different Hydration account**, use that account's address.

**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 Hydration 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 under `beneficiary`:

* **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 Hydration explorer

After it processes, check the recipient address on the Hydration explorer:

```
https://hydration.subscan.io/account/
```

You should see the USDC balance on Hydration.
