# Shielding Assets

This is the only transaction that would be publicly linked to your address. As it consistis of you moving an asset like ETH or ERC20 from your public address into the Arcane Contract. During this transaction the asset is moved to a stealth address that your wallet controls.

<figure><img src="/files/oQ20wJlzAZYQ309VxQMn" alt=""><figcaption></figcaption></figure>

There are two function that would enable this. For shielding ETH:

```solidity
/**
 * @notice Shield a token by transferring it to a stealth address
 * @dev The ETH sent to this function would be made only accessible to the receiver/stealthAddress
 *
 * Emits an {Announcement} event indicating the transfer
 *
 * @param _receiver The stealth address to transfer the token to
 * @param _announcementData The transfer announcement data
 */
function shieldETH(
    address _receiver,
    AnnouncementData calldata _announcementData
) external payable;
```

For shielding ERC20:

```solidity
/**
 * @notice Shield a token by transferring it to a stealth address
 * @dev The tokens sent to this function would be made only accessible to the receiver/stealthAddress
 *
 * Emits an {Announcement} event indicating the transfer
 *
 * @param _token The token to transfer
 * @param _receiver The stealth address to transfer the token to
 * @param _announcementData The transfer announcement data
 */
function shieldToken(
    address _token,
    address _receiver,
    uint256 _amount,
    AnnouncementData calldata _announcementData
) external;
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.0x0.ai/0x0-ecosystem/arcane-privacy-wallet/shielding-assets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
