# The "HasClearAML" Attestation: Purpose and Limitations

## Overview

The "HasClearAML" attestation is a statement of fact that confirms a wallet holder has clear Anti-Money Laundering (AML) status. This attestation is useful for platforms and services that require AML compliance verification for financial services, high-value transactions, and regulatory compliance.

## How It Works

The process follows the standard attestation workflow:

1. **Wallet Connection**: Connect your Ethereum wallet to Zipwire
2. **AML Verification**: Complete AML background checks and compliance verification
3. **Status Assessment**: Zipwire evaluates your AML status based on verification results
4. **Attestation Issuance**: If you have clear AML status, claim the "HasClearAML" attestation
5. **Blockchain Recording**: The attestation is recorded on the Base blockchain

{% content-ref url="/pages/TfrUK5pGnJhSthL5TLjm" %}
[Attestations](/fundamentals/security/attestations.md)
{% endcontent-ref %}

## Privacy Features

* The attestation only confirms clear AML status without revealing specific compliance details
* No personal data is stored on the blockchain
* The attestation can be verified without exposing additional personal information
* AML verification results remain private and are not disclosed

## How to Get HasClearAML Attestations

{% content-ref url="/pages/TfrUK5pGnJhSthL5TLjm" %}
[Attestations](/fundamentals/security/attestations.md)
{% endcontent-ref %}

You can obtain HasClearAML attestations through:

* **Self-service**: Use [Zipwire Attest](/zipwire-attest/zipwire-attest.md) for independent registration
* **Business integration**: Use [Zipwire Collect](https://github.com/zipwireapp/gbk-tz-docs/blob/main/zipwire-collect/README.md) when businesses include AML checks

## Use Cases

* **Financial services** - Verify users meet AML compliance requirements
* **High-value transactions** - Ensure participants have clear AML status
* **Regulatory compliance** - Meet AML verification requirements for regulated activities
* **DeFi protocols** - Verify users for compliance with financial regulations
* **Cross-border payments** - Ensure compliance with international AML standards
* **Cryptocurrency exchanges** - Verify users for trading and withdrawal limits

## Limitations

* **Status Only**: Confirms clear AML status, not specific compliance details
* **Transfer Vulnerability**: If a wallet is sold or stolen, the attestation remains
* **Status Revealing**: Unlike some attestations, this does reveal that you have clear AML status
* **Permanent Record**: Once issued, the attestation is permanent on the blockchain
* **Jurisdictional**: AML requirements may vary by jurisdiction and use case
* **Time Sensitivity**: AML status can change over time and may need periodic re-verification

## Best Practices

{% content-ref url="/pages/PZjzFvpzqEOo6tndL4Oz" %}
[Attestations & Privacy: Timing Your Claims & Data Deletion](/fundamentals/security/attestations-privacy-timing-data-deletion.md)
{% endcontent-ref %}

* **Consider timing**: Space out AML attestation claims to avoid linking wallet addresses
* **Understand permanence**: AML attestations are permanent once issued
* **Use appropriately**: Only require AML attestations when necessary for your service
* **Regular updates**: Consider periodic re-verification for ongoing compliance
* **Jurisdictional compliance**: Ensure your use case aligns with local AML regulations

## Comparison to Other Attestations

* **IsAHuman**: Confirms the wallet belongs to a real person (no compliance information)
* **HasClearAML**: Confirms the user has clear AML status
* **Private Data Attestations**: Allow selective disclosure of specific compliance information
* **Age Attestations**: Verify age requirements but don't address AML compliance

{% content-ref url="/pages/uKh9zVF06YZtly50dFyc" %}
[The "IsAHuman" Attestation: Purpose and Limitations](/fundamentals/security/attestations/the-isahuman-attestation-purpose-and-limitations.md)
{% endcontent-ref %}

{% content-ref url="/pages/UgJwIIVTljJ5n8pkWDKi" %}
[The "Private Data" Attestation: Merkle Roots](/fundamentals/security/attestations/the-private-data-attestation-merkle-roots.md)
{% endcontent-ref %}

## Technical Details

* **Schema UID**: `0xdc1cb4d85858a3c6fe90fcce9779c3ffad0376d5dd3583cf684056fd98359f9c`
* **Network**: Base Sepolia (testnet)
* **Schema Type**: Boolean attestation
* **Data Structure**: Simple true/false value
* **Privacy Level**: Basic - no personal data included
* **Transferability**: Not transferable
* **Revocability**: Revocable by Zipwire

## Related Resources

* [Understanding Merkle Trees and Proofs](/fundamentals/security/understanding-merkle-trees-and-proofs.md)
* [The "IsAHuman" Attestation](/fundamentals/security/attestations/the-isahuman-attestation-purpose-and-limitations.md)
* [The "Private Data" Attestation](/fundamentals/security/attestations/the-private-data-attestation-merkle-roots.md)
* [Verifying Attested Wallets](/fundamentals/security/wallet-verification-guide/verifying-attested-wallets.md)


---

# 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.zipwire.io/fundamentals/security/attestations/the-hasclearaml-attestation-purpose-and-limitations.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.
