# Tools and SDKs for developers

## Ethereum Tools and SDKs

Standard Ethereum tools are compatible with OneFinity, provided the RPC configuration is updated. Examples:

* [Hardhat Configuration](https://hardhat.org/hardhat-runner/docs/config): Add OneFinity's RPC under `networks`.
* [Metamask Configuration](https://support.metamask.io/networks-and-sidechains/managing-networks/how-to-add-a-custom-network-rpc/): Remember that MetaMask can also connect to the Remix IDE.

Websockets are currently unsupported, as noted in the [RPC section](https://docs.onefinity.network/technical-documentation/integration-of-the-ethereum-remote-procedure-call-rpc).

***

## MultiversX Tools and SDKs

Since OneFinity inherits MultiversX’s framework, its tools and SDKs are fully compatible.&#x20;

Key difference in tool usage: OneFinity requires a custom HRP (“**one**”) for address formatting. When working with bech32 addresses, you may need to specify this custom HRP.

Check the examples below on how to correctly use the tools/SDKs:

* **mxpy**: [Updating mxpy Configuration](https://docs.multiversx.com/sdk-and-tools/sdk-py/mxpy-cli/#updating-the-mxpy-configuration)
* **sdk-py**: [Changing Default HRP](https://docs.multiversx.com/sdk-and-tools/sdk-py/sdk-py-cookbook/#changing-the-default-hrp)
* **sdk-js**: Use the below snippet

```javascript
import { LibraryConfig } from "@multiversx/sdk-core"; 

LibraryConfig.DefaultAddressHrp = "one";
```

### Lite Wallet

Similar to the MultiversX web wallet, this solution allows logging in using either a PEM file or a Keystore. It also offers functionalities such as issuing tokens, creating NFTs, and sending transactions. Essentially, it's a "lite" version of the MultiversX web wallet, tailored for sovereign chains.

#### *How to integrate the Lite Wallet in OneFinity dApps*

1. Change the default address HRP

When using [mx-sdk-js-core](https://github.com/multiversx/mx-sdk-js-core), ensure you have version ***13.2.0-beta.2*** or newer.

When using [mx-sdk-dapp](https://github.com/multiversx/mx-sdk-dapp), ensure you have version ***2.40.7*** or newer.

Change the ***DefaultAddressHrp*** as follows (as also described above):

```javascript
LibraryConfig.DefaultAddressHrp = 'one';
```

2. Change the default DappProvider configuration

```tsx
<DappProvider
          ...
          customNetworkConfig={{
            ...
            apiAddress: '...',
            walletAddress: '...',
            ...
          }}>
```

Use the appropriate URLs for your environment from the [available list](https://docs.onefinity.network/technical-documentation/environments).

3. Show the web wallet button

```tsx
<CrossWindowLoginButton
    {...commonProps}
    loginButtonText='Web Wallet'
/>
```
