Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
30
A2A v0.1.0 x402 micropay

commodities.sh

www.commodities.sh · Sawftware Solutions

Go-to x402/MCP commodities reference: energy inventories, metals, ags fundies, crack spreads, COT.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain www.commodities.sh 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

Compare public evidence

🔔 Watch this agent. Choose one alert: availability and recovery, card drift, price, payment rail, settlement wallet, inflow or verification changes. Add more alert types from your account. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
8 things in this card we could not use
Everything else was indexed. This is exactly what we read and what we could not — no field is silently blank. Fix the card at https://www.commodities.sh/.well-known/agent.json and the next probe clears this panel.
Field What we saw What we stored
provider Input should be a valid dictionary or instance of Provider reinterpreted — read as the provider organisation
skills[0] Input should be a valid dictionary or instance of Skill reinterpreted — read as a skill id with no description
skills[1] Input should be a valid dictionary or instance of Skill reinterpreted — read as a skill id with no description
skills[2] Input should be a valid dictionary or instance of Skill reinterpreted — read as a skill id with no description
skills[3] Input should be a valid dictionary or instance of Skill reinterpreted — read as a skill id with no description
skills[4] Input should be a valid dictionary or instance of Skill reinterpreted — read as a skill id with no description
skills[5] Input should be a valid dictionary or instance of Skill reinterpreted — read as a skill id with no description
skills[6] Input should be a valid dictionary or instance of Skill reinterpreted — read as a skill id with no description
Trust score
30/100
grade F · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~175 ms response
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
1 snapshot tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

F
Conformance score: 30/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
partial Valid AgentCard 7/10
AgentCard did not read cleanly: 8 fields we had to reinterpret. Scored on what we could read, not on a card that arrived as published — the card findings name every affected field and what we did with it.
How to earn +3 points
Publish a parseable A2A AgentCard
Serve a valid AgentCard JSON at /.well-known/agent-card.json. The A2A 1.0 schema is the reference; we accept the v0.x backwards-compatible variant too.
Docs →
fail Live JSON-RPC 5/25
Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response.
How to earn +20 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 →
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 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 7 skills with structured metadata. 7 skills without tags — optional in 0.x, REQUIRED once you move the card to v1.0.
partial Verified Identity 3/10
Provider name only: Sawftware Solutions. No URL, no registry identifier.
How to earn +7 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 5/5
declares 1 modern capability flag(s) (x402); seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.

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-10 01:20:40 current eb3e8296c763… view →
Uptime
accumulating
1 direct probes · 30d
Response
138ms
last direct probe
Skills
7
declared
Streaming
—
SSE-capable

Endpoints

Agent cardhttps://www.commodities.sh/.well-known/agent.json
Discovered via
smithery

Skills · 7 declared · mapped to canonical taxonomy

eia_inventory
orphan: no canonical match yet
crack_spread
orphan: no canonical match yet
cot_positioning
orphan: no canonical match yet
usda_fundamentals
orphan: no canonical match yet
commodity_cash_prices
orphan: no canonical match yet
historical_series
orphan: no canonical match yet
fx_rates
orphan: no canonical match yet

Health · last 1 probes

When HTTP Live JSON-RPC Latency
2026-10-10 01:20:40 200 ✗ 138ms

Similar agents embedding-nearest

commodities.sh
Go-to x402/MCP commodities reference: energy inventories, metals, ags fundies, crack spreads, COT.
Sawftware Solutions · q 61%
commodities.sh
Go-to x402/MCP commodities reference: energy inventories, metals, ags fundies, crack spreads, COT.
Sawftware Solutions · q 61%
StrategicMaterials
Critical-minerals supply concentration and US import reliance
LoneStarOracle · q 75%
EnergyCatalyst
US energy inventory catalyst signal (crude, gasoline, natural gas) plus the EIA report calendar
LoneStarOracle · q 75%
Gold, silver and major macro FX reference in one call for portfolio-hedging agents. ECB +
Gold, silver and major macro FX reference in one call for portfolio-hedging agents. ECB + metals reference. Free source. $0.05 USDC via x402
SYNTHORA · q 0%
Fred-X402
Returns a FRED market dashboard with curated economic data and charts.
fred-x402.vercel.app · q 70%

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
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/www.commodities.sh.svg)](https://agenstry.com/agents/www.commodities.sh)
[![Verified Business](https://agenstry.com/badge/www.commodities.sh/identity.svg)](https://agenstry.com/agents/www.commodities.sh)
[![Uptime](https://agenstry.com/badge/www.commodities.sh/uptime.svg)](https://agenstry.com/agents/www.commodities.sh)
[![A2A version](https://agenstry.com/badge/www.commodities.sh/protocol.svg)](https://agenstry.com/agents/www.commodities.sh)

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": "commodities.sh",
  "description": "Go-to x402/MCP commodities reference: energy inventories, metals, ags fundies, crack spreads, COT.",
  "url": "https://api.commodities.sh",
  "provider": "Sawftware Solutions",
  "version": "0.1.0",
  "authentication": {
    "protocols": [
      "x402",
      "api_key"
    ],
    "networks": [
      "eip155:8453"
    ],
    "payTo": "0x0D4Ee4E945601865E3A5bC5a188e4a9CF23c00d5",
    "note": "Prefer x402 for agents. Pro operators may use Authorization: Bearer cs_live_\u2026 (credits). MCP tools are gated the same way. Set X402_ENFORCE=true in production for wallet path."
  },
  "pricing": {
    "PRICE": 0.01,
    "PRICES_BUNDLE": 0.02,
    "HISTORY": 0.02,
    "CURVE": 0.03,
    "INVENTORY_BUNDLE": 0.03,
    "INVENTORY_SERIES": 0.02,
    "COT": 0.02,
    "CRACK": 0.03,
    "CRUSH": 0.03,
    "BASIS": 0.03,
    "CALENDAR": 0.02,
    "WASDE": 0.03,
    "CROP_PROGRESS": 0.02,
    "EXPORT_SALES": 0.02,
    "USGS": 0.03,
    "FX": 0.01,
    "SNAPSHOT": 0.05,
    "DECISION": 0.1,
    "SNAPSHOT_ALL": 0.12,
    "DECISION_ALL": 0.25
  },
  "when_to_call": [
    "Need EIA weekly crude/gasoline/distillate/Cushing stocks with WoW and vs-5y",
    "Need 3-2-1 crack from official cash legs with provenance",
    "Need CFTC managed-money COT nets for CL/NG/GC/ZC",
    "Need USDA WASDE / crop progress / export sales slices",
    "Need historical price trend for an instrument code",
    "Need FX context for a commodity price",
    "Need a sector snapshot without 8 separate 402 round-trips"
  ],
  "skills": [
    "eia_inventory",
    "crack_spread",
    "cot_positioning",
    "usda_fundamentals",
    "commodity_cash_prices",
    "historical_series",
    "fx_rates"
  ],
  "endpoints": {
    "openapi": "https://api.commodities.sh/openapi.json",
    "llms": "https://api.commodities.sh/llms.txt",
    "skill": "https://api.commodities.sh/SKILL.md",
    "mcp": "https://api.commodities.sh/api/mcp",
    "x402": "https://api.commodities.sh/.well-known/x402.json",
    "for_agents": "https://commodities.sh/for-agents",
    "freshness": "https://commodities.sh/freshness"
  },
  "sameAs": [
    "https://api.commodities.sh/openapi.json",
    "https://api.commodities.sh/.well-known/agent.json",
    "https://api.commodities.sh/llms.txt",
    "https://api.commodities.sh/SKILL.md",
    "https://api.commodities.sh/api/mcp",
    "https://x402.org"
  ]
}