API Reference
The Model Based Detection API enables developers to retrieve different model-based unique humanity scores in real-time, enabling you to score any EVM wallet address without requiring the users to create and build up a Passport score.
This API is currently in beta.
- If you need a production-ready API, please use the Stamp-based API.
- Need more in-depth Sybil or reputation data analysis? Please fill out this quick form (opens in a new tab).
You can also experiment with the Model Based Detection API using our API playground tool (opens in a new tab) and adding your API keys via the 'Authorize' button.
Rate Limits
Tier | Rate limit |
---|---|
Tier 1 | [DEFAULT] 15 requests per 15 minutes |
Tier 2 | 350 requests per 15 minutes |
Tier 3 | 2000 requests per 15 minutes |
These rate limits are completely separate from the existing Passport API rate limits.
If you'd like to request elevated rate limits, please fill out our rate limit elevation form (opens in a new tab).
Retrieve Model Based Detection scores
Use this endpoint to request a model-based score for a specified user. You can find all of the available models and recommended score thresholds via our available models page.
- Endpoint:
GET /v2/models/score/{address}
- Base URL:
https://api.passport.xyz
- Authentication: API Key – Can be the same API Key that is used with the Passport API
Parameters
Parameter | Type | Description |
---|---|---|
address | Path parameter | [Required] Pass a single EVM wallet address While we only allow a single address to be scored per request, we are considering expanding this to enable bulk scoring when we graduate this API from beta. If this is important to you, please let us know (opens in a new tab). |
model | Query parameter | Include one of the following available models to request that model's score for the specified wallet address: aggregate , ethereum_activity , nft , arbitrum , optimism , polygon , and zksync If you don't include this parameter, the API will return the aggregate model by default.While we only allow scoring using a single model per request, we are considering enabling requesting multiple models when we graduate this API from beta. If this is important to you, please let us know (opens in a new tab). |
Default example
Request
curl --request GET \
--url 'https://api.passport.xyz/v2/models/score/{address}?model=aggregate' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: {API KEY}'
Response
{
"address": "string",
"details": {
"models": {
"aggregate": {
"score": 50
}
}
}
}
Arbitrum model example
Request
curl --request GET \
--url 'https://api.passport.xyz/v2/models/score/{address}?model=arbitrum' \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: {API KEY}'
Response
{
"address": "string",
"details": {
"models": {
"arbitrum": {
"score": 50
}
}
}
}