# Provenance Mining

Provenance mining is a mechanism that allows an NFT to mine ERC-20 tokens over time that the owner of the NFT can claim. Unclaimed tokens stay within the NFT across sales or transfers.

{% hint style="info" %}
**What happens when you tokenize the act of holding an NFT over time?**

[**Create a realm**](/protocol/realms.md)**,** run your own experiment, and see what happens!
{% endhint %}

{% content-ref url="/pages/UnKuaHNAsnc0WRGk3Gwm" %}
[Use Cases](/use-cases.md)
{% endcontent-ref %}

### Infusion

**Infusion** is the process of staking ERC-20 tokens from your wallet into an NFT via HyperVIBES.&#x20;

Infused tokens are then mined by the NFT over time at a linear rate as configured in the realm. Mined tokens do not automatically go to the NFT owner's wallet, they must be "claimed" at some point (*see below*).

* Tokens immediately start mining on the same block they are infused.
* If the **require NFT is owned** constraint of the realm is `true`, the infuser must own the NFT being infused.
* If the **allow public infusion** constraint of the realm is `false`, the infuser must be on the list of allowed infusers for that realm.
* If the **allow all collections** constraint of the realm is `false`, the NFT being infused must be from a collection on the list of allowed collections for that realm.
* If the **allow multi infuse** constraint of the realm is `false`, an NFT can only be infused a single time for that realm.
* The amount being infused must be equal to or greater than the **min infusion amount** constraint set in the realm.
* If the infusion would result in a staked token balance for that NFT that is greater than the **max token balance** constraint for the realm, infused amount is clamped (limited) to the **max token balance** amount. If this clamped amount is less than **min infusion amount**, the infusion will fail.
* If the specified infuser is different than the address submitting the transaction, the infuser must have approved the sender as an [**authorized proxy**](/protocol/proxies.md) ahead of time.

{% content-ref url="/pages/0BdAW1owazLuILF3JW4N" %}
[Infuse Your NFTs](/guides/getting-started/infuse-your-nfts.md)
{% endcontent-ref %}

### Claiming

**Claiming** is the act of withdrawing mined tokens from an infused NFT to the NFT owner's wallet.&#x20;

Only mined tokens can be claimed, while un-mined tokens stay staked within the NFT. Unclaimed tokens stay within the NFT across sales or transfers.

* The total amount being claimed must be equal to or greater than the **min claim amount** constraint set in the realm.
* It is possible to claim less than the total claimable amount if desired.
* If the **allow public claiming** constraint of the realm is `false`, the claimer must be on the list of allowed claimers for that realm.
* If the address submitting the claim transaction does not own the NFT, the NFT owner must have approved the sender as an [**authorized proxy**](/protocol/proxies.md) ahead of time

{% content-ref url="/pages/J9JpY5RYYM9NeBzgeKpk" %}
[Claim Tokens](/guides/getting-started/claim-tokens.md)
{% endcontent-ref %}


---

# 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.hypervibes.xyz/protocol/provenance-mining.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.
