# Web3 Toolkits

## Web3 Libraries and Tools for Onyx Development

Developers building on Onyx, an EVM-compatible Layer 3 blockchain, can leverage various libraries and SDKs to interact with smart contracts, manage wallets, and streamline blockchain development. Below is a list of essential frameworks for Web3 development on Onyx.

&#x20;

**Essential Web3 Libraries and Tools**

<table><thead><tr><th valign="middle">Name</th><th valign="middle">Language</th><th valign="middle">Description</th></tr></thead><tbody><tr><td valign="middle">Ethers.js</td><td valign="middle">TypeScript</td><td valign="middle">A lightweight and modular library for interacting with Ethereum and EVM-compatible blockchains, including Onyx. Supports secure key management, node compatibility, ENS integration, JSON wallets, mnemonic phrases, and HD wallets. TypeScript-ready and MIT-licensed. Ethers.js Documentation</td></tr><tr><td valign="middle">Alloy</td><td valign="middle">Rust</td><td valign="middle">A Rust-based utility for Ethereum and EVM development, offering cross-chain communication and Ethereum-like smart contract execution. Ideal for developers seeking Rust-native tooling for blockchain applications. <a href="https://github.com/alloy-rs/alloy">Alloy Documentation</a></td></tr><tr><td valign="middle">thirdweb SDK</td><td valign="middle">TypeScript</td><td valign="middle">A comprehensive Web3 SDK for building dApps on Onyx. Includes wallet connectivity, blockchain interaction, decentralized storage, authentication, gasless transactions, FIAT on-ramps, and data APIs. thirdweb SDK Portal</td></tr><tr><td valign="middle">Viem</td><td valign="middle">TypeScript</td><td valign="middle">A modular tool for Ethereum and EVM development, optimized for performance. Offers JSON-RPC API abstractions, smart contract interaction tools, and support for Anvil, Hardhat, and Ganache environments. <a href="https://viem.sh/">Viem Documentation</a></td></tr><tr><td valign="middle">Web3.js</td><td valign="middle">JavaScript</td><td valign="middle">A widely used Web3 library for interacting with Ethereum and EVM-compatible nodes via HTTP, IPC, or WebSocket. Commonly used in conjunction with MetaMask, Node.js, and browser-based applications. <a href="https://github.com/ethereum/web3.js/">Web3.js GitHub</a></td></tr><tr><td valign="middle">Web3.py</td><td valign="middle">Python</td><td valign="middle">A Python-based Web3 library designed for Ethereum and EVM-compatible blockchain interactions. Enables smart contract operations, transaction handling, and blockchain data retrieval, making it ideal for Python developers working with Onyx. <a href="https://github.com/ethereum/web3.py/">Web3.py GitHub</a></td></tr></tbody></table>

&#x20;

### Expanding the Toolset

If you know of additional Web3 tools that would enhance Onyx development, please contribute by submitting suggestions via GitHub Issues

## Debugging Tools for Onyx dApp Development

Efficient debugging is essential for Onyx developers to ensure the reliability and security of smart contracts. The following tool provides powerful debugging capabilities for smart contract development and testing.

### Tenderly

Tenderly is a comprehensive Web3 development platform that supports smart contract development, testing, monitoring, and debugging. It enables developers to analyze precise lines of code in a human-readable format, making it easier to identify and resolve issues.

Key Features:

* Tenderly Debugger: Provides detailed analysis of smart contract execution, allowing developers to inspect transactions at a granular level.
* Transaction Simulator: Enables replaying historical transactions and simulating current transaction outcomes before sending them on-chain.
* Real-time Monitoring: Detects anomalies and unexpected behavior in smart contract execution.
* Error Handling & Analysis: Streamlines the debugging process by providing insights into state changes, gas usage, and execution paths.

While Tenderly is highly effective, debugging L1-to-L2 messages (Retryable Tickets) has certain limitations due to custom Geth errors. Developers should refer to Onyx documentation for specific debugging guidance regarding cross-layer transactions.

Contributing & Additional Debugging Tools

If you know of additional debugging tools that would enhance Onyx development, consider submitting suggestions via GitHub Issues.

<br>

<br>

<br>

<br>

<br>

<br>


---

# 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.onyx.org/developers/web3-toolkits.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.
