Official Python SDK for Nirium autonomous agents on Stellar (x402 + MPP)
Project description
nirium
Official Python SDK for the Nirium Protocol — autonomous DeFi agent on Stellar/Soroban.
Install
pip install nirium
Quick Start
import asyncio
from nirium import Agent
agent = Agent(
api_url="https://api.nirium.xyz",
api_key="sk_inst_your_key_here",
)
async def main():
# Health check
alive = await agent.ping()
print(f"Agent alive: {alive}")
# Real market data from Stellar Horizon
market = await agent.get_market()
print(f"XLM Price: ${market['xlmPrice']:.4f}")
# Execute a strategy
result = await agent.execute("flash-loan-arb", "XLM-USDC", {"amount": 5000})
print(f"Profit: {result['profit']}")
asyncio.run(main())
Real-Time Signals (WebSocket)
agent = Agent(api_url="https://api.nirium.xyz", api_key="sk_inst_...", token="eyJhbG...")
@agent.on("signal")
async def on_signal(data):
print(f"Signal: {data['signal_type']} — {data['data']['details']}")
asyncio.run(agent.subscribe())
Authentication
# API Key for REST endpoints
agent = Agent(api_url="https://api.nirium.xyz", api_key="sk_inst_...")
# With JWT token for WebSocket
agent = Agent(api_url="https://api.nirium.xyz", api_key="sk_inst_...", token="eyJhbG...")
Endpoint Access Model
| Access | Endpoints |
|---|---|
| Public (no key) | health, loop/status, execute-demo, signals/recent, skills list |
| Protected (API key) | execute, market, loop/start|stop|scan, subscriptions, skills/install, webhooks |
| WebSocket (JWT) | /ws/signals — real-time signal stream |
API Coverage
| Category | Methods |
|---|---|
| Health | ping(), health(), system_health() |
| Execution | execute(), execute_demo() |
| Market | get_market(), get_loop_status(), start_loop(), stop_loop(), trigger_scan() |
| Signals | get_recent_signals() |
| Skills | get_skills(), install_skill(), uninstall_skill() |
| Webhooks | register_webhook(), get_webhooks(), delete_webhook(), test_webhook() |
| WebSocket | subscribe(), on() decorator |
Requirements
- Python >= 3.10
- aiohttp >= 3.9.0
- websockets >= 13.0
License
MIT — Nirium Protocol
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
nirium-0.4.0.tar.gz
(7.0 kB
view details)
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 nirium-0.4.0.tar.gz.
File metadata
- Download URL: nirium-0.4.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab1f1c3a8550fb7216415138e20dc66bcf67b9ecb63d65ab2d004a36a6760c70
|
|
| MD5 |
694b99c0aeb3078cd9797709038e66de
|
|
| BLAKE2b-256 |
f2836448b0ac3dd270ce0e3c18ad5ea78bcfd697eee929871d1286d442c2bf06
|
File details
Details for the file nirium-0.4.0-py3-none-any.whl.
File metadata
- Download URL: nirium-0.4.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
342fd03f0e4c019feac20d8f6c327891dc41686dea02b67dea57bbdc3866d925
|
|
| MD5 |
8e9c9606a1727c4c3a5183c0ba8b30bb
|
|
| BLAKE2b-256 |
2a28e28b79eb63edbe857018edaab084c62c226e810975ab31fefd68f903d99e
|