Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
90
A2A A2A 0.3.0 v1.0.2

Collar Guardrail

backendai-x4m1.onrender.com · Collar

Deterministic pre-trade risk layer for autonomous AI trading agents on Robinhood Chain. Returns allow / warn / deny verdicts with the reasons attached and a tamper-evident audit hash. MCP callers are evaluated at a fixed Tier 1 ceiling ($5,000 notional). The per-wallet rate limiter shares a 60-second sliding window across the MCP, demo, and analyze endpoints.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain backendai-x4m1.onrender.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
38/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 38/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
fail Live JSON-RPC 2/25
Card is valid but has no .url field.
How to earn +23 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload. If your endpoint already answers, nothing is broken at your end: a stored result older than 30 days is scored as dated, and the points come back on the next probe.
Docs →
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 5 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Collar (https://collarguardrail.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 2 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-10-01 08:54:32 current e38e4fdb7e22… view →
Uptime
accumulating
1 direct probes · 30d
Response
41ms
last direct probe
Skills
5
declared
Streaming
—
SSE-capable

Skills · 5 declared · mapped to canonical taxonomy

Evaluate a trade

Pre-trade risk check. Returns allow, warn, or deny, with every reason attached and a tamper-evident audit hash. Checks tier limits, oracle/V4 price source, slip…

canonical Sanctions Screening match 83%
riskguardrailtradingcompliance
Check token safety

Honeypot and contract safety check for any ERC-20 token. Returns severity (safe, warn, danger) and the specific risk factors found, using bytecode analysis and …

canonical Security Posture Review match 82%
securityhoneypottokenerc20
Simulate a wallet balance

Read-only state-override simulation of an ERC-20 balance after a hypothetical trade. No transaction is sent. If the response contains an 'error' key, the simula…

canonical On-chain Settlement match 83%
simulationbalanceerc20
List supported assets

The official Robinhood Chain asset registry with canonical contract addresses. Resolve a symbol correctly before calling evaluate_trade.

canonical On-chain Settlement match 83%
registryassetsrobinhood-chain
Verify audit trail

Recompute every past decision's SHA-256 hash and verify the hash-chain links. Proves no decision was edited, deleted, or reordered. If the response contains an …

canonical Audit Trail Summarization match 85%
auditverificationcompliance

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-01 08:54:32 200 — 41ms

Cheaper or better alternatives per-skill

↑ 4 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

Collar Guardrail
Deterministic pre-trade risk layer for autonomous AI trading agents on Robinhood Chain. Returns allow / warn / deny verdicts with the reason
Collar · q 90%
Collar Guardrail
Deterministic pre-trade risk layer for autonomous AI trading agents on Robinhood Chain. Returns allow / warn / deny verdicts with the reason
Collar · q 90%
saferoute-x402-production.up.railway.app
Noncustodial Base payment control, safety receipts, funding, and execution preparation for autonomous agents, including guarded x402 settlem
saferoute-x402-production.up.railway.app · q 45%
api.usesaferoute.com
Check whether an approved Base token swap is eligible before supplying a wallet. Returns verified token contracts, indicative output, liquid
api.usesaferoute.com · q 65%
SALT19 Agent Utility Grid live
MCP/x402 decision and verification utilities for autonomous software agents, paid in USDC on Base.
api.salt19.com · q 85%
Steve Guard
Robinhood-chain (4663) & Solana token safety + dollar-weighted NET-USD accumulation footprint. Honeypot/rug detection via real buy+sell simu
api.stevesignals.com · q 65%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/backendai-x4m1.onrender.com.svg)](https://agenstry.com/agents/backendai-x4m1.onrender.com)
[![Verified Business](https://agenstry.com/badge/backendai-x4m1.onrender.com/identity.svg)](https://agenstry.com/agents/backendai-x4m1.onrender.com)
[![Uptime](https://agenstry.com/badge/backendai-x4m1.onrender.com/uptime.svg)](https://agenstry.com/agents/backendai-x4m1.onrender.com)
[![A2A version](https://agenstry.com/badge/backendai-x4m1.onrender.com/protocol.svg)](https://agenstry.com/agents/backendai-x4m1.onrender.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Collar Guardrail",
  "description": "Deterministic pre-trade risk layer for autonomous AI trading agents on Robinhood Chain. Returns allow / warn / deny verdicts with the reasons attached and a tamper-evident audit hash. MCP callers are evaluated at a fixed Tier 1 ceiling ($5,000 notional). The per-wallet rate limiter shares a 60-second sliding window across the MCP, demo, and analyze endpoints.",
  "url": "https://api.collarguardrail.com",
  "version": "1.0.2",
  "protocolVersion": "0.3.0",
  "preferredTransport": "HTTP+JSON",
  "provider": {
    "organization": "Collar",
    "url": "https://collarguardrail.com"
  },
  "documentationUrl": "https://collarguardrail.com/agent-docs.html",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "JWT obtained via EIP-191 wallet signature at /api/v1/auth/wallet."
    },
    "x402": {
      "type": "http",
      "scheme": "x402",
      "description": "$0.01 USDG per call on Robinhood Chain (eip155:4663). No signup. Payment settles via the x402 protocol. Discovery document at /.well-known/x402.json."
    }
  },
  "security": [
    {
      "bearer": []
    },
    {
      "x402": []
    }
  ],
  "skills": [
    {
      "id": "evaluate_trade",
      "name": "Evaluate a trade",
      "description": "Pre-trade risk check. Returns allow, warn, or deny, with every reason attached and a tamper-evident audit hash. Checks tier limits, oracle/V4 price source, slippage, market hours, cluster rate limits, and daily loss. If check_token_safety returned severity=danger for the contract, this skill automatically returns deny regardless of other checks. If the response contains an 'error' key, no verdict was produced \u2014 treat as a hard stop and do not execute the trade.",
      "tags": [
        "risk",
        "guardrail",
        "trading",
        "compliance"
      ],
      "examples": [
        "Evaluate a 10 NVDA buy from wallet 0x... before signing.",
        "Check if a proposed ETH sell of 5 units crosses any limit."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "endpoint": {
        "method": "POST",
        "path": "https://api.collarguardrail.com/api/v1/analyze/trade",
        "requires": "bearer"
      },
      "inputSchema": {
        "type": "object",
        "required": [
          "wallet",
          "asset",
          "side",
          "amount",
          "contract_address"
        ],
        "properties": {
          "wallet": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Wallet address the trade would execute from."
          },
          "asset": {
            "type": "string",
            "maxLength": 32,
            "description": "Asset symbol, e.g. NVDA, AAPL, ETH, USDG."
          },
          "side": {
            "type": "string",
            "enum": [
              "buy",
              "sell"
            ]
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "Quantity in token units, not USD."
          },
          "contract_address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$",
            "description": "Must match the official registry entry for the symbol."
          },
          "max_slippage_bps": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1000,
            "default": 100
          },
          "request_id": {
            "type": "string",
            "description": "Idempotency key, cached 5 minutes."
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "decision": {
            "type": "string",
            "enum": [
              "allow",
              "warn",
              "deny"
            ]
          },
          "reasons": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "tier": {
            "type": "integer"
          },
          "max_trade_usd": {
            "type": "number"
          },
          "calculated_notional_usd": {
            "type": "number"
          },
          "price_usd": {
            "type": "number"
          },
          "price_source": {
            "type": "string",
            "enum": [
              "oracle",
              "uniswap_v4",
              "fallback_default",
              "unavailable"
            ]
          },
          "risk_score": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "timestamp": {
            "type": "integer"
          },
          "request_id": {
            "type": "string"
          },
          "audit_hash": {
            "type": "string"
          },
          "audit_seq": {
            "type": "integer"
          },
          "daily_pnl_usd": {
            "type": "number"
          },
          "error": {
            "type": "string",
            "description": "If present, no verdict was produced. Treat as a hard stop; do not execute the trade."
          }
        },
        "anyOf": [
          {
            "required": [
              "decision",
              "reasons",
              "risk_score"
            ]
          },
          {
            "required": [
              "error"
            ]
          }
        ]
      }
    },
    {
      "id": "check_token_safety",
      "name": "Check token safety",
      "description": "Honeypot and contract safety check for any ERC-20 token. Returns severity (safe, warn, danger) and the specific risk factors found, using bytecode analysis and a live sell simulation. CRITICAL: when severity=danger, the next evaluate_trade call for the same contract is automatically denied. Use before trading unknown tokens or tokens absent from the official registry. If the response contains an 'error' key, the check failed \u2014 do not assume 'safe'.",
      "tags": [
        "security",
        "honeypot",
        "token",
        "erc20"
      ],
      "examples": [
        "Is contract 0x... a honeypot?",
        "Check this token before I let the agent buy it."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "endpoint": {
        "method": "POST",
        "path": "https://api.collarguardrail.com/api/v1/token-safety",
        "requires": "none"
      },
      "inputSchema": {
        "type": "object",
        "required": [
          "contract_address"
        ],
        "properties": {
          "contract_address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "safe",
              "warn",
              "danger"
            ]
          },
          "is_honeypot": {
            "type": "boolean"
          },
          "risk_factors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "owner_renounced": {
            "type": "boolean"
          },
          "owner_is_multisig": {
            "type": "boolean"
          },
          "sell_simulation": {
            "type": "object"
          },
          "error": {
            "type": "string",
            "description": "If present, the check failed. Do not assume 'safe'."
          }
        },
        "anyOf": [
          {
            "required": [
              "severity"
            ]
          },
          {
            "required": [
              "error"
            ]
          }
        ]
      }
    },
    {
      "id": "simulate_balance",
      "name": "Simulate a wallet balance",
      "description": "Read-only state-override simulation of an ERC-20 balance after a hypothetical trade. No transaction is sent. If the response contains an 'error' key, the simulation failed.",
      "tags": [
        "simulation",
        "balance",
        "erc20"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "endpoint": {
        "method": "POST",
        "path": "https://api.collarguardrail.com/api/v1/simulate-balance",
        "requires": "none"
      },
      "inputSchema": {
        "type": "object",
        "required": [
          "token_address",
          "holder",
          "delta"
        ],
        "properties": {
          "token_address": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "holder": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "delta": {
            "type": "number",
            "description": "Signed amount. Negative = spend."
          },
          "balance_slot": {
            "type": "integer",
            "minimum": 0,
            "maximum": 64
          },
          "decimals": {
            "type": "integer",
            "minimum": 0,
            "maximum": 36,
            "default": 18
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "token_address": {
            "type": "string"
          },
          "holder": {
            "type": "string"
          },
          "balance_slot": {
            "type": "integer"
          },
          "current": {
            "type": "number"
          },
          "delta": {
            "type": "number"
          },
          "post_trade": {
            "type": "number"
          },
          "error": {
            "type": "string",
            "description": "If present, the simulation failed."
          }
        },
        "anyOf": [
          {
            "required": [
              "current",
              "delta",
              "post_trade"
            ]
          },
          {
            "required": [
              "error"
            ]
          }
        ]
      }
    },
    {
      "id": "get_supported_assets",
      "name": "List supported assets",
      "description": "The official Robinhood Chain asset registry with canonical contract addresses. Resolve a symbol correctly before calling evaluate_trade.",
      "tags": [
        "registry",
        "assets",
        "robinhood-chain"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "endpoint": {
        "method": "GET",
        "path": "https://api.collarguardrail.com/api/v1/assets",
        "requires": "none"
      },
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "outputSchema": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "symbol": {
              "type": "string"
            },
            "contract_address": {
              "type": "string"
            },
            "is_native": {
              "type": "boolean"
            }
          }
        }
      }
    },
    {
      "id": "verify_audit_trail",
      "name": "Verify audit trail",
      "description": "Recompute every past decision's SHA-256 hash and verify the hash-chain links. Proves no decision was edited, deleted, or reordered. If the response contains an 'error' key, verification could not run.",
      "tags": [
        "audit",
        "verification",
        "compliance"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ],
      "endpoint": {
        "method": "GET",
        "path": "https://api.collarguardrail.com/api/v1/audit/verify/{wallet}",
        "requires": "none"
      },
      "inputSchema": {
        "type": "object",
        "required": [
          "wallet"
        ],
        "properties": {
          "wallet": {
            "type": "string",
            "pattern": "^0x[a-fA-F0-9]{40}$"
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 1000,
            "default": 100
          }
        }
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "wallet": {
            "type": "string"
          },
          "total": {
            "type": "integer"
          },
          "tampered": {
            "type": "integer"
          },
          "healthy": {
            "type": "boolean"
          },
          "records": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "error": {
            "type": "string",
            "description": "If present, verification could not run."
          }
        },
        "anyOf": [
          {
            "required": [
              "healthy"
            ]
          },
          {
            "required": [
              "error"
            ]
          }
        ]
      }
    }
  ]
}