Building with Passport
Models API
API reference

Models API Reference

The Models 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.

Need a batch or more in-depth Sybil classification and clustering analysis? Learn more about our Data Services.

You can also experiment with the Models API using our API playground tool (opens in a new tab) and adding your API keys via the 'Authorize' button.

Rate Limits

TierRate limit
Tier 1[DEFAULT] 15 requests per 15 minutes
Tier 2350 requests per 15 minutes
Tier 32000 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 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

ParameterTypeDescription
addressPath parameter[Required] Pass a single EVM wallet address.
modelQuery parameterInclude one of the following available models to request that model's score for the specified wallet address:
aggregate, ethereum_activity, nft, arbitrum, base, optimism, polygon, and zksync

If you don't include this parameter, the API will return the aggregate model by default.

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 
            }
        } 
    }
}