# Public Provider Adapters

Public providers enable the SDK to perform read-only blockchain operations such as fetching balances, estimating gas, reading smart contract data, and subscribing to contract events. They are required when initializing the Manifold Client.

## Available Adapters

* [Wagmi Public Provider](/client-sdk/sdk/public-provider-adapters/wagmi.md)
* [Viem Public Provider](/client-sdk/sdk/public-provider-adapters/viem.md)
* [Ethers v5 Public Provider](/client-sdk/sdk/public-provider-adapters/ethersv5.md)

## Multi-Network Support

The SDK supports multiple networks simultaneously. Provide a public client/provider for each network you want to support:

```typescript
const publicProvider = createPublicProviderViem({
  1: mainnetClient,       // Ethereum Mainnet
  8453: baseClient,       // Base
  10: optimismClient,     // Optimism
  360: shapeClient,       // Shape
  11155111: sepoliaClient // Sepolia Testnet
});
```

## Network Requirements

The public provider must include a client/provider for the network where the NFT product is deployed. The SDK will automatically use the appropriate provider based on the product's network.

[**ClientSDKError**](/client-sdk/reference/clientsdkerror.md)

| Code                    | Message                                |
| ----------------------- | -------------------------------------- |
| INVALID\_INPUT          | Public provider is required            |
| NETWORK\_NOT\_SUPPORTED | No provider available for network      |
| WRONG\_NETWORK          | Provider is connected to wrong network |


---

# 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.manifold.xyz/client-sdk/sdk/public-provider-adapters.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.
