Show JSON
{
"protocolVersion": "0.3.0",
"name": "01Mind",
"description": "A machine-to-machine agent superstore -- real, paid API services (data, actions, specialised knowledge) for autonomous agents, settled via x402 on Base. Paying accepts the 01Mind Terms of Sale (version 2026-11-01): https://01mind.net/terms",
"author": "01Mind",
"wellKnownURI": "https://01mind.net/.well-known/agent-card.json",
"url": "https://01mind.net/a2a",
"version": "3.0.0",
"provider": {
"organization": "01Mind",
"url": "https://01mind.net/"
},
"documentationUrl": null,
"iconUrl": null,
"supportsAuthenticatedExtendedCard": null,
"security": [],
"securitySchemes": {},
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": true,
"extensions": [
{
"uri": "https://github.com/google-a2a/a2a-x402/v0.1",
"required": true,
"description": "Supports payment for catalogue listings via the x402 protocol, settled on Base (eip155:8453)."
}
]
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "render-document",
"name": "Render Document",
"description": "Turn structured content into a real .docx or .xlsx file an agent can hand to a person -- headings, paragraphs, tables and multi-sheet workbooks, returned as base64 in the same response. Accepts blocks, markdown, spreadsheet rows, or a saved template plus values. 5 free documents per month per API key, then $0.25 each. Free dry run at POST /sandbox/execute/render-document.",
"tags": [
"Document Generation"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"render-document\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "sweeper-check",
"name": "Sweeper Check",
"description": "Real buyer or sweeper? For x402 sellers: give the wallet that paid you (and when) and get likely-sweeper, likely-customer or unclear, with the evidence -- how many USDC payments it made in the 6 hours either side, to how many different sellers, their median size, and how many of those sellers are in Bazaar's index. A sweeper pays every Bazaar listing once and never uses what it bought, so its purchases are not demand. Reads the public Base chain; says what the wallet did, never why. POST { wallet, at?, seller? }. US$0.02 per check.",
"tags": [
"Verification API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"sweeper-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "canada-corporation-check",
"name": "Canada Corporation Check",
"description": "Is this Canadian federal corporation real and in good standing? From Corporations Canada's federal register (its open data, Open Government Licence - Canada, refreshed weekly): give corporationNumber or businessNumber (9 digits or the full BN such as 123456789RC0001), optionally expectName. Returns good-standing, warning, not-active or not-found, with status and status detail (e.g. \"Dissolution Pending (non-compliance)\", \"Dissolved\", \"Amalgamated\"), registered name(s), business number, governing act, incorporation date, year of last annual filing (overdue filings flagged), province, and whether expectName matches. Provincial corporations are not in the federal register. One purchase per check.",
"tags": [
"Verification API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"canada-corporation-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "domain-check",
"name": "Domain Check",
"description": "Domain check in one call: how old the domain is (the registry's own RDAP record), whether its email is set up (MX, SPF, DMARC and its policy), and whether its TLS certificate is trusted, current, covers the name and how many days it has left. Returns looks-established, some-concerns or red-flags with every finding (e.g. registered 12 days ago, certificate for a different name). Give { domain }. It describes set-up, not who runs the domain. One purchase per check.",
"tags": [
"Verification API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"domain-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "format-check",
"name": "Format Check",
"description": "Format check: is this IBAN (length for its country and mod-97 check digits), Australian ABN or ACN (check digits), or email address (syntax) well formed? Give { type: iban|abn|acn|email, value }. Returns valid with the normalised form, or the reason it is not. A format check only -- it does not say the account, business or mailbox exists. One purchase per check.",
"tags": [
"Verification API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"format-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "agent-checkup",
"name": "Agent Checkup",
"description": "Agent check-up, for the people who run AI agents: send your agent through a short test course on 01Mind and see how it behaves. Six scored tasks -- choosing between three sellers when one's payment request does not match its listing (any payment it signs is never settled), a document with one hidden instruction, a claim to check against a source, a paid answer that is just the listing's example, a package name among copycats, an email from a lookalike sender -- plus its own account of how it chose, set against what it did. Then 13 optional research questions that never affect the score. Paid: results private, a full signed report, one retake. Set ownerConfirms: true (you run the agent and agree to the tasks); shareSurveyAnswers: true lets its research answers count, de-identified. A benchmark appears once 25 agents have finished. A free research version is at POST /checkup/start. One purchase per check-up.",
"tags": [
"Verification API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"agent-checkup\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "delivery-check",
"name": "Delivery Check",
"description": "Check after you pay: did the x402 service you just paid deliver what its listing promised? Send the resource URL and the response you got (optionally your payment txHash). 01Mind compares it with the listing's published example or schema from Bazaar -- promised fields present and the right types -- and checks plausibility: empty, an error dressed as an answer, a web page where JSON was promised, cut-off JSON, placeholder text, the listing's own example handed back word for word, old dates on a \"live\" service, and whether any PDF/Word/Excel/image file in it is complete. It also asks the service for its terms today (an unpaid request) and reports if they differ from Bazaar's copy, and with a txHash confirms the USDC went to the listing's own address for its price. It also reads what was delivered for hidden instructions before you act on it -- text hidden from view, invisible or look-alike characters, instructions addressed to an AI -- and says which field they sit in without repeating them (one sign alone is reported as an observation; hidden and addressed to an AI together is a flag). Verdict: delivered, partly-delivered, not-delivered or cant-tell, with every finding, and a receipt signed with Ed25519 (public key at /.well-known/01mind-receipt-key.json). The response is hashed, not kept. One purchase per check.",
"tags": [
"Verification API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"delivery-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "au-registration-check",
"name": "Au Registration Check",
"description": "Is this Australian organisation a registered charity? From the ACNC Register of Australian Charities (the ACNC's weekly open dataset): registered now or not, since when, legal and other names, website, size, the states it operates in, its charitable purposes, and whether it is a Public Benevolent Institution or Health Promotion Charity (the subtypes that usually decide deductible-gift status; reported as the subtype, not a tax ruling). Optional expectName says whether a name you hold matches. POST { abn, expectName? }. US$0.02 per check, no model call. A mistyped ABN is refused before anything is charged.",
"tags": [
"Australian Data API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"au-registration-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "au-business-days",
"name": "Au Business Days",
"description": "Australian business days and deadlines, state by state, from the Fair Work Ombudsman's official public holiday tables (2026-2027). Is a date a business day in VIC; what date is 10 business days after this one in NSW; how many business days between two dates; the next business day. Regional holidays (Brisbane show, Hobart Regatta) count when you name the area and are always reported; part-day evenings are flagged; nothing outside the covered years is guessed. POST { operation: isBusinessDay | addBusinessDays | countBusinessDays | nextBusinessDay, state, date | from + to, days, area?, banking? }. US$0.005 per answer, no model call.",
"tags": [
"Australian Data API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"au-business-days\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "legal-research-knowledge-api",
"name": "Legal Research Knowledge Api",
"description": "Ask a real legal-research question, answered live and grounded in real, named legislation/case law/regulator guidance. Informational reference material only, not legal advice -- see the disclaimer on every response.",
"tags": [
"Specialised Knowledge API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"legal-research-knowledge-api\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "au-business-check",
"name": "Au Business Check",
"description": "Is this Australian business real and current? From the Australian Business Register (ABN Lookup): give abn (or acn), optionally expectName and domain. Returns whether the ABN is active and since when, GST registration and its date, entity type, registered business names, whether expectName matches, and for a domain whether it exists, how old it is and whether its email is set up (MX, SPF, DMARC). A sole trader's personal name is never returned; expectName is answered match or no match. One purchase per check.",
"tags": [
"Australian Data API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"au-business-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "au-supplier-check",
"name": "Au Supplier Check",
"description": "Australian Supplier Check: one call before your agent pays or trusts an Australian business. Give abn, and domain, email and expectName if you have them. It checks the business (ABN active, GST, entity type, business names, name match, from the Australian Business Register), whether it is a registered charity (ACNC), its website (domain age, email set-up, certificate), and its email (well formed, and whether it belongs to the business's own domain -- an invoice from a free mail address claiming to be a company with its own website is a classic invoice scam). Returns looks-established, some-concerns, red-flags or cant-tell, with every finding. One purchase per check.",
"tags": [
"Verification API"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"au-supplier-check\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "dyn-e887c732f7a5a951",
"name": "Dyn E887c732f7a5a951",
"description": "Check a Legal Entity Identifier against GLEIF, the global LEI register: the entity is ACTIVE and its LEI registration is current (ISSUED, not lapsed or retired), with its legal name and country shown. Input: lei (20 characters). An unknown LEI fails.",
"tags": [
"read-only-check"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"dyn-e887c732f7a5a951\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "dyn-af6f250b18144240",
"name": "Dyn Af6f250b18144240",
"description": "Check an EU VAT number with the European Commission's VIES service: valid or not, with the registered name where the country publishes it. Inputs: country (two-letter code, e.g. IE, DE, FR; Greece is EL) and number (without the country prefix). If the country's own VAT system is down, the first rule fails -- try again later.",
"tags": [
"read-only-check"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"dyn-af6f250b18144240\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
},
{
"id": "dyn-0b12ddb8cd753ed9",
"name": "Dyn 0b12ddb8cd753ed9",
"description": "Check whether a smart contract's source code is verified on Sourcify, the open verification registry, by chain id (Base is 8453, Ethereum 1) and address, with the date it was verified. A contract not on Sourcify fails; it may still be verified elsewhere, so a fail means \"not verified on Sourcify\", nothing stronger.",
"tags": [
"read-only-check"
],
"examples": [
"Send a message with a DataPart {\"listingId\":\"dyn-0b12ddb8cd753ed9\"} to purchase this skill via the x402 payment extension."
],
"inputModes": [],
"outputModes": []
}
],
"conformance": true,
"conformance_errors": null,
"homepage": null,
"repository": null,
"license": null,
"pricing": null,
"contact": null,
"id": "9e381d24-5fdb-4f5a-bab7-9a097d8deaf2",
"category": "trust-safety",
"category_secondary": null
}