Minimal Python library to interact with the NEAR blockchain and Chain Signatures
Project description
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 interfacewallets– Chain-safe wallet abstractionadapters– Protocol adapters (USDC, Aave)providers– RPC provider factories (Alchemy, FastNEAR)transactions– Transaction and query builderscrypto- Crypto modules to work with NEAR cryptographyutils- Conversion utilitieschain_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
Getting Started
Install the latest version of near-omni-client by running:
$ 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file near_omni_client-0.1.5.tar.gz.
File metadata
- Download URL: near_omni_client-0.1.5.tar.gz
- Upload date:
- Size: 37.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0ecbb20a4874cadfcd0d5b57f96b8e157b9aca2bc29f308043b1e23b9f45590
|
|
| MD5 |
8e13f1b6f15e20fdcc1ad08a6ae603fa
|
|
| BLAKE2b-256 |
7931bd3965566e5764f4d4dbd147c5a2a0867a0bc81d981491cc6711ca84ea59
|
Provenance
The following attestation bundles were made for near_omni_client-0.1.5.tar.gz:
Publisher:
publish.yml on Omni-rs/near-omni-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
near_omni_client-0.1.5.tar.gz -
Subject digest:
d0ecbb20a4874cadfcd0d5b57f96b8e157b9aca2bc29f308043b1e23b9f45590 - Sigstore transparency entry: 320034699
- Sigstore integration time:
-
Permalink:
Omni-rs/near-omni-client@eea58eb73195e5a2282b3fb287720d9300196ff4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Omni-rs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eea58eb73195e5a2282b3fb287720d9300196ff4 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file near_omni_client-0.1.5-py3-none-any.whl.
File metadata
- Download URL: near_omni_client-0.1.5-py3-none-any.whl
- Upload date:
- Size: 61.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76f6ec3bcb9a3733d7c3792fc80b25e273e8c371af979e4f7ee84a453e7df1d0
|
|
| MD5 |
0cbe230ca6575733bf71b1eb3dd0b56f
|
|
| BLAKE2b-256 |
e9d447d3681e7eff6b3b01eaa1105c4b62e049ad846f4d26095e8b1d7c83c68f
|
Provenance
The following attestation bundles were made for near_omni_client-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on Omni-rs/near-omni-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
near_omni_client-0.1.5-py3-none-any.whl -
Subject digest:
76f6ec3bcb9a3733d7c3792fc80b25e273e8c371af979e4f7ee84a453e7df1d0 - Sigstore transparency entry: 320034708
- Sigstore integration time:
-
Permalink:
Omni-rs/near-omni-client@eea58eb73195e5a2282b3fb287720d9300196ff4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Omni-rs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@eea58eb73195e5a2282b3fb287720d9300196ff4 -
Trigger Event:
workflow_dispatch
-
Statement type: