Public Ed25519 keys that verify the attestation on release test responses. Match signature.keyId to a key, then verify the signature over the canonical JSON of payload. Cacheable for 5 minutes.
GET
/
.well-known
/
selo-attestation-keys.json
Get attestation keys
curl --request GET \ --url https://api.useselo.xyz/.well-known/selo-attestation-keys.json
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Selo","description":"CI for x402. Selo pays your endpoint before your users do.","colors":{"primary":"#EA580C","light":"#FB923C","dark":"#C2410C"},"logo":{"light":"https://mintcdn.com/selo/uDDPP6e9J3oqq-so/logo/light.svg?fit=max\u0026auto=format\u0026n=uDDPP6e9J3oqq-so\u0026q=85\u0026s=34ba3a87bcb123757ba48be31d19069d","dark":"https://mintcdn.com/selo/uDDPP6e9J3oqq-so/logo/dark.svg?fit=max\u0026auto=format\u0026n=uDDPP6e9J3oqq-so\u0026q=85\u0026s=c204c3bd2d3bcf1dcc90d2a9f7fb1f7d","href":"https://useselo.xyz"},"favicon":"https://mintcdn.com/selo/uDDPP6e9J3oqq-so/favicon.png?fit=max\u0026auto=format\u0026n=uDDPP6e9J3oqq-so\u0026q=85\u0026s=523f923af3f56c58eb8696b88a9f4fd7","api":{"playground":{"display":"simple"},"examples":{"languages":["curl","javascript","python"]}},"navbar":{"links":[{"href":"https://github.com/Enoch208/selo","label":"GitHub"}],"primary":{"type":"button","label":"Open Selo","href":"https://useselo.xyz"}},"footer":{"socials":{"x":"https://x.com/useselo_","github":"https://github.com/Enoch208/selo","website":"https://useselo.xyz"}},"seo":{"metatags":{"og:site_name":"Selo docs"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://useselo.xyz"},{"anchor":"GitHub","icon":"github","href":"https://github.com/Enoch208/selo"},{"anchor":"Pilot guide","icon":"flag-checkered","href":"https://github.com/Enoch208/selo/blob/main/docs/PILOT_GUIDE.md"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"selo","hasAudioNarration":false,"actualSubdomain":"selo","customDomains":["docs.useselo.xyz"],"gitSource":{"type":"github","owner":"enoch208","repo":"docs-adrianne","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":"","_id":"6adfade67d7c0e994635dbe7"},"chroma":{"latestBuiltDeploymentHistoryId":"6adfb6c6e2a550116c3cb359","collectionId":"36784781-278b-473b-a258-a7b58f1f6d68","liveDeploymentHistoryId":"6adfb6c6e2a550116c3cb359","schemaVersion":"v3"},"entitlements":{},"buildId":"6adfb6c6e2a550116c3cb359","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"Documentation","count":25},{"language":"default","tag":"API reference","count":14},{"language":"default","tag":"Endpoints","count":11},{"language":"default","tag":"Guides","count":9},{"language":"default","tag":"CLI reference","count":7},{"language":"default","tag":"Concepts","count":7},{"language":"default","tag":"selo CLI","count":6},{"language":"default","tag":"Resources","count":5},{"language":"default","tag":"Get started","count":4},{"language":"default","tag":"Overview","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/attestation-keys/get-attestation-keys","slug":"/api-reference/attestation-keys/get-attestation-keys","pageMetadata":{"title":"Get attestation keys","description":"Public Ed25519 keys that verify the `attestation` on release test responses. Match `signature.keyId` to a key, then verify the signature over the canonical JSON of `payload`. Cacheable for 5 minutes.","deprecated":null,"version":null,"openapi":"/openapi.json get /.well-known/selo-attestation-keys.json","href":"/api-reference/attestation-keys/get-attestation-keys","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Public Ed25519 keys that verify the \", _jsx(_components.code, {\n children: \"attestation\"\n }), \" on release test responses. Match \", _jsx(_components.code, {\n children: \"signature.keyId\"\n }), \" to a key, then verify the signature over the canonical JSON of \", _jsx(_components.code, {\n children: \"payload\"\n }), \". Cacheable for 5 minutes.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get attestation keys","description":"Public Ed25519 keys that verify the `attestation` on release test responses. Match `signature.keyId` to a key, then verify the signature over the canonical JSON of `payload`. Cacheable for 5 minutes.","deprecated":null,"version":null,"openapi":"/openapi.json get /.well-known/selo-attestation-keys.json","href":"/api-reference/attestation-keys/get-attestation-keys","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Attestation keys"],"operationId":"getAttestationKeys","summary":"Get attestation keys","description":"Public Ed25519 keys that verify the `attestation` on release test responses. Match `signature.keyId` to a key, then verify the signature over the canonical JSON of `payload`. Cacheable for 5 minutes.","responses":{"200":"a0bdbf85-09f1-40c7-a103-5025bf9c5b0f"},"method":"get","type":"path","servers":["fbe7f743-573d-4126-9bae-6b7b65ed90a1"],"security":[],"path":"/.well-known/selo-attestation-keys.json","baseUrlOptions":["https://api.useselo.xyz"],"title":"Get attestation keys","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"responses":{"a0bdbf85-09f1-40c7-a103-5025bf9c5b0f":{"description":"The key set.","headers":{"Cache-Control":{"description":"`public, max-age=300`.","schema":{"type":"string"},"example":"public, max-age=300"}},"content":{"application/json":{"schema":{"type":"object","required":["keys"],"properties":{"keys":{"type":"array","items":{"type":"object","required":["keyId","algorithm","publicKey"],"properties":{"keyId":{"type":"string","pattern":"^selo-ed25519-[0-9a-f]{16}$","description":"`selo-ed25519-` plus the first 16 hex characters of the SHA-256 of the raw public key.","isRequired":true,"uniqueKey":"keys.items.[INDEX].keyId","typeLabel":"string"},"algorithm":{"type":"string","const":"Ed25519","isRequired":true,"uniqueKey":"keys.items.[INDEX].algorithm","typeLabel":"string"},"publicKey":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$","description":"Raw 32-byte Ed25519 public key, base64url (the JWK `x` value).","isRequired":true,"uniqueKey":"keys.items.[INDEX].publicKey","typeLabel":"string"}},"uniqueKey":"keys.items.[INDEX]","typeLabel":"object"},"description":"Empty when the deployment has no signing key.","isRequired":true,"uniqueKey":"keys","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"example":{"keys":[{"keyId":"selo-ed25519-728fcf85650b128f","algorithm":"Ed25519","publicKey":"IiUpeUTzfsbOg5-hV6i3eLnqU4uJ7hog31HmgXoc0ZQ"}]},"examples":{"Example":{"title":"Example","value":{"keys":[{"keyId":"selo-ed25519-728fcf85650b128f","algorithm":"Ed25519","publicKey":"IiUpeUTzfsbOg5-hV6i3eLnqU4uJ7hog31HmgXoc0ZQ"}]}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{},"servers":{"fbe7f743-573d-4126-9bae-6b7b65ed90a1":{"url":"https://api.useselo.xyz","description":"Production, Algorand Mainnet"}}},"originalFileLocation":"openapi.json"},"subdomain":"selo","siteName":"Selo","title":"Get attestation keys - Selo","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T20:23:38.257Z","originalFileLocation":"api-reference/attestation-keys/get-attestation-keys.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Public Ed25519 keys that verify the attestation on release test responses. Match signature.keyId to a key, then verify the signature over the canonical JSON of payload. Cacheable for 5 minutes.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Selo\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get attestation keys - Selo\">\u003cmeta data-mint-head property=\"og:description\" content=\"Public Ed25519 keys that verify the attestation on release test responses. Match signature.keyId to a key, then verify the signature over the canonical JSON of payload. Cacheable for 5 minutes.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Selo docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://selo.mintlify.app/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Get+attestation+keys\u0026amp;description=Public+Ed25519+keys+that+verify+the+%60attestation%60+on+release+test+responses.+Match+%60signature.keyId%60+to+a+key%2C+then+verify+the+signature+over+the+canonical+JSON\u0026amp;theme=ae71d371ce055a9e660ed9fc\u0026amp;signature=b71b059c45a8ec0a69fa287be0aaf836038d5f4df4adf667bac859d0d4d9360c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get attestation keys - Selo\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Public Ed25519 keys that verify the attestation on release test responses. Match signature.keyId to a key, then verify the signature over the canonical JSON of payload. Cacheable for 5 minutes.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://selo.mintlify.app/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Get+attestation+keys\u0026amp;description=Public+Ed25519+keys+that+verify+the+%60attestation%60+on+release+test+responses.+Match+%60signature.keyId%60+to+a+key%2C+then+verify+the+signature+over+the+canonical+JSON\u0026amp;theme=ae71d371ce055a9e660ed9fc\u0026amp;signature=b71b059c45a8ec0a69fa287be0aaf836038d5f4df4adf667bac859d0d4d9360c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/selo/YPlIrdVM6zaS6GtN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Selo\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#EA580C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/attestation-keys/get-attestation-keys.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.useselo.xyz/#organization\",\"name\":\"Selo\",\"url\":\"https://docs.useselo.xyz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/selo/uDDPP6e9J3oqq-so/logo/light.svg?fit=max\u0026auto=format\u0026n=uDDPP6e9J3oqq-so\u0026q=85\u0026s=34ba3a87bcb123757ba48be31d19069d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.useselo.xyz#website\",\"name\":\"Selo\",\"url\":\"https://docs.useselo.xyz\",\"publisher\":{\"@id\":\"https://docs.useselo.xyz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys#webpage\",\"url\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys\",\"name\":\"Get attestation keys\",\"description\":\"Public Ed25519 keys that verify the attestation on release test responses. Match signature.keyId to a key, then verify the signature over the canonical JSON of payload. Cacheable for 5 minutes.\",\"dateModified\":\"2026-10-26T20:23:38.257Z\",\"isPartOf\":{\"@id\":\"https://docs.useselo.xyz#website\"},\"breadcrumb\":{\"@id\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.useselo.xyz/api-reference/authorizations/create-an-authorization\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get attestation keys\",\"item\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys#apireference\",\"headline\":\"Get attestation keys\",\"name\":\"Get attestation keys\",\"description\":\"Public Ed25519 keys that verify the attestation on release test responses. Match signature.keyId to a key, then verify the signature over the canonical JSON of payload. Cacheable for 5 minutes.\",\"url\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys\",\"mainEntityOfPage\":{\"@id\":\"https://docs.useselo.xyz/api-reference/attestation-keys/get-attestation-keys#webpage\"},\"dateModified\":\"2026-10-26T20:23:38.257Z\",\"publisher\":{\"@id\":\"https://docs.useselo.xyz/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.useselo.xyz#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Selo\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Selo","nav":{"global":{"anchors":[{"anchor":"Website","icon":"globe","href":"https://useselo.xyz"},{"anchor":"GitHub","icon":"github","href":"https://github.com/Enoch208/selo"},{"anchor":"Pilot guide","icon":"flag-checkered","href":"https://github.com/Enoch208/selo/blob/main/docs/PILOT_GUIDE.md"}]},"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":""}]},{"tab":"CLI reference","icon":"terminal","pages":[{"title":"CLI reference","href":"/cli/overview"}]},{"tab":"API reference","icon":"code","groups":[{"group":"Overview","pages":[{"title":"API overview","icon":"code","sidebarTitle":"Overview","href":"/api-reference/introduction"},{"title":"Errors and reason codes","icon":"triangle-exclamation","sidebarTitle":"Errors and reasons","href":"/api-reference/errors"},{"title":"Objects","icon":"brackets-curly","sidebarTitle":"Objects","href":"/api-reference/objects"}]},{"group":"Endpoints","pages":[{"title":"Create an authorization","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/authorizations","href":"/api-reference/authorizations/create-an-authorization"},{"title":"Verify an authorization","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/authorizations/{authorizationId}/verify","href":"/api-reference/authorizations/verify-an-authorization"},{"title":"Get an authorization","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/authorizations/{authorizationId}","href":"/api-reference/authorizations/get-an-authorization"},{"title":"Run a preflight","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/preflight","href":"/api-reference/preflight/run-a-preflight"},{"title":"Get a preflight","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/preflight/{preflightId}","href":"/api-reference/preflight/get-a-preflight"},{"title":"Run a release test","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/release-test","href":"/api-reference/release-tests/run-a-release-test"},{"title":"Get a private report","description":"Read the full report of a finished release test. The token is the last path segment of `reportUrl`. The token is the only credential: anyone who has the link can read the report, so keep it out of logs and public CI output. Responses carry `noindex`, `no-store` and `no-referrer` headers.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reports/{token}","href":"/api-reference/reports/get-a-private-report"},{"title":"Get attestation keys","deprecated":null,"version":null,"openapi":"/openapi.json get /.well-known/selo-attestation-keys.json","href":"/api-reference/attestation-keys/get-attestation-keys"},{"title":"Get llms.txt","description":"Plain-text description of Selo and its endpoints for language-model agents.","deprecated":null,"version":null,"openapi":"/openapi.json get /llms.txt","href":"/api-reference/discovery/get-llmstxt"},{"title":"Get the agent card","deprecated":null,"version":null,"openapi":"/openapi.json get /.well-known/agent-card.json","href":"/api-reference/discovery/get-the-agent-card"},{"title":"Check health","deprecated":null,"version":null,"openapi":"/openapi.json get /health","href":"/api-reference/health/check-health"}]}]}]},"title":"Get attestation keys - Selo","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}