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

# EIP-6963

[EIP-6963](https://eips.ethereum.org/EIPS/eip-6963) is a
standard way to add support for **Sophon Account** using the main wallet providers
in the market.

The implementation is very simple, you just need to import the package and it will automatically broadcast the provider to the wallet provider that you are using. Most modern wallet connection libraries, like RainbowKit, wagmi, or Reown Appkit, support [EIP-6963](https://eips.ethereum.org/EIPS/eip-6963).

<CodeGroup>
  ```bash npm theme={null}
  npm install @sophon-labs/account-eip6963
  ```

  ```bash yarn theme={null}
  yarn add @sophon-labs/account-eip6963
  ```

  ```bash pnpm theme={null}
  pnpm add @sophon-labs/account-eip6963
  ```
</CodeGroup>

Then you need to import and initialize the [EIP-6963](https://eips.ethereum.org/EIPS/eip-6963) emitter in your application entry point, the simplest way is:

<CodeGroup>
  ```typescript testnet theme={null}
  import "@sophon-labs/account-eip6963/testnet";
  ```

  ```typescript mainnet theme={null}
  import "@sophon-labs/account-eip6963/mainnet";
  ```
</CodeGroup>

If you need dynamic network support, you can use the root package, for example:

```typescript theme={null}
import { getDefaultConfig } from "@rainbow-me/rainbowkit";
import { sophonTestnet, sophon } from "wagmi/chains";
import { createSophonEIP6963Emitter } from "@sophon-labs/account-eip6963";

createSophonEIP6963Emitter("testnet");

export const config = getDefaultConfig({
  appName: "Your Application",
  projectId: "YOUR_PROJECT_ID",
  chains: [sophon, sophonTestnet],
  ssr: true,
});
```

This will automatically:

* Register the **Sophon Account** provider
* Announce it through the [EIP-6963](https://eips.ethereum.org/EIPS/eip-6963) events
* Make it available to [EIP-6963](https://eips.ethereum.org/EIPS/eip-6963) compatible applications

You can find examples of implementing EIP-6963 with other common libraries:

* [RainbowKit](../examples/rainbowkit)
* [Reown AppKit](../examples/appkit)
* [ConnectKit](../examples/connectkit)
* [Thirdweb Wallet](../examples/thirdweb)

<CardGroup cols={1}>
  <Card title="EIP-6963 Example Repository" icon="github" href="https://github.com/sophon-org/sophon-account-sso/tree/main/examples/web/eip6963" arrow="true" cta="Read more">
    You can check an example of implementing EIP-6963 with RainbowKit.
  </Card>
</CardGroup>
