> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seitrace.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Interacting with smart contracts

## **Use Seitrace to Read and Write to Smart Contracts**

Once a contract is verified, its methods are exposed, and direct interaction is possible through Seitrace.

## **Read contract**

Read actions allow you to check various contract attributes. Connecting a web3 wallet is required to make a query, but queries do not require a transaction or any gas costs.

1. **Find the contract address**:
   * Locate and enter the contract address you want to interact with into the search bar on Seitrace.
2. **Navigate to the contract page**:
   * Select the first option in the search results, which takes you to the token page.
   * For more detailed information, click through to the contract page.
3. **Verify contract code**:
   * Scroll down past the contract details to see if the code is verified (indicated by a checkmark ✅).
   * If the code is not verified, you cannot read or write to the contract unless a verified contract with the same bytecode is found in the Seitrace database.
4. **Proxy Implementation**:
   * If the contract is a proxy implementation, you will see options to read/write to the contract or the proxy. A proxy means the contract is upgradeable, and the admin can set a new proxy address for the primary contract if upgrades are needed.
5. **Interact with Contract Methods**:
   * Various methods within the contract are visible. Some show current values, while others are queryable.
   * For example, to query the `balanceOf` method:
     * Fill out the `_owner` (address) field.
     * Click on "Query".
     * Seitrace will execute the query and return the result under the function.

## **Write Contract**

To write to a contract, follow similar steps as above but with the additional requirement of paying gas fees for transactions:

1. **Find and navigate to the contract**:
   * Enter the contract address in the search bar.
   * Click through to the contract page from the search results.
2. **Verify contract code**:
   * Ensure the contract code is verified.
3. **Proxy Implementation**:
   * If applicable, decide whether to interact with the contract or the proxy.
4. **Interact with contract methods**:
   * Connect your wallet with MetaMask.
   * Fill out the necessary fields for the method you wish to write to. (example on function \_safeMint)
   * Click on "Write" and confirm the transaction in your wallet (Metamask).
   * The transaction will be sent to the blockchain, and you will receive a transaction hash once completed.
