# React Connecting Wallet

The Zora ZDK requires an ethers instance to interact with the blockchain.

If data is only being read from ZDK, an [ethers provider](https://docs.ethers.io/v5/api/providers/) can be used to read from the blockchain. If you need to read or write to the blockchain, you should provide an ethers signer, a type of provider that also can sign transactions.

Typically, you will create an ethers signer through asking users to connect their wallet. The Zora team typically uses [web3-react](https://github.com/NoahZinsmeister/web3-react) to connect the user's wallet or [web3modal](https://github.com/web3modal/web3modal). Once you set up these libraries, you can then use that provider for the ZDK.

```javascript
// Example for setting up the AuctionHouse from Web3React
function MyComponent() {
  const {library, chainId} = useWeb3React();
  // library is a ethers provider/signer instance
  // chainId is the networkId
  
  const auctionHouse = useMemo(() => {
    if (library && chainId) {
      return new AuctionHouse(library.getSigner(), chainId);
    }
  }, [library, chainId]);
  return (
    auctionHouse ? (
      <ManageAuction auctionHouse={auctionHouse} />
    ) : <div>Please connect wallet</div>
  );
}
```

If you want to allow easy bidding and listing of NFTs, Zora supports hosted urls where the user can interact with Zora interface to list their NFTs or bid on NFTs without needing to setup any wallet login and the user can trust the Zora.co site.

```
https://zora.co/auctions/{TOKEN_ADDRESS}/{TOKEN_ID}/list
// Lists the given token for an auction house auction

https://zora.co/auctions/{TOKEN_ADDRESS}/{TOKEN_ID}/bid
// Allows the user to bid on the active auction for the given token
```


---

# 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://ourzora.gitbook.io/zoraos/dev/zdk/example-connecting.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.
