Official Python SDK for the Nirium autonomous DeFi agent on Stellar
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.2.0.tar.gz
(4.8 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.2.0.tar.gz.
File metadata
- Download URL: nirium-0.2.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74a9cb7686a343b7daa534320ac8b8c6fdb1bd0cc63918b4847281ad6725fd80
|
|
| MD5 |
e8c831a7a0ce961632fafbfd071e61ad
|
|
| BLAKE2b-256 |
454eecb5de9ffd7936c72ece076537cd9bda08947dcff5787da0c320e1ded716
|
File details
Details for the file nirium-0.2.0-py3-none-any.whl.
File metadata
- Download URL: nirium-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.9 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 |
b0358e50656d6070ec4ad28729d1b301b869fc75279d766cad96aa50317a982a
|
|
| MD5 |
9ff776145bf7575302bd86ac793def71
|
|
| BLAKE2b-256 |
3bbd1b15b8c7f65e67aa4706ea5d336805b18d24214146bb306c3bac36320087
|