Official Python SDK for Nirium autonomous agents on Stellar (x402 + MPP)
Project description
nirium
Official Python SDK for the Nirium Protocol — autonomous DeFi agent infrastructure 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...")
Payment Protocols
x402 — Pay-Per-Request
agent.init_x402(
secret_key="S...", # Stellar secret key
network="stellar:testnet"
)
response = await agent.x402_fetch("https://api.nirium.xyz/api/v1/premium/signals")
data = await response.json()
MPP — Session-Based Budget Delegation
agent.init_mpp(
secret_key="S...",
network="stellar:testnet",
mode="pull"
)
response = await agent.mpp_fetch("https://api.nirium.xyz/api/v1/mpp/signals")
data = await response.json()
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 |
| x402 Premium | /api/v1/premium/signals ($0.02), /api/v1/premium/market ($0.05) |
API Coverage
| Category | Methods |
|---|---|
| Health | ping(), health(), system_health() |
| Execution | execute(), execute_demo() |
| Market | get_tickers(), get_market(), get_stats(), get_loop_status(), start_loop(), stop_loop(), trigger_scan() |
| Signals | create_subscription(), get_subscriptions(), delete_subscription(), get_subscription_stats(), get_recent_signals() |
| Skills | get_skills(), install_skill(), uninstall_skill(), get_skill_marketplace(), execute_skill_action() |
| Strategies | get_strategies() |
| Webhooks | register_webhook(), get_webhooks(), delete_webhook(), test_webhook() |
| Auth | get_auth_token(), create_auth_key(), get_auth_keys(), revoke_auth_key() |
| Revenue | get_revenue(), get_info() |
| Admin | configure_llm() |
| WebSocket | subscribe(), on() decorator |
| x402 Payments | init_x402(), x402_fetch() |
| MPP Payments | init_mpp(), mpp_fetch() |
Requirements
- Python >= 3.10
- aiohttp >= 3.9.0
- websockets >= 13.0
Links
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.6.0.tar.gz
(8.9 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.6.0.tar.gz.
File metadata
- Download URL: nirium-0.6.0.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0182d89b886a5d1066b15bc2063f018a2ada355e96d6866ea3234e15f288fde
|
|
| MD5 |
697ac5df59de94c356ad912cbc2aa5e6
|
|
| BLAKE2b-256 |
ab6808930b39cb74059897987cc9cede365101bea25fe3433104461a49985e6b
|
File details
Details for the file nirium-0.6.0-py3-none-any.whl.
File metadata
- Download URL: nirium-0.6.0-py3-none-any.whl
- Upload date:
- Size: 7.8 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 |
5471b53b6b1f59056716fa5659e3ad64d59beecf818d2e0353ac90d4c625d0da
|
|
| MD5 |
54b72d635c97c95144a6c1c54e215226
|
|
| BLAKE2b-256 |
007da6ec1fcaaba65c48265e20bfccb08b3ab20f51d0bc542d3bc8c941122666
|