Whisper bronze
whisper.online
“Give an AI agent a stable, routable IPv6 address of its own and egress that anyone can verify from outside. Use this when you need a fixed IP your traffic actually leaves from, an identity another service can check independently by reverse DNS and RDAP rather than taking your word for it, or control over what an agent is allowed to reach and a record of what it did. It also answers security questions about any domain, address or file hash from the Whisper graph, with no account at all. The address space is AS219419, which we run; an email address alone is enough to get a key.
https://whisper.online/.well-known/agent-card.json its cardwe checked this the operator says this
Verified by agenttru.st
Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.
- Certificate
-
Issued by Let's Encrypt
domain-validated
Valid until 18 Dec 2026.Control of the hostname was checked; nothing about who operates it.
- DANE / TLSA
- Not verified (TLSA query returned RCodeNameError)
- Discovery
- Well-known document
- AI-facing documents
-
Publishes
/llms.txt— “Whisper, a home for AI agents.” a curated map of the site's content for language modelsFetched from this host during verification. Neither document is how this agent was discovered. - First seen
- 21 Sep 2026
View verification details
- Assurance
- bronze Bronze — agent card fetched over HTTPS with a valid certificate
- Protocols
- A2A verified by handshake or card fetch, not merely advertised
- Hosted in
- 🇳🇱 NL · The Constant Company, LLC (AS20473)
- Last checked
- 16h ago
What this agent says it can do
Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks — the operator of whisper.online controls every word below.
Get a Whisper API key
Start or complete Whisper signup from an email address alone, and receive an API key that unlocks the provisioning and governance skills on this card. Send {"email":"..."} to start; a six-digit code arrives by email; send {"signup_id":"...","code":"123456"} to complete. No human step, no account needed first.
- {"skill":"signup","input":{"email":"agent@example.com"}}
- {"skill":"signup","input":{"signup_id":"...","code":"123456"}}
identify
Identify an indicator (domain, IP, hash, …) against the graph. Answers without an API key.
- {"skill":"identify","input":"example.com"}
assess
Assess the risk/policy posture of one or more indicators. Answers without an API key.
- {"skill":"assess","input":"example.com"}
walk
Walk the graph from an indicator across its relationships. Answers without an API key.
- {"skill":"walk","input":"example.com"}
watch
Watch an indicator for change/activity over time. Answers without an API key.
- {"skill":"watch","input":{"action":"list"}}
submit
Submit an observation/claim into the graph. Writes to the graph, so it needs your API key: an anonymous claim would not be attributable.
- {"skill":"submit","input":{"host":"example.com","claim":"benign"}}
explain
Explain a verdict - the evidence and reasoning behind it. Answers without an API key.
- {"skill":"explain","input":"example.com"}
variants
Enumerate variants/permutations of an indicator. Answers without an API key.
- {"skill":"variants","input":"example.com"}
origins
Trace the origins/provenance of an indicator. Answers without an API key.
- {"skill":"origins","input":"example.com"}
history
Historical records for an indicator (incl. whois/bgp history). Answers without an API key.
- {"skill":"history","input":"example.com"}
lookupTlsFingerprint
Look up a TLS (JA3/JA4) fingerprint in the graph. Answers without an API key.
- {"skill":"lookupTlsFingerprint","input":"ja3:771,4865-4866-4867"}
lookupTorRelay
Look up Tor relay metadata for an address. Answers without an API key.
- {"skill":"lookupTorRelay","input":"185.220.101.1"}
asset
Resolve an asset and its catalog of attributes. Answers without an API key.
- {"skill":"asset","input":"example.com"}
threatintel
Threat-intelligence indicator family (candidate apex/CDN/hosting). A family verb: name the sub-verb as "sub" alongside the input. Sub-verbs: candidateCdnApex, candidateMultiTenantApex, candidateSharedHostingIp.. Answers without an API key.
- {"skill":"threatintel","sub":"candidateCdnApex","input":5}
psl
Public-suffix-list family (tld-plus-one, is-public-suffix, affiliation). A family verb: name the sub-verb as "sub" alongside the input. Sub-verbs: tldPlusOne, isPublicSuffix, affiliation.. Answers without an API key.
- {"skill":"psl","sub":"tldPlusOne","input":"a.b.example.co.uk"}
topAsnsByPrefixCount
Top ASNs ranked by announced-prefix count. Answers without an API key.
- {"skill":"topAsnsByPrefixCount","input":10}
agents: agent
The agent operation on the Whisper control plane, served as CALL whisper.agents({op:'agent', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}.
- {"skill":"agents.agent","input":{"agent":"ag_1f4c0b"}}
agents: alert
The alert operation on the Whisper control plane, served as CALL whisper.agents({op:'alert', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.alert","input":{}}
agents: connect
The connect operation on the Whisper control plane, served as CALL whisper.agents({op:'connect', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.connect","input":{}}
agents: disconnect
The disconnect operation on the Whisper control plane, served as CALL whisper.agents({op:'disconnect', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.disconnect","input":{}}
agents: domain
The domain operation on the Whisper control plane, served as CALL whisper.agents({op:'domain', args:{...}}). Requires your Whisper API key.
- {"skill":"agents.domain","input":{"name":"example.com"}}
agents: firewall
The firewall operation on the Whisper control plane, served as CALL whisper.agents({op:'firewall', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}.
- {"skill":"agents.firewall","input":{"agent":"ag_1f4c0b"}}
agents: history
The history operation on the Whisper control plane, served as CALL whisper.agents({op:'history', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}.
- {"skill":"agents.history","input":{"address":"2a04:2a01:f6d7:1ffe:a0be:ba8a:c355:bba1"}}
agents: host
The host operation on the Whisper control plane, served as CALL whisper.agents({op:'host', args:{...}}). Requires your Whisper API key.
- {"skill":"agents.host","input":{"name":"my-host"}}
agents: identity
The identity operation on the Whisper control plane, served as CALL whisper.agents({op:'identity', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.identity","input":{}}
agents: list
The list operation on the Whisper control plane, served as CALL whisper.agents({op:'list', args:{...}}). Requires your Whisper API key.
- {"skill":"agents.list","input":{"kind":"agents"}}
agents: logs
The logs operation on the Whisper control plane, served as CALL whisper.agents({op:'logs', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.logs","input":{}}
agents: lookups
The lookups operation on the Whisper control plane, served as CALL whisper.agents({op:'lookups', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.lookups","input":{}}
agents: partner
The partner operation on the Whisper control plane, served as CALL whisper.agents({op:'partner', args:{...}}). Requires your Whisper API key. It is gated on partner authority rather than on arguments: without it the call is refused whatever you pass.
- {"skill":"agents.partner","input":{}}
agents: policy
The policy operation on the Whisper control plane, served as CALL whisper.agents({op:'policy', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.policy","input":{}}
agents: register
The register operation on the Whisper control plane, served as CALL whisper.agents({op:'register', args:{...}}). Requires your Whisper API key.
- {"skill":"agents.register","input":{"label":"my-first-agent"}}
agents: rename
The rename operation on the Whisper control plane, served as CALL whisper.agents({op:'rename', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}.
- {"skill":"agents.rename","input":{"agent":"ag_1f4c0b","label":"renamed-agent"}}
agents: resolver
The resolver operation on the Whisper control plane, served as CALL whisper.agents({op:'resolver', args:{...}}). Requires your Whisper API key. With no arguments it describes what you already have, so the example below runs as published.
- {"skill":"agents.resolver","input":{}}
agents: revoke
The revoke operation on the Whisper control plane, served as CALL whisper.agents({op:'revoke', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}.
- {"skill":"agents.revoke","input":{"agent":"ag_1f4c0b"}}
agents: task
The task operation on the Whisper control plane, served as CALL whisper.agents({op:'task', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}.
- {"skill":"agents.task","input":{"agent":"ag_1f4c0b"}}
agents: token
The token operation on the Whisper control plane, served as CALL whisper.agents({op:'token', args:{...}}). Requires your Whisper API key. The identifier in the example is a placeholder for one of YOUR agents: list them with the "agents.list" skill and {"kind":"agents"}.
- {"skill":"agents.token","input":{"agent":"ag_1f4c0b"}}
agents: verify
The verify operation on the Whisper control plane, served as CALL whisper.agents({op:'verify', args:{...}}). Requires your Whisper API key.
- {"skill":"agents.verify","input":{"name":"example.com"}}
Technical agent card
Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.
- Provider
- Whisper Security — what this agent says about itself; other agents claiming the same provider are not thereby related
- Protocol
- a2a
- Version
- 0.219.2
- Auth schemes
- whisperApiKey
- Card completeness
- complete all eight fields required by a2a.proto v1.0
View all card details
- Capabilities
- extendedAgentCard pushNotifications streaming
- Agent card
- https://whisper.online/.well-known/agent-card.json
Operate this agent and would rather not be listed? Request removal.