Observed since 20 Oct, 21:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
Zero-trust ML Risk Oracle and Firewall for Algorand AI Agents
The Zero-Trust ML Risk Oracle and Firewall for Algorand AI Agents.
Ageniz is a developer-first security protocol that prevents AI Agents (like trading bots or autonomous assistants) from draining wallets through hallucinations, prompt injections, or malicious intent.
By routing all agent transactions through an off-chain Machine Learning Oracle and validating them on-chain via an immutable Smart Contract Vault, Ageniz provides enterprise-grade "Defense in Depth."
pip install agenizai-sdk
Create a .env file in your project root with your Algorand wallet details and Ageniz configuration:
# Your AI Agent's Wallet
DEPLOYER_MNEMONIC="your twenty five word algorand testnet mnemonic phrase goes here..."
# Ageniz Protocol Config
APP_ID=760267917
ORACLE_URL="https://ageniz-backend.onrender.com"
pay())In Live Firewall mode, the payment is strictly gated. The SDK automatically builds a 3-transaction Atomic Group (ABI Validation + Vendor Payment + Protocol Fee). If the ML Oracle flags the transaction, it never reaches the blockchain.
import os
from dotenv import load_dotenv
from ageniz_sdk.core import AgenizSDK
load_dotenv()
# 1. Initialize the Firewall
agent = AgenizSDK(
wallet_mnemonic=os.getenv("DEPLOYER_MNEMONIC"),
ageniz_api_key="your_developer_api_key",
app_id=int(os.getenv("APP_ID")),
oracle_url=os.getenv("ORACLE_URL")
)
# 2. Opt-in to the Vault (Required once per wallet for Nonce tracking)
agent.opt_in()
# 3. Execute a Protected Payment
print("Requesting payment authorization...")
result = agent.pay(
recipient="YZ2L7MGFX35YUGVPB2YF3S4K3KQVNJ4BWYFIB3UVMJNQAPEME3MK7ME2DU",
amount_algo=1.0,
context="Paying external weather API for daily data fetch."
)
# 4. Handle the Verdict
if result["status"] == "SUCCESS":
print(f"✅ Payment cleared firewall! TxID: {result['tx_id']}")
elif result["status"] == "BLOCKED":
print(f"❌ Payment blocked by ML Oracle: {result['reason']}")
For developers integrating Ageniz into an existing live agent, gating transactions immediately can be risky. Shadow Mode allows you to monitor your agent's behavior and see what Ageniz would have done, without actually blocking any payments.
When you use observe() instead of pay():
PaymentTxn.observe()result = agent.observe(
recipient="YZ2L7MGFX35YUGVPB2YF3S4K3KQVNJ4BWYFIB3UVMJNQAPEME3MK7ME2DU",
amount_algo=1.0,
context="Testing weather API integration.",
scenario_tag="beta_testing"
)
print(f"💸 Payment Executed! TxID: {result['tx_id']}")
# See what Ageniz WOULD have done:
print(f"Ageniz Verdict: {result['ageniz_verdict']}")
if result['would_have_blocked']:
print("⚠️ Warning: Ageniz would have blocked this transaction in Live Mode!")
# Save this ID to provide human feedback later
shadow_id = result["shadow_log_id"]
Shadow Mode is designed for data collection and fine-tuning. Every observe() call logs the transaction details and the hypothetical ML verdict to the Ageniz database, returning a unique shadow_log_id.
Developers or human operators can later review these logs and submit a Human Verdict (LEGITIMATE, ATTACK, or AMBIGUOUS) to train the ML model on false positives/negatives.
You can submit ground-truth labels directly to the Ageniz REST API:
# Label a flagged transaction as a false positive (LEGITIMATE)
curl -X PATCH https://ageniz-backend.onrender.com/shadow/<shadow_log_id>/verdict \
-H "Content-Type: application/json" \
-d '{"human_verdict": "LEGITIMATE"}'
By running in Shadow Mode and labeling the data, you can build a perfectly tailored ML risk profile for your specific AI agent before switching your code to pay().
Ageniz does not rely solely on off-chain AI. It enforces security on-chain using an Atomic Verification Group.
When agent.pay() is called:
SAFE, the Oracle generates a cryptographic Ed25519 signature binding the exact (amount, recipient, nonce).ed25519verify and peeks at the agent's payment (Txn 1) via Gtxn to ensure the amount and recipient were not tampered with. If the math matches, the payment executes trustlessly.You can monitor your agent's standing with the protocol at any time:
status = agent.get_status()
print(f"Reputation Score : {status['reputation_score']}/100")
print(f"Velocity : {status['velocity']} tx/hr")
print(f"Fee Tier : {status['fee_tier']['tier']} ({status['fee_tier']['fee_pct']}%)")
This project is licensed under the MIT License.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 2.5.0 | 7 Jun 2026 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:798ba79f2ba45d97ed34f7ef2178907adb1c05627fd0614d86601cdadf33530f