Skip to main content

Oris SDK: Compliant payment rails and KYA infrastructure for autonomous AI agents.

Project description

Oris Python SDK

Compliant payment infrastructure for autonomous AI agents. Oris provides wallets, identity verification (KYA), spending controls, and compliance monitoring designed specifically for AI agents.

Installation

pip install oris-sdk

For local source installation:

git clone https://github.com/fluxaventures/useoris.git
cd useoris
pip install -e .

Quick Start

Send your first autonomous, compliant payment in under 10 lines of code.

from oris import OrisClient

# 1. Initialize client
client = OrisClient(api_key="YOUR_API_KEY", api_secret="YOUR_API_SECRET")

# 2. Register and verify agent
agent = client.agents.register(name="Researcher-01", description="Data procurement agent")
client.agents.verify(agent.id)

# 3. Create an ERC-4337 Smart Account
wallet = client.wallets.create(agent_id=agent.id, chain="polygon")

# 4. Set a spending policy
client.policies.create(
    agent_id=agent.id,
    daily_limit_usd=100.0,
    allowed_contracts=["0xDatasetProviderAddress"]
)

# 5. Execute autonomous payment
tx = client.payments.send(
    agent_id=agent.id,
    to_address="0xDatasetProviderAddress",
    amount=1.0,
    chain="polygon",
    token="POL"
)

print(f"Transaction settled. Hash: {tx.transaction_hash}")

Authentication

Oris enforces HMAC-SHA256 request signing with strict replay protection (30s window). The SDK handles all cryptographic signing, envelope encryption, and rate-limit retries automatically.

Provide your credentials directly or via environment variables (ORIS_API_KEY, ORIS_API_SECRET).

Agent Lifecycle

The Oris infrastructure requires agents to follow a strict compliance lifecycle before accessing on-chain liquidity:

  1. Registration: Agent identity is recorded.
  2. KYA (Know Your Agent) Verification: Agent undergoes AML and risk screening.
  3. Wallet Creation: Counterfactual deployment of an ERC-4337 smart account.
  4. Policy Attachment: Hardcoded on-chain and off-chain spending limits.
  5. Execution: Gas-abstracted, sponsored transaction routing.

Core Methods Reference

Agents

client.agents.register(name: str, description: str) -> Agent
client.agents.verify(agent_id: str) -> bool
client.agents.get_profile(agent_id: str) -> AgentProfile

Wallets

client.wallets.create(agent_id: str, chain: str) -> Wallet
client.wallets.get_balance(wallet_id: str) -> Balance
client.wallets.get_wallets(agent_id: str) -> list[Wallet]

Policies

client.policies.create(agent_id: str, **kwargs) -> Policy
client.policies.simulate_payment(agent_id: str, amount: float) -> SimulationResult

Payments

client.payments.send(agent_id: str, to_address: str, amount: float, chain: str, token: str) -> PaymentResult
client.payments.get_payment(payment_id: str) -> PaymentStatus

Async Support

Every synchronous method has an asynchronous counterpart for high-concurrency environments.

import asyncio
from oris import AsyncOrisClient

async def main():
    client = AsyncOrisClient(api_key="...", api_secret="...")
    tx = await client.payments.asend(...)
    print(tx.transaction_hash)

asyncio.run(main())

Error Handling

The SDK provides a structured exception hierarchy.

from oris.exceptions import OrisAuthError, OrisRateLimitError, OrisComplianceError

try:
    client.payments.send(...)
except OrisComplianceError as e:
    print(f"Transaction blocked by Veris compliance engine: {e}")
except OrisRateLimitError as e:
    print(f"Rate limit exceeded. Retry after {e.retry_after}s")

Supported Chains

Oris currently manages RPC routing and bundler infrastructure for the following networks:

Chain Identifier Support Type
Polygon polygon Native / ERC-4337
Base base Native / ERC-4337
Ethereum ethereum Native / ERC-4337
Arbitrum arbitrum Native / ERC-4337
Optimism optimism Native / ERC-4337
Avalanche avalanche Native / ERC-4337
BSC bsc Native / ERC-4337
Celo celo Native / ERC-4337

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oris_sdk-0.1.1.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oris_sdk-0.1.1-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file oris_sdk-0.1.1.tar.gz.

File metadata

  • Download URL: oris_sdk-0.1.1.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oris_sdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f5d43498831e3001e65623211a20b842ac8e22a116f92df45c7a94a757ad2eb8
MD5 cccd485f8dce9756f7e60255d8dbef9a
BLAKE2b-256 1f7652ba195727aeb42891e02233c9db619917c742f0902b85d9210adc52122f

See more details on using hashes here.

Provenance

The following attestation bundles were made for oris_sdk-0.1.1.tar.gz:

Publisher: publish-python.yml on fluxaventures/oris

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oris_sdk-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: oris_sdk-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oris_sdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5791c3375249821a1018c61386d07dff1e1ce4e779bb9e88484d6a91a3021ea7
MD5 347a6e776825f98c01f58fa884697139
BLAKE2b-256 5bfcc010085c990d025cde78c2acff6560f0d1d8f95517c894ee4457d0c91b3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for oris_sdk-0.1.1-py3-none-any.whl:

Publisher: publish-python.yml on fluxaventures/oris

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page