Ed25519-signed · verify in-browser

Verified data for AI agents, provable in one click.

Agents act on what they are told, so responses should carry source, licence and observation time. Supported Dynamic Feed paths add an Ed25519 signature over canonical bytes. Verify one right now in your browser.

The call

Keyless. Fetch signed data, then verify it against the published key — in the box above, with scripts/verify_awareness.py, or by hand.

# keyless — a signed, grounded snapshot any agent can verify
curl -X POST https://dynamicfeed.ai/v1/awareness -H "Content-Type: application/json" -d '{"robot":{"class":"ground"},"location":{"lat":-27.47,"lon":153.02}}'

# the public key — verify the signature yourself, no account
curl https://dynamicfeed.ai/.well-known/keys

Sample response

{ "facts": [ { "id": "wx.wind_kmh", "value": 21, "unit": "km/h",
               "source": "Open-Meteo", "age_s": 240, "stale": false } ],
  "signature": { "alg": "Ed25519", "key_id": "df-ed25519-6ca0de29113b",
                 "canonicalization": "json-sorted-compact", "sig": "..." } }

Why live data

To an agent, a hallucinated number, stale cache and fresh observation can all look like text. Dynamic Feed responses carry source, licence and observation time, with Ed25519 signatures on supported paths so exact-byte integrity and attribution can be checked. A signature does not prove objective truth or independent time. When needed, a workflow can request an RFC 3161 artifact for a digest; independent time evidence requires full token, digest-binding and certificate-path validation.

Use it for

FAQ

How is this different from a normal data API?

Responses carry provenance metadata such as source, licence, observation time and age; supported paths add an Ed25519 signature over canonical bytes. A separate RFC 3161 artifact may be requested for a digest and must be fully validated before relying on time evidence.

Does a signature prove the data is true?

No. A valid signature establishes integrity and attribution under the signing key, not objective truth or independent time. The upstream source remains named in the response.

How does an agent verify in practice?

Drop the signature field, canonicalize the rest (JSON, keys sorted, compact separators), check the Ed25519 signature against /.well-known/keys. The widget above does it in your browser; /verify.js and scripts/verify_awareness.py are the reference implementations.

What does it cost?

The MCP endpoint and /v1 verification surfaces are keyless. A free REST key adds limits and usage; paid plans are in early access — /pricing.

Related live feeds