Metadata-Version: 2.4
Name: near-omni-client
Version: 0.1.4
Summary: Minimal Python library to interact with the NEAR blockchain and Chain Signatures
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE-APACHE
Requires-Dist: base58>=2.1.1
Requires-Dist: ecdsa>=0.19.1
Requires-Dist: httpx>=0.28.1
Requires-Dist: loguru>=0.7.3
Requires-Dist: py-near-primitives>=0.2.3
Requires-Dist: pydantic>=2.11.3
Requires-Dist: pynacl>=1.5.0
Requires-Dist: secp256k1>=0.14.0
Requires-Dist: web3>=7.12.1
Provides-Extra: docs
Requires-Dist: furo>=2024.8.6; extra == "docs"
Requires-Dist: myst-parser>=4.0.1; extra == "docs"
Requires-Dist: sphinx>=8.2.3; extra == "docs"
Requires-Dist: sphinx-autobuild>=2024.10.3; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints>=3.1.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=3.0.2; extra == "docs"
Requires-Dist: sphinxawesome-theme>=5.3.2; extra == "docs"
Requires-Dist: sphinxcontrib-napoleon>=0.7; extra == "docs"
Dynamic: license-file

# near-omni-client

**near-omni-client** is a modular Python library to develop cross chain applications using NEAR's [Chain Signatures].

## Features

- ✅ Wallet abstraction for Ethereum and NEAR
- ✅ Pluggable signing system (MPC via chain signatures, local signing for NEAR and Ethereum)
- ✅ NEAR JSON-RPC API
- ✅ Defi protocol adapters (Aave, CCTP)
- ✅ Transaction crafting and query builders 
- ✅ Provider factory for mainnet and testnet
- ✅ Async-ready, testable, and production-grade structure

## 📦 Modules

- `wallet` - Wallets per chain (EthereumWallet, NearWallet)
- `signers` – Pluggable signer implementations (MPC, local NEAR, local Ethereum)
- `json_rpc` – Low-level JSON-RPC interface
- `wallets` – Chain-safe wallet abstraction
- `adapters` – Protocol adapters (USDC, Aave)
- `providers` – RPC provider factories (Alchemy, FastNEAR)
- `transactions` – Transaction and query builders
- `crypto` - Crypto modules to work with NEAR cryptography
- `utils` - Conversion utilities
- `chain_signatures` - Chain signatures utilities for address derivation

## Concepts

### 🔑 Wallets
Abstractions over per-chain accounts that can build, sign and send transactions. They are signer-agnostic and compatible with NEAR and Ethereum.

### 🔐 Signers
Responsible for producing valid cryptographic signatures, either locally, via MPC, or remote signer APIs. Fully pluggable.

### 📡 RPC
Low-level JSON-RPC client, abstracted via a `ProviderFactory` to switch between testnet, mainnet, or localnet with ease.

## Architecture

<!-- TODO: Include architecture's diagram -->

## Getting Started

Install the latest version of `near-omni-client` by running:

```bash
$ pip install near-omni-client

# or if using uv

$ uv add near-omni-client
```

Create a NEAR account and get your private key using the [NEAR CLI].

## Contributing

If you are thinking about contributing to the **near-omni-client**, first of all thanks a lot ! We would love your contribution ! 

To understand the process for contributing, see [CONTRIBUTING.md].

<!-- REFERENCES -->
[Chain Signatures]: https://docs.near.org/chain-abstraction/chain-signatures
[CONTRIBUTING.md]: ./contributing.md




