> For the complete documentation index, see [llms.txt](https://docs.bosagora.org/en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bosagora.org/en/tools/sdk.md).

# SDK

### Javascript API libraries <a href="#available-libraries" id="available-libraries"></a>

In order for a web app to interact with the Agora blockchain (i.e. read blockchain data and/or send transactions to the network), it must connect to an Agora node.

For this purpose, every Agora client implements the JSON-RPC specification, so there are a uniform set of [endpoints](/en/bosagora-chain-info.md) that applications can rely on.

If you want to use JavaScript to connect with an Agora node, it's possible to use vanilla JavaScript but several convenience libraries exist within the ecosystem that makes this much easier. With these libraries, developers can write intuitive, one-line methods to initialize JSON RPC requests (under the hood) that interact with Agora.

The following Ethereum documents are relevant to Agora as the JSON-RPC specification is the same.

#### **Web3.js -&#x20;*****JavaScript API*** <a href="#available-libraries" id="available-libraries"></a>

* [Documentation](https://web3js.readthedocs.io/en/1.0/)
* [GitHub](https://github.com/ethereum/web3.js/)

**Ethers.js -** ***Complete Ethereum wallet implementation and utilities in JavaScript and TypeScript***

* [Documentation](https://docs.ethers.io/)
* [GitHub](https://github.com/ethers-io/ethers.js/)

**Web3-wrapper -** ***Typescript alternative to Web3.js***

* [Documentation](https://0x.org/docs/web3-wrapper#introduction)
* [GitHub](https://github.com/0xProject/0x-monorepo/tree/development/packages/web3-wrapper)

**Alchemyweb3 -** ***Wrapper around Web3.js with automatic retries and enhanced apis***

* [Documentation](https://docs.alchemy.com/reference/api-overview)
* [GitHub](https://github.com/alchemyplatform/alchemy-web3)

**Alchemy NFT API -** ***API for fetching NFT data, including ownership, metadata attributes and more***

* [Documentation](https://docs.alchemy.com/alchemy/enhanced-apis/nft-api)
* [GitHub](https://github.com/alchemyplatform/alchemy-web3)

### Go libraries

* [Ethereum Golang SDK](https://github.com/everFinance/goether) - *A simple Ethereum wallet implementation and utilities in Golang*
