{"audit":{"version":"1.3","generated_at":"2026-05-30T20:07:30.490264+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/docs.ethswarm.org","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"docs.ethswarm.org","name":"Ethereum Swarm Storage Agent","url":"https://docs.ethswarm.org/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"Ethersphere","url":"https://www.ethswarm.org"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":null,"supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"wrong_response","live_responds":false,"last_status_code":200,"last_elapsed_ms":131,"last_error":null},"track_record":{"first_seen":"2026-05-29T04:01:56.816398+00:00","last_checked":"2026-05-30T19:35:54.609940+00:00","last_seen_ok":"2026-05-30T19:35:54.609940+00:00","checks_total":7,"checks_ok":7,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":49,"grade":"D","summary":"D-grade: significant issues, auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Schema-validated A2A AgentCard returned by the well-known endpoint."},{"key":"live_responds","label":"Live JSON-RPC","points":5,"max_points":25,"status":"fail","detail":"Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response."},{"key":"protocol_version","label":"Protocol version","points":0,"max_points":10,"status":"fail","detail":"No protocolVersion in card."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":15,"max_points":15,"status":"pass","detail":"7/7 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 12 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Ethersphere (https://www.ethswarm.org). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":4,"max_points":5,"status":"pass","detail":"seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"No securitySchemes declared (common for open agents, not penalised)."}]},"skills":[{"id":"upload-data","name":"Upload Data","description":"Upload text data to Swarm. Returns an immutable content-addressed reference hash. Optional: redundancyLevel (0-4) for fault tolerance, postageBatchId to specify a pre-purchased stamp.","tags":["decentralized-storage","ethereum","swarm","upload"],"examples":["Store this text on Swarm","Upload data to decentralized storage"],"inputModes":[],"outputModes":[]},{"id":"download-data","name":"Download Data","description":"Download immutable data from Swarm using a content-addressed reference hash. Returns the original text data stored at that address.","tags":["decentralized-storage","ethereum","swarm","download"],"examples":["Retrieve data from Swarm by reference hash","Download content from decentralized storage"],"inputModes":[],"outputModes":[]},{"id":"upload-file","name":"Upload File","description":"Upload a file to Swarm from base64-encoded content or a local file path. Optional: redundancyLevel (0-4) for fault tolerance, postageBatchId. Returns a Swarm reference hash.","tags":["decentralized-storage","ethereum","swarm","upload","files"],"examples":["Upload this file to Swarm","Store a file on decentralized storage"],"inputModes":[],"outputModes":[]},{"id":"upload-folder","name":"Upload Folder","description":"Upload an entire folder to Swarm. Requires a local folder path. Optional: redundancyLevel (0-4), postageBatchId. Returns a Swarm reference hash for the folder manifest.","tags":["decentralized-storage","ethereum","swarm","upload","files"],"examples":["Upload this directory to Swarm","Store a folder on decentralized storage"],"inputModes":[],"outputModes":[]},{"id":"download-files","name":"Download Files","description":"Download files or folders from Swarm using a reference hash. Prioritized over download-data for unknown data types. Optional: filePath for local destination.","tags":["decentralized-storage","ethereum","swarm","download","files"],"examples":["Download files from this Swarm reference","Retrieve a folder from decentralized storage"],"inputModes":[],"outputModes":[]},{"id":"update-feed","name":"Update Feed","description":"Update a mutable Swarm feed with new data for a given topic. Feeds provide mutable pointers to immutable content, enabling updatable resources on Swarm. Requires data and memoryTopic. Optional: postageBatchId.","tags":["decentralized-storage","ethereum","swarm","feeds","mutable"],"examples":["Update my Swarm feed with new content","Write to a mutable feed topic"],"inputModes":[],"outputModes":[]},{"id":"read-feed","name":"Read Feed","description":"Retrieve the latest data from a Swarm feed by topic. Optionally specify an owner Ethereum address to read another account's feed.","tags":["decentralized-storage","ethereum","swarm","feeds"],"examples":["Read the latest data from my Swarm feed","Get the current value of a feed topic"],"inputModes":[],"outputModes":[]},{"id":"create-postage-stamp","name":"Create Postage Stamp","description":"Buy a postage stamp (storage voucher) based on required storage size in MB and duration (e.g. '1d', '1w', '1month'). Postage stamps are required to upload data to Swarm. Optional: label for human-readable identification.","tags":["decentralized-storage","ethereum","swarm","postage","payments"],"examples":["Buy a postage stamp for 100 MB lasting 1 month","Create a storage voucher for Swarm uploads"],"inputModes":[],"outputModes":[]},{"id":"get-postage-stamp","name":"Get Postage Stamp","description":"Retrieve details of a specific postage stamp by its batch ID, including remaining capacity and expiry information.","tags":["decentralized-storage","ethereum","swarm","postage"],"examples":["Check the status of my postage stamp","Get details for this batch ID"],"inputModes":[],"outputModes":[]},{"id":"list-postage-stamps","name":"List Postage Stamps","description":"List available postage stamps with optional filtering. Options: leastUsed (sort order), limit (max results), minUsage/maxUsage (percentage filters).","tags":["decentralized-storage","ethereum","swarm","postage"],"examples":["Show my available postage stamps","List stamps with less than 50% usage"],"inputModes":[],"outputModes":[]},{"id":"extend-postage-stamp","name":"Extend Postage Stamp","description":"Increase the duration or storage capacity of an existing postage stamp by batch ID. Specify additional size in MB and/or additional duration.","tags":["decentralized-storage","ethereum","swarm","postage","payments"],"examples":["Extend my postage stamp by 1 week","Add 50 MB to this batch"],"inputModes":[],"outputModes":[]},{"id":"query-upload-progress","name":"Query Upload Progress","description":"Check the upload progress of a deferred upload using a tag ID returned by upload_file or upload_folder operations. Used for monitoring large uploads that exceed the 5 MB sync threshold.","tags":["decentralized-storage","ethereum","swarm","upload","monitoring"],"examples":["Check the progress of my upload","Query upload status by tag ID"],"inputModes":[],"outputModes":[]}],"provenance":[{"source":"manifests","first_seen":"2026-05-29T04:01:56.816398+00:00"}],"recent_probes":[{"fetched_at":"2026-05-30T19:35:54.609940+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":131,"live_responds":false},{"fetched_at":"2026-05-30T13:58:27.709251+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":153,"live_responds":false},{"fetched_at":"2026-05-30T07:42:38.649744+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":144,"live_responds":false},{"fetched_at":"2026-05-29T22:58:28.771490+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":138,"live_responds":false},{"fetched_at":"2026-05-29T16:32:59.602580+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":136,"live_responds":false},{"fetched_at":"2026-05-29T10:29:35.953413+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":189,"live_responds":false},{"fetched_at":"2026-05-29T04:01:56.816398+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":136,"live_responds":false}],"catalog_attestation":null,"verification_history":[]}