Introduction
GraphQL
credentials, including Subgraph
credentials, let Galxe fetch data from your authorized GraphQL endpoint. During user verification, Galxe sends a query with the user’s address to the endpoint. The response is evaluated by a JavaScript(ES6)
expression, returning 1
(eligible) or 0
(not eligible).
Workflow
- app.galxe.com: When a user clicks “Verify” on the Quest page, Galxe sends the user’s wallet address or other social media information as an input parameter.
- Galxe Backend: Based on the pre-configuration, Galxe sends an HTTP request containing the wallet address to your
GraphQL API
and waits for the response. - Your Backend: After receiving the HTTP request from Galxe, your backend processes the request and returns the response data related to the wallet address.
- Galxe Backend: Processes the
response.body
from your backend using predefined expressions to determine if the user meets the conditions.35.185.209.0
and35.203.155.18
are our outbound IPs. Failure to whitelist these may result in 403 errors when accessing the service.
Configuration Requirements
API Specification
- Endpoint:
The URL of theGraphQL
endpoint.
-
(Optional) Headers:
Key-value
pairs included in theGraphQL
request. -
Query Info:
Fill in the actual query logic within the{}
of the pre-filled template, for example:
Parameter Mapping (Placeholders)
$address
: Replaced with the user’s wallet address as a hexadecimal string with the0x
prefix, e.g.,0x95ad73...
.$value
: Used when user information is not an address (email or Telegram ID) and replaced with the respective information.
0x
), Galxe converts them to lowercase before sending to your endpoint.Response Requirements
The body returned by GraphQL
is in JSON
format by default, compliant with Galxe’s standards.
Expression
Function Requirements
- Write an anonymous
JavaScript (ES6)
function with the type signature(object) => int
. - The function takes the entire response object
resp
as a parameter. - It must return the number
1
or0
, indicating whether the address qualifies for the credential.
true/false
) or strings ("0"/"1"
).Anonymous Function Format
The function must be anonymous
, with the first line written in the following format:
Security and Authorization
When configuring the GraphQL
, you can achieve secure access through request headers (such as API KEY
or tokens
). This information will not be exposed by Galxe, and only users with Space admin privileges can view it.
CORS
Galxe’s API calls are not made through the browser but via backend servers. Although this avoids triggering browser CORS restrictions, we still send preflight OPTIONS
requests during API configuration to validate the API’s correctness.