The protocol incorporates four main roles, each contributing uniquely to the protocol’s functioning. This section will give a brief introduction to their capabilities and responsibilities.
The Holder role is the centerpiece of the whole ecosystem: the individual possessing verifiable credentials. Holders do not need to register anything on-chain and the ownership of a credential is controlled by identity commitments constructed from secrets that are only known by their holders. In the Galxe identity protocol, holders maintain total control over their digital identity by storing credentials in Galxe identity vault, an open-source application that runs on holders’ local devices, e.g. browser, and native applications. Holders use the vault to manage different identity commitments for different issuers, and generate zero-knowledge proofs for verification based on owned credentials. By using ZKP, holders have the ability to reveal only requisite data under a deterministic and pseudonymous identity.
Issuers create verifiable credentials to holders by using digital signatures to endorse claims about the holder. In our design, issuers do not need to know any extra information of a holder, except for the identity commitment, which can be considered as a random number. Any identity can issue non-revocable credentials to others without on-chain registration. However, for revocable credentials, issuers must be registered on-chain to manage credential validity by publishing the root hash of sparse merkle tree of revoked credentials. Moreover, public keys used for signing need to be registered on-chain to be linked to their issuers.Issuers can use auxiliary contracts, such as Domain Name System Security Extensions (DNSSEC) verification, email verification and GAL staking contracts to enhance their perceived trustworthiness and credibility. Verifiers can leverage these records for setting up a dynamic trust schema. For example, instead of trusting credentials signed by a specific key, verifiers can program a policy that trusts issuers with DNSSEC verification of a specific domain, with some specific corp email ownership, or issuers with enough GAL staking.Issuers must maintain a 1-to-1 mapping from users of the domain to identity commitments. The identity secret part can be changed with a zero-knowledge proof that ensures the internal nullifier remains the same.
The verifier is the role that has the least dependence with other roles of the ecosystem. They are usually applications of gated services, allowing access only if the identities meet some specific requirements, like bouncers at bars. To host a verification, verifiers need to pick issuers that they can trust via a programmable trust schema, and verification requirements of credentials to be checked. Verifiers can use the protocol SDK to generate verification requirements that holders can use for generating proofs. To verify a proof, verifiers need to fetch verification key based on the type of the credential from blockchain, and check revocation status if there is any proof of revocable credentials. For each verification, verifiers should use a unique external nullifier and keep tracking of used nullifiers to prevent double-spending.
Credential designers propose new types of credentials to the community, specified in a domain-specific language (DSL) of the protocol. These individuals, typically community contributors, actively participate in shaping the ecosystem of evolving needs and requirements, by introducing innovative and diverse credential types. With Galxe identity protocol SDK, designers turn the type specification written in DSL into automatically generated zero-knowledge proof circuits, smart contracts proposed. Depending on the verification stack, type designer may need to hold a decentralized trust set up ceremony and publish the proof key to permanent storages.Designers must also provide a detailed specification of in-depth description of the credential type, outlining its purpose, intended use cases, and the specific attributes and fields it contains. These specifications clarify the semantic meaning of each field, define any restrictions or requirements associated with the credential, and provide guidelines for issuing and verification. The specifications ensure a shared understanding among ecosystem participants regarding the purpose and usage of the proposed credential type.Although it is a permission-less process to introduce new types to the ecosystem, the protocol employs a governance framework to facilitate decision-making regarding inclusion of new credential types into official core types with long term support. The community, comprising users, developers, and other stakeholders, actively participates in the evaluation and acceptance process. Through transparent discussions and GAL voting mechanisms, the community collectively determines which proposed credential types are incorporated into the official type.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Galxe Docs","colors":{"primary":"#6366f1","light":"#8b5cf6","dark":"#6366f1"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Help Center","icon":"circle-question","href":"https://help.galxe.com/en/"},{"anchor":"Legal","icon":"scale-balanced","href":"https://docs.galxe.com/about/legal"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"galxe","hasAudioNarration":false,"actualSubdomain":"galxe","customDomains":["docs.galxe.com"],"gitSource":{"type":"github","owner":"galxe","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea57946752e6fbc7af6f52","collectionId":"3e5aae8a-1c87-426f-929c-c6bf73eec304","schemaVersion":"v2","latestBuiltDeploymentHistoryId":"6aea57946752e6fbc7af6f52"},"feedback":{"thumbs":true,"issues":false,"edits":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aea57946752e6fbc7af6f52","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"Galxe Identity Protocol","count":19},{"language":"default","tag":"Galxe Integration","count":17},{"language":"default","tag":"Galxe Quest","count":17},{"language":"default","tag":"Getting Started","count":12},{"language":"default","tag":"Credential Advanced","count":12},{"language":"default","tag":"About","count":11},{"language":"default","tag":"Specification","count":6},{"language":"default","tag":"Galxe Loyalty Points","count":6},{"language":"default","tag":"Legal","count":5},{"language":"default","tag":"Integration Guides","count":5}]},"assistantConfig":{},"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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"identity/introduction/roles","slug":"/identity/introduction/roles","pageMetadata":{"title":null,"description":null,"href":"/identity/introduction/roles"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The protocol incorporates four main roles, each contributing uniquely to the protocol’s functioning. This section will give a brief introduction to their capabilities and responsibilities.`}),`\n`,_jsx(Heading,{level:`3`,id:`holder`,children:`Holder`}),`\n`,_jsx(_components.p,{children:`The Holder role is the centerpiece of the whole ecosystem: the individual possessing verifiable credentials. Holders do not need to register anything on-chain and the ownership of a credential is controlled by identity commitments constructed from secrets that are only known by their holders. In the Galxe identity protocol, holders maintain total control over their digital identity by storing credentials in Galxe identity vault, an open-source application that runs on holders’ local devices, e.g. browser, and native applications. Holders use the vault to manage different identity commitments for different issuers, and generate zero-knowledge proofs for verification based on owned credentials. By using ZKP, holders have the ability to reveal only requisite data under a deterministic and pseudonymous identity.`}),`\n`,_jsx(Heading,{level:`3`,id:`issuer`,children:`Issuer`}),`\n`,_jsx(_components.p,{children:`Issuers create verifiable credentials to holders by using digital signatures to endorse claims about the holder. In our design, issuers do not need to know any extra information of a holder, except for the identity commitment, which can be considered as a random number. Any identity can issue non-revocable credentials to others without on-chain registration. However, for revocable credentials, issuers must be registered on-chain to manage credential validity by publishing the root hash of sparse merkle tree of revoked credentials. Moreover, public keys used for signing need to be registered on-chain to be linked to their issuers.`}),`\n`,_jsx(_components.p,{children:`Issuers can use auxiliary contracts, such as Domain Name System Security Extensions (DNSSEC) verification, email verification and GAL staking contracts to enhance their perceived trustworthiness and credibility. Verifiers can leverage these records for setting up a dynamic trust schema. For example, instead of trusting credentials signed by a specific key, verifiers can program a policy that trusts issuers with DNSSEC verification of a specific domain, with some specific corp email ownership, or issuers with enough GAL staking.`}),`\n`,_jsx(_components.p,{children:`Issuers must maintain a 1-to-1 mapping from users of the domain to identity commitments. The identity secret part can be changed with a zero-knowledge proof that ensures the internal nullifier remains the same.`}),`\n`,_jsx(Heading,{level:`3`,id:`verifier`,children:`Verifier`}),`\n`,_jsx(_components.p,{children:`The verifier is the role that has the least dependence with other roles of the ecosystem. They are usually applications of gated services, allowing access only if the identities meet some specific requirements, like bouncers at bars. To host a verification, verifiers need to pick issuers that they can trust via a programmable trust schema, and verification requirements of credentials to be checked. Verifiers can use the protocol SDK to generate verification requirements that holders can use for generating proofs. To verify a proof, verifiers need to fetch verification key based on the type of the credential from blockchain, and check revocation status if there is any proof of revocable credentials. For each verification, verifiers should use a unique external nullifier and keep tracking of used nullifiers to prevent double-spending.`}),`\n`,_jsx(Heading,{level:`3`,id:`credential-type-designer`,children:`Credential type designer`}),`\n`,_jsx(_components.p,{children:`Credential designers propose new types of credentials to the community, specified in a domain-specific language (DSL) of the protocol. These individuals, typically community contributors, actively participate in shaping the ecosystem of evolving needs and requirements, by introducing innovative and diverse credential types. With Galxe identity protocol SDK, designers turn the type specification written in DSL into automatically generated zero-knowledge proof circuits, smart contracts proposed. Depending on the verification stack, type designer may need to hold a decentralized trust set up ceremony and publish the proof key to permanent storages.`}),`\n`,_jsx(_components.p,{children:`Designers must also provide a detailed specification of in-depth description of the credential type, outlining its purpose, intended use cases, and the specific attributes and fields it contains. These specifications clarify the semantic meaning of each field, define any restrictions or requirements associated with the credential, and provide guidelines for issuing and verification. The specifications ensure a shared understanding among ecosystem participants regarding the purpose and usage of the proposed credential type.`}),`\n`,_jsx(_components.p,{children:`Although it is a permission-less process to introduce new types to the ecosystem, the protocol employs a governance framework to facilitate decision-making regarding inclusion of new credential types into official core types with long term support. The community, comprising users, developers, and other stakeholders, actively participates in the evaluation and acceptance process. Through transparent discussions and GAL voting mechanisms, the community collectively determines which proposed credential types are incorporated into the official type.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":null,"description":null,"href":"/identity/introduction/roles"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Holder","slug":"holder","depth":3,"children":[]},{"title":"Issuer","slug":"issuer","depth":3,"children":[]},{"title":"Verifier","slug":"verifier","depth":3,"children":[]},{"title":"Credential type designer","slug":"credential-type-designer","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"galxe","siteName":"Galxe Docs","title":"Roles - Galxe Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-25T04:10:31.289Z","originalFileLocation":"identity/introduction/roles.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=\"application-name\" content=\"Galxe Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/galxe/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/galxe/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/galxe/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/galxe/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Roles - Galxe Docs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Galxe Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.galxe.com/identity/introduction/roles\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://galxe.mintlify.app/_mintlify/api/og/v2?division=Introduction\u0026amp;title=Roles\u0026amp;theme=3071f94dc9ac071d820c7ef2\u0026amp;signature=e1c5e86125b3b32a6fb1adf38d8d88b4e4e955aad1d242720cbfc41d59aeda8b\">\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=\"Roles - Galxe Docs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://galxe.mintlify.app/_mintlify/api/og/v2?division=Introduction\u0026amp;title=Roles\u0026amp;theme=3071f94dc9ac071d820c7ef2\u0026amp;signature=e1c5e86125b3b32a6fb1adf38d8d88b4e4e955aad1d242720cbfc41d59aeda8b\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/galxe/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Galxe Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366f1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.galxe.com/identity/introduction/roles\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/identity/introduction/roles.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.galxe.com/#organization\",\"name\":\"Galxe Docs\",\"url\":\"https://docs.galxe.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.galxe.com#website\",\"name\":\"Galxe Docs\",\"url\":\"https://docs.galxe.com\",\"publisher\":{\"@id\":\"https://docs.galxe.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.galxe.com/identity/introduction/roles#webpage\",\"url\":\"https://docs.galxe.com/identity/introduction/roles\",\"name\":\"Roles\",\"dateModified\":\"2026-03-25T04:10:31.289Z\",\"isPartOf\":{\"@id\":\"https://docs.galxe.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.galxe.com/identity/introduction/roles#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.galxe.com/identity/introduction/roles#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Introduction\",\"item\":\"https://docs.galxe.com/identity/introduction/background\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Roles\",\"item\":\"https://docs.galxe.com/identity/introduction/roles\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.galxe.com/identity/introduction/roles#article\",\"headline\":\"Roles\",\"name\":\"Roles\",\"url\":\"https://docs.galxe.com/identity/introduction/roles\",\"mainEntityOfPage\":{\"@id\":\"https://docs.galxe.com/identity/introduction/roles#webpage\"},\"dateModified\":\"2026-03-25T04:10:31.289Z\",\"publisher\":{\"@id\":\"https://docs.galxe.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.galxe.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Galxe Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Galxe Docs","nav":{"global":{"anchors":[{"anchor":"Help Center","icon":"circle-question","href":"https://help.galxe.com/en/"},{"anchor":"Legal","icon":"scale-balanced","href":"https://docs.galxe.com/about/legal"}]},"tabs":[{"tab":"About","groups":[{"group":"Platform Overview","pages":[{"title":"Overview","href":"/about/introduction"},{"title":"Official Channels ","href":"/about/official-channels"}]},{"group":"GAL","pages":[{"title":"G DAO","href":"/about/gal/dao"},{"title":"Tokenomics","href":"/about/gal/tokenomics"}]},{"group":"Legal","pages":[{"title":"Galxe Terms of Use","href":"/about/legal/terms-of-service"},{"title":"Galxe Privacy Policy","href":"/about/legal/privacy-policy"},{"title":"Staking Terms and Conditions","href":"/about/legal/staking-terms-and-conditions"},{"title":"Galxe Passport Terms of Use","href":"/about/legal/passport-terms-of-use"},{"title":"Galxe Passport Privacy Policy","href":"/about/legal/passport-privacy-policy"}]},{"group":"Community Programs","pages":[{"title":"Galxe Contributor Program","sidebarTitle":"Contributor Program","href":"/about/community-programs/galxe-contributor"},{"title":"Galxe Astronaut Program","sidebarTitle":"Astronaut Program","href":"/about/community-programs/galxe-astronaut"}]}]},{"tab":"Galxe Identity Protocol","groups":[{"group":"Getting Started","pages":[{"title":"Galxe Identity Protocol","sidebarTitle":"Identity Protocol","href":"/identity/introduction"},{"title":"TypeScript SDK","sidebarTitle":"SDK","href":"/identity/sdk"}]},{"group":"Tutorials","pages":[{"title":"Proof Generation \u0026 Verification Workflow","href":"/identity/tutorials/simple-workflow"},{"title":"Proof Aggregation \u0026 Verification with NEBRA","href":"/identity/tutorials/use-nebra-upa"}]},{"group":"Introduction","pages":[{"title":null,"href":"/identity/introduction/background"},{"title":null,"href":"/identity/introduction/overview"},{"title":null,"description":null,"href":"/identity/introduction/concepts"},{"title":null,"href":"/identity/introduction/roles"},{"title":"Case Studies","description":null,"href":"/identity/introduction/case-studies"}]},{"group":"Specification","pages":[{"title":null,"href":"/identity/specification/overview"},{"title":"Type DSL","href":"/identity/specification/type-dsl"},{"title":"Primitive Types","href":"/identity/specification/primitive-types"},{"title":"Credential Format","href":"/identity/specification/credential-format"},{"title":"Technical Components","href":"/identity/specification/technical-components"},{"title":null,"href":"/identity/specification/workflow"}]},{"group":"Use Cases","pages":[{"title":"Galxe Passport","href":"/identity/use-cases/galxe-passport"},{"title":null,"href":"/identity/use-cases/ideas"}]},{"group":"Future Works","pages":[{"title":null,"href":"/identity/future-works/future-works"}]},{"group":"Resources","pages":[{"title":"Contracts","href":"/identity/resources/contracts"}]}]},{"tab":"Galxe Quest","groups":[{"group":"Getting Started","pages":[{"title":"What is Galxe Quest","href":"/quest/introduction"}]},{"group":"Credential Advanced","pages":[{"group":"Overview","pages":[{"title":"Introduction","href":"/quest/credential-api/overview/introduction"},{"title":"CORS Check","href":"/quest/credential-api/overview/cross-domain-check"}]},{"group":"API Credential","pages":[{"title":"Introduction","href":"/quest/credential-api/api-cred/introduction"},{"title":"Config","href":"/quest/credential-api/api-cred/config"}]},{"group":"REST Credential","pages":[{"title":"Introduction","href":"/quest/credential-api/rest-cred/introduction"},{"title":"Single Dimensional Config","href":"/quest/credential-api/rest-cred/single-config"},{"title":"Multi Dimensional Config","href":"/quest/credential-api/rest-cred/multi-config"}]},{"group":"GraphQL Credential","pages":[{"title":"Introduction","href":"/quest/credential-api/graphql-cred/introduction"},{"title":"Single Dimensional Config","href":"/quest/credential-api/graphql-cred/single-config"},{"title":"Multi Dimensional Config","href":"/quest/credential-api/graphql-cred/multi-config"}]},{"group":"Contract Query Credential","pages":[{"title":"Introduction","href":"/quest/credential-api/contract-query-cred/introduction"},{"title":"Config","href":"/quest/credential-api/contract-query-cred/config"}]}]},{"group":"Smart Contract","pages":[{"title":"Introduction","href":"/quest/smart-contract/introduction"},{"group":"Contracts","pages":[{"title":"StarNFT","href":"/quest/smart-contract/contracts/starnft"},{"title":"SpaceStation","href":"/quest/smart-contract/contracts/spacestation"}]},{"title":"Smart Contract Audits","sidebarTitle":"Audit Reports","href":"/quest/smart-contract/audit"},{"title":"Subgraph","href":"/quest/smart-contract/subgraph"}]}]},{"tab":"Galxe Integration","groups":[{"group":"Getting Started","pages":[{"title":"Galxe Integration","href":"/galxe-integration/introduction"},{"title":"Quick Start","href":"/galxe-integration/getting-started/quick-start"},{"title":"Authentication","href":"/galxe-integration/getting-started/authentication"},{"title":"Common Integration Patterns","href":"/galxe-integration/getting-started/common-patterns"}]},{"group":"Integration Guides","pages":[{"title":"Quest Integration","href":"/galxe-integration/guides/quests"},{"title":"Loyalty Program Integration","href":"/galxe-integration/guides/loyalty-program"},{"title":"User Verification \u0026 Credential Validation","href":"/galxe-integration/guides/user-verification"},{"title":"Leaderboard Integration","href":"/galxe-integration/guides/leaderboards"},{"title":"Starboard Integration Guide","href":"/galxe-integration/guides/starboards"}]},{"group":"API Reference","pages":[{"title":"Quest API Reference","href":"/galxe-integration/api-reference/quest"},{"title":"Credential API Reference","href":"/galxe-integration/api-reference/credential"},{"title":"Space API Reference","href":"/galxe-integration/api-reference/space"},{"title":"Starboard API Reference","href":"/galxe-integration/api-reference/starboard"}]},{"group":"Resources","pages":[{"title":"Rate Limits \u0026 Usage Quotas","href":"/galxe-integration/resources/rate-limits"},{"title":"Error Handling Guide","href":"/galxe-integration/resources/error-handling"},{"title":"Changelog","href":"/galxe-integration/resources/changelog"},{"title":"Support \u0026 Community","href":"/galxe-integration/resources/support"}]}]},{"tab":"Galxe ID","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/galxe-id/introduction"}]},{"group":"Applications","pages":[{"title":"Galxe Passport","href":"/galxe-id/galxe-passport/introduction"}]},{"group":"Galxe ID Integration","pages":[{"title":"Sign in with Galxe","sidebarTitle":"Sign in with Galxe","href":"/galxe-id/galxe-id-integration/galxe-id-oauth"}]}]},{"tab":"Galxe Loyalty Points","groups":[{"group":"Getting Started","pages":[{"title":"Galxe Loyalty Points","sidebarTitle":"Introduction","href":"/loyalty-points/getting-started/introduction"},{"title":"Quick Start","href":"/loyalty-points/getting-started/quick-start"},{"title":"Hook","href":"/loyalty-points/getting-started/hook"},{"title":"API","href":"/loyalty-points/getting-started/api"}]},{"group":"Contract","pages":[{"title":"LoyaltyPoint","href":"/loyalty-points/contracts/loyalty-point"},{"title":"LoyaltyPointFactory","href":"/loyalty-points/contracts/loyalty-point-factory"}]}]},{"tab":"Alva Docs ↗","href":"https://docs.alva.xyz"}]},"basePath":"","title":"Roles - Galxe Docs","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":[],"chunks":[]}