# Read Contract

## Link to the Smart Contract:&#x20;

{% embed url="<https://bscscan.com/address/0xa293d68684be29540838dc8a0222de0c43c6b5b4#readContract>" %}
Read Contract
{% endembed %}

### **BalanceOf**

The method returns the supply of a specific token ID owned by a specific waller/user

<table data-header-hidden><thead><tr><th width="224"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>Account (address)</td><td>The address of the wallet for which we want to retrieve the amount of owned tokens.</td></tr><tr><td>Id (uint256)</td><td>The identifier of the token for which we want to check the balance.</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/1c0e5e7a-69e1-4a80-8bcd-24c342385739/Screenshot%202023-07-23%20at%2010.05.22.png" alt=""><figcaption></figcaption></figure>

a.  Input Account address

b. Input token ID

c. Response to the current supply of the Address

### **BalanceOfBatch**

The method allows for concurrent checking of the amounts of tokens owned by multiple wallets for multiple tokens. Notice, that the first address gets information about the first ID in the array

<table data-header-hidden><thead><tr><th width="229"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>Accounts (address[])</td><td>An array of wallet addresses for which we want to retrieve the amounts of owned tokens. [address1,address2,...]</td></tr><tr><td>Ids (uint256[])</td><td>An array of token IDs for which we want to check the balances for the respective wallets. [id1,id2,...]</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/cc1c1e72-1868-47f8-8373-124c7419a88d/image.png" alt=""><figcaption></figcaption></figure>

a. Input Accounts addresses in array **\[address1,address2,...]**

b. Input token IDs in array **\[tokenIDforAddress1,tokenIDforAddress2,...]**

c. Response an array of current supplies **\[tokenSupplyOfAddress1, tokenSupplyOfAddress2,...]**

###

### **bucketHashToTokenIds**

The method allows obtaining the token ID for the given URI.

<table data-header-hidden><thead><tr><th width="169"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>input (string)</td><td>The data hash (bucket hash) for which we want to retrieve the token ID.</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/f898efdc-6782-4101-a05b-9e24427bbdb4/image.png" alt=""><figcaption></figcaption></figure>

a. input bucket hash

b. Shows the token ID

### **Creators**

The method allows for obtaining information about the creator of a specific NFT token.

<table data-header-hidden><thead><tr><th width="172"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>input (string)</td><td>The ID of the NFT token for which we want to check the creator.</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/5b9b6210-0df2-4a02-bcb1-91b7ad1c831b/image.png" alt=""><figcaption></figcaption></figure>

a. Input existing token ID

b. Shows the tokens, Creator

### **CurrentTokenID**

The method allows obtaining the identifier of the token that will be assigned to the next created token.

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/fc297f64-bad6-4343-9b55-ccf655b40609/image.png" alt=""><figcaption></figcaption></figure>

### **Exists**

The method checks that the token ID exists

<table data-header-hidden><thead><tr><th width="163"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>Id (uint256)</td><td>The identifier of the token for which we want to check existence.</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/5365e821-ed4f-45a1-aa7c-2e891d23f619/image.png" alt=""><figcaption></figcaption></figure>

a. Input token ID

b. Shows that the token exists

### **isApprovedForAll**

The isApprovedForAll method is used to determine whether a specific user has been granted approval to operate on a designated contract. This approval can encompass various operations, such as the handling of tokens on a contract responsible for conducting auctions, like the BuyNow auction contract.

<table data-header-hidden><thead><tr><th width="222"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>_owner (address)</td><td>The address of the wallet or user for whom approval is being checked.</td></tr><tr><td>_operator (address)</td><td>The address of the contract where tokens will be sent, such as for the purpose of sale.</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/99ac0afb-9f61-4150-939b-55c1f481989e/image.png" alt=""><figcaption></figcaption></figure>

a. Input user wallet address

b. Input the other Contract add

c. Response True or False if the Contract and User are approved

### **mintFee**

This method allows for obtaining information about the tax (fee) collected during the minting process of a token.

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/ef445df7-e621-44f4-854c-004cadf347ee/image.png" alt=""><figcaption></figcaption></figure>

### **name**

This method is used to retrieve the name of the contract.

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/0801c87a-b7ee-4753-9b08-5fe674460739/image.png" alt=""><figcaption></figcaption></figure>

### **owner**

This method is used to retrieve the address of the contract owner.

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/7dcb613d-56af-46b9-b3c0-1a58e5097f70/image.png" alt=""><figcaption></figcaption></figure>

### **paused**

Information about the contract status, if is paused or not (true/false).

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/9654934c-e3fa-4eb4-b326-8dcf866de644/image.png" alt=""><figcaption></figcaption></figure>

### **supportInterface**

This method is used to check if a given contract supports a specific interface. The interfaceId argument represents the interface identifier, which is a four-byte value. The method returns true if the contract supports the specified interface, or false if it does not.

<table data-header-hidden><thead><tr><th width="207"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>interfaceId (bytes4)</td><td>Identifier of the interface you want to check.</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/53bb3319-6819-440c-937e-b8f686dd7ac9/image.png" alt=""><figcaption></figcaption></figure>

a. Input the interface ID (you can apply the same approach to support the ERC-165 (0x01ffc9a7) interface or other interfaces. Simply change the identifier according to the interface you want to check.)

b. Response true or false if the Contract supports the Token Standard

### **Symbol**

This method returns the symbol of our NFT Meta Asset (NFTma) smart contract.

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/34b57dd6-2b1f-4a60-a491-89b1a3ea84f5/image.png" alt=""><figcaption></figcaption></figure>

### **tokenIdToBucketHash**

This method allows retrieving the bucketHash of a specific Token ID.

<table data-header-hidden><thead><tr><th width="167"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>Id (uint256)</td><td>The ID of the Token for which we want to retrieve the bucketHash.</td></tr></tbody></table>

![](https://t26441698.p.clickup-attachments.com/t26441698/2e1cc7b9-2e6f-40dc-8f26-27b4075fc23f/image.png)

a. Input token ID

b. Shows the bucket hash

### **totalSupply**

This method allows retrieving the total supply of a specific token.

<table data-header-hidden><thead><tr><th width="172"></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td></tr><tr><td>Id (uint256)</td><td>The ID of the token for which we want to retrieve the total supply information.</td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/a43a101d-f9b4-4e6d-9a86-7b4c3cc01030/image.png" alt=""><figcaption></figcaption></figure>

a. Input token ID

b. Shows the total supply of the token

### **TreasuryAddress**

This method shows the address of the set treasury.

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/46c13f29-7297-40ee-8ce9-597f0ba2845d/image.png" alt=""><figcaption></figcaption></figure>

### **URI**

This Method shows the URI preview link of a specific token

<table data-header-hidden><thead><tr><th width="153.33333333333331"></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Data</strong></td><td><strong>Description</strong></td><td><strong>Restrictions</strong></td></tr><tr><td>Id (uint256)</td><td>The ID of the token for which we want to retrieve the URI preview link.</td><td><ul><li>must be an integer positive number</li><li>token ID must exist</li></ul></td></tr></tbody></table>

<figure><img src="https://t26441698.p.clickup-attachments.com/t26441698/107a9066-763d-4fdc-9a9d-ca5e666b2d7b/image.png" alt=""><figcaption></figcaption></figure>

a. Input token ID

b. Shows the total supply of the token

&#x20;


---

# 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.metaproprotocol.com/developer-documentation/smart-contracts/metaprometaasset/read-contract.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.
