{"audit":{"version":"1.5","generated_at":"2026-10-28T22:08:03.696742+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/foldlaboratories.com","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"foldlaboratories.com","name":"Fold Laboratories","url":"https://foldlaboratories.com/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"Fold Laboratories","url":"https://foldlaboratories.com"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":true,"supports_push_notifications":false},"operational":{"live_state":"live","live_responds":true,"last_status_code":200,"last_elapsed_ms":393,"last_error":null},"track_record":{"first_seen":"2026-10-28T20:01:18.549457+00:00","last_checked":"2026-10-28T20:01:18.549457+00:00","last_seen_ok":"2026-10-28T20:01:18.549457+00:00","checks_total":1,"checks_ok":1,"uptime_pct":100.0,"uptime_window_days":30,"uptime_probes":1,"archived":false,"archived_reason":null},"conformance":{"score":66,"grade":"C","summary":"C-grade: usable but has clear conformance issues, review the breakdown below.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":25,"max_points":25,"status":"pass","detail":"Endpoint responds to a negotiated A2A SendMessage probe (answers in ~943 ms)."},{"key":"protocol_version","label":"Protocol version","points":10,"max_points":10,"status":"pass","detail":"Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape)."},{"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":0,"max_points":15,"status":"info","detail":"Only 1 probe so far, need ≥5 for an uptime grade."},{"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: Fold Laboratories (https://foldlaboratories.com). 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":2,"max_points":5,"status":"partial","detail":"Declares 1 security scheme(s) but none use PKCE or mTLS."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://foldlaboratories.com/.well-known/agent-card.json"},"skills":[{"id":"search-artworks","name":"Search artworks","description":"Use this when someone wants to find original paintings, prints, photographs or sculpture from independent artists by subject, style, colour, size or budget. Send the buyer’s words as text, or a data part {\"skill\":\"search-artworks\",\"query\":\"...\"} with any of minPriceMinor and maxPriceMinor (cents), orientation, subject, style, medium, colors, minHeightIn, maxHeightIn, minWidthIn and maxWidthIn (inches), shipsTo {country, region, postalCode}, framed, readyToHang, signed and edition, and wall {width, height, furnitureWidth, furnitureHeight, unit} for works whose size suits a wall. A budget or size in the words is read and echoed in applied_filters; a filter you send wins over the words. Misspellings, and Spanish, Portuguese, French, Italian and German, are read. A word about the work that names no constraint must appear in its own words; words of mood and of where it will hang (\"hallway\") only order the results, \"to hang\" and \"a gift\" are not used, and a place it ships to with its state or ZIP is read as shipsTo; understood says how each word was read (read_as, corrected). results holds only works that meet everything asked for, each saying what it matched; near_matches are not matches and say what they miss or what their seller left unsaid — unknown, never a no. The answer reports whether the scan was exhaustive — do not tell a buyer it is everything unless it says so.","tags":["art","search","discovery","semantic"],"examples":["a pale minimal landscape, almost empty","an etching with artist proofs under $5000","something in encaustic with a lot of texture"],"inputModes":["text/plain","application/json"],"outputModes":["application/json"]},{"id":"get-artwork","name":"Get artwork detail","description":"Use this when a buyer wants everything about one work: what it is, its size, how it looks, the delivered cost and returns, who made it and the seller’s statement, with every impression as a separately priced listing and each fact labelled with who stands behind it. Send a data part of {\"skill\":\"get-artwork\",\"artworkId\":\"...\"}.","tags":["art","detail","provenance"],"examples":["{\"skill\":\"get-artwork\",\"artworkId\":\"6455ec71-5bef-4dd9-b56a-a6c54d2bd7e5\"}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"check-availability","name":"Check impression availability","description":"Use this right before offering a buyer a specific impression: whether each impression of a work is still available, and its price. An edition sells one impression at a time. Send {\"skill\":\"check-availability\",\"artworkId\":\"...\"}.","tags":["art","availability","editions"],"examples":["{\"skill\":\"check-availability\",\"artworkId\":\"6455ec71-5bef-4dd9-b56a-a6c54d2bd7e5\"}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"find-similar-artworks","name":"Find similar artworks","description":"Use this when a buyer wants more works that look like one they have seen — a work on Fold, or a photo where this interface takes one. It answers with the works on sale whose images look like it, each with its similarity from 0 to 1, and only those at or above Fold’s threshold, the closest look first. Send {\"skill\":\"find-similar-artworks\",\"artworkId\":\"...\"}, or a photo as an image part, with the buyer’s words in query and any search filter to narrow it. Similarity is how alike the photographs look to an image model — not a judgement of style or quality, and no claim that the same artist made them.","tags":["art","search","similar","visual"],"examples":["{\"skill\":\"find-similar-artworks\",\"artworkId\":\"6455ec71-5bef-4dd9-b56a-a6c54d2bd7e5\"}"],"inputModes":["application/json","image/jpeg","image/png","image/webp"],"outputModes":["application/json"]},{"id":"find-artworks-for-wall","name":"Find artworks for a wall","description":"Use this when a buyer says where a work will hang — how wide and high the wall is, and the sofa, bed or sideboard below it if any — and wants to know what size suits it. It answers with the size range that suits the wall by Fold’s rules of thumb (about 60–75% of the width of what it hangs over, hung at eye level or a few inches above the furniture, with a foot of wall clear), the reasoning to relay, and the works on sale in that range, each with what it met. Send {\"skill\":\"find-artworks-for-wall\",\"wall\":{\"width\":120,\"height\":96,\"furnitureWidth\":84,\"furnitureHeight\":34,\"unit\":\"in\"}} with the buyer’s words in query and any search filter to narrow it. The range is a rule of thumb, not a measurement of the room; sizes are the works’ own, and a frame adds to them.","tags":["art","search","size","wall","interior"],"examples":["{\"skill\":\"find-artworks-for-wall\",\"wall\":{\"width\":120,\"height\":96,\"furnitureWidth\":84}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"save-search-alert","name":"Save a search and alert on new works","description":"Use this when a buyer wants to hear about works listed later that match what they are looking for. It saves the search — the buyer’s words in query and the same filters as search-artworks — and tells the buyer by e-mail (\"email\"; they confirm it first, from the one e-mail Fold sends to ask) or your system by webhook (\"webhookUrl\"; it must echo a signed verification event’s challenge), as this interface offers each, when a work that meets everything asked is listed: never near matches, at most one alert a day. Works flagged as mature content are left out unless includeMature is true. Answers with search_alert_id and manage_token, shown once. Ask the buyer before giving Fold their address.","tags":["art","search","alert","saved-search"],"examples":["{\"skill\":\"save-search-alert\",\"query\":\"a blue seascape\",\"maxPriceMinor\":200000,\"email\":\"buyer@example.com\"}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get-search-alert","name":"Read a saved alert","description":"Use this when a buyer asks about an alert they saved: whether it waits for them to confirm it, is active or has ended, what it watches and when it ends. Send searchAlertId and manageToken, as save-search-alert answered.","tags":["alert","saved-search"],"examples":["{\"skill\":\"get-search-alert\",\"searchAlertId\":\"…\",\"manageToken\":\"…\"}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"cancel-search-alert","name":"Stop a saved alert","description":"Use this when a buyer wants to stop an alert. Nothing more is sent, and the saved words, filters and address are erased. Send searchAlertId and manageToken, as save-search-alert answered; every alert e-mail also stops it in one click.","tags":["alert","saved-search"],"examples":["{\"skill\":\"cancel-search-alert\",\"searchAlertId\":\"…\",\"manageToken\":\"…\"}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get-delivered-quote","name":"Price a work to the buyer’s door","description":"Use this when a buyer asks what a work will cost delivered to them: the price, shipping, estimated sales tax and total for a destination, with the ship-by date, the delivery window and the returns that apply. An estimate, labelled as one: the tax is calculated at checkout from the full address. Send {\"skill\":\"get-delivered-quote\",\"listingId\":\"...\",\"destination\":{\"country\":\"US\",\"postalCode\":\"80401\",\"region\":\"CO\"}}; listing ids come from get-artwork.","tags":["art","price","shipping","tax","estimate"],"examples":["{\"skill\":\"get-delivered-quote\",\"listingId\":\"7d1c0d2e-0000-4000-8000-000000000001\",\"destination\":{\"country\":\"US\",\"postalCode\":\"80401\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get-order-status","name":"Check an order","description":"Use this when a buyer asks where their order is: its status, tracking, delivery date and the claim windows left. It needs proof the buyer placed it — the token from the order confirmation ({\"skill\":\"get-order-status\",\"orderToken\":\"...\"}), or the order reference with the buyer’s e-mail ({\"orderReference\":\"...\",\"buyerEmail\":\"...\"}). Without proof no order is shown, or said to exist.","tags":["order","tracking","delivery"],"examples":["{\"skill\":\"get-order-status\",\"orderToken\":\"...\"}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"open-claim","name":"Ask for a return or report a problem","description":"Use this when a buyer wants to return a work, or it arrived damaged or not as described. It records the request for a person at Fold, checked against the returns policy’s deadlines, and gives the buyer a link for photographs; it never approves a refund. Send {\"skill\":\"open-claim\",\"orderToken\":\"...\",\"ground\":\"...\"} with the buyer’s own words in description.","tags":["order","returns","claims"],"examples":["{\"skill\":\"open-claim\",\"orderToken\":\"...\",\"ground\":\"damaged_or_not_as_described\"}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"start-checkout","name":"Get a checkout link","description":"Use this when the buyer has chosen one work and wants to buy it. It answers with checkout_url, a page on Fold’s own site for that one work, where the buyer enters the delivery address, sees the total with sales tax and the terms, and pays. It charges nothing and reserves nothing: the work can still sell to someone else until the buyer presses Pay, and the link works once and lapses at expires_at. Send {\"skill\":\"start-checkout\",\"listing_id\":\"...\"} with ONE listing_id from get-artwork or check-availability, since each work is its own purchase.","tags":["art","checkout","purchase"],"examples":["{\"skill\":\"start-checkout\",\"listing_id\":\"7d1c0d2e-0000-4000-8000-000000000001\"}"],"inputModes":["application/json"],"outputModes":["application/json"]}],"provenance":[{"source":"smithery","first_seen":"2026-10-28T20:01:18.549457+00:00"}],"recent_probes":[{"fetched_at":"2026-10-28T20:01:18.549457+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":393,"live_responds":true}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-10-28T22:08:03.702187+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/foldlaboratories.com/evidence","dispute_url":"https://agenstry.com/agents/foldlaboratories.com/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"-cc3Q5XXq3TIgWCFVQxu5r7iDhTx5N56oCEIhF6oRdPCs4uUCYzqvMNg-xmWjs65zYIBgkdHSMzcERD6GgC6rw"}]}