Get started
API Endpoint https://analytics.polygon.technology/score/
Polygon Reputation is a composite score based on network activity. Updated weekly, the score will initially be comprised of the following metrics:
- Two-week engagement: How active has a user been in the last two weeks
- 10 week retention: How many weeks in the last 10 weeks has the user engaged with Polygon
We believe these metrics best identify active users on the Polygon Network - users who engage with protocols regularly and represent true, ongoing demand for dApps.
How can dApps use Polygon Score?
Any dApp on Polygon can use Polygon Reputation to identify highly engaged users. Engaged users can be rewarded by Applications in a number of ways. Some examples includes:
- Be awarded tokens
- Added to whitelists for premium features or early access
- Dropped NFTs
- Provided protocol specific awards or incentives.
- Identify ideal candidates for beta tests
- New user acquisition
Single Users
To get the payload with scores and score elements of a single user for the latest week, use the Users' Score And Elements
endpoint.
All Users
# Full Payload
# Curl Example
curl --location --request GET \
'https://analytics.polygon.technology/score/all'
To get the full payload with scores of all users for the latest week, you need to make a GET call to the following url :
https://analytics.polygon.technology/score/all
Note: Usage of this endpoint should be avoided unless strictly required as it pulls the complete payload for millions of address
Result example :
[
{
"address": "0xe93592318ef121fb932804bde04f3433ae9ce4d6",
"protocol": "polygon.score",
"score": 98.0
},
{
"address": "0x93e34c29470c0a1a76a9568be5b05c656e976977",
"protocol": "polygon.score",
"score": 94.0
},
{
"address": "0x8d4e314b108300de1fdf6a0c830b8af67f65c51e",
"protocol": "polygon.score",
"score": 98.0
},
{
"address": "0xaab3da1ba28496bfb3be41a800981a944581591c",
"protocol": "polygon.score",
"score": 100.0
},
....
....
]
All Users from n Quantile
# Return all users from the top 10 percent of users
# Curl Example
curl --location --request POST \
'https://analytics.polygon.technology/score/score-quantile?top-percent=10'
To get all users from the top m
percentage of users for the latest week, you need to make a POST call to the following url :
https://analytics.polygon.technology/score/score-quantile
Result example :
[
{
"address": "0x918bd41281d5373261f2f8f746bbdd872962f902",
"protocol": "polygon.score",
"score": 98.0
},
{
"address": "0xd7309a23247f467e82544cac4d8b3e57c7c5575c",
"protocol": "polygon.score",
"score": 94.0
},
{
"address": "0xcd107eca2e99aac18a6bcc830c07c703dc5044d4",
"protocol": "polygon.score",
"score": 98.0
},
{
"address": "0xaab3da1ba28496bfb3be41a800981a944581591c",
"protocol": "polygon.score",
"score": 100.0
},
{
"address": "0xc01ecaee1b6dcb632985631ccfe40169cb5e41a0",
"protocol": "polygon.score",
"score": 99.0
}
....
....
]
QUERY PARAMETERS
Field | Type | Description |
---|---|---|
top-percent | Numeric | The top percentage of users to return. For example, a value of 10 would return random users from the top 10% |
Top Users from n Quantile
# Return 5 random user from the top 10 percent of users
# Curl Example
curl --location --request POST \
'https://analytics.polygon.technology/score/nscore-quantile?top-percent=10&user-count=5'
To get random n
users from the top m
percentage of users for the latest week, you need to make a POST call to the following url :
https://analytics.polygon.technology/score/nscore-quantile
Result example :
[
{
"address": "0x918bd41281d5373261f2f8f746bbdd872962f902",
"protocol": "polygon.score",
"score": 98.0
},
{
"address": "0xd7309a23247f467e82544cac4d8b3e57c7c5575c",
"protocol": "polygon.score",
"score": 94.0
},
{
"address": "0xcd107eca2e99aac18a6bcc830c07c703dc5044d4",
"protocol": "polygon.score",
"score": 98.0
},
{
"address": "0xaab3da1ba28496bfb3be41a800981a944581591c",
"protocol": "polygon.score",
"score": 100.0
},
{
"address": "0xc01ecaee1b6dcb632985631ccfe40169cb5e41a0",
"protocol": "polygon.score",
"score": 99.0
}
]
QUERY PARAMETERS
Field | Type | Description |
---|---|---|
top-percent | Numeric | The top percentage of users to return. For example, a value of 10 would return random users from the top 10% |
user-count | Numeric | The number of random users to return from the given percentage of top users |
Users' score and elements
# Return latest score and score components of a user
# Curl Example
curl --location --request POST \
'https://analytics.polygon.technology/score/user-latest?address=0x6c89a699b4588d1727d531f644638bd6bf02b65b'
To get the latest Polygon Score and all the score components for an address
, you need to make a POST call to the following url :
https://analytics.polygon.technology/score/user-latest
Result example :
[
{
"Week":42,
"Address":"0x6c89a699b4588d1727d531f644638bd6bf02b65b",
"NoOfTxns":111.0,
"Retention Count":9.0,
"Net Volume":1863.0027802555,
"NoOfTxnsQ":0.99,
"Retention CountQ":1.0,
"Volume Group":1.5,
"Score":2.43,
"Score100":95.3,
"ScoreQ":100.0,
"Protocol":"polygon.score"
}
]
QUERY PARAMETERS
Field | Type | Description |
---|---|---|
address | String | The wallet address of the user |
Address Interaction
# Return latest score, interaction data and score components of a user for the latest week
# Curl Example
curl --location --request POST \
'https://analytics.polygon.technology/user-interaction-latest?address=0xe123b7df9a55073b6bb726d87a41ee18375ded6e&contracts=0xd05e3E715d945B59290df0ae8eF85c1BdB684744, 0x3ac4e9aa29940770aeC38fe853a4bbabb2dA9C19, 0xbEadf48d62aCC944a06EEaE0A9054A90E5A7dc97'
To get address and their score based on their interaction with given contract addresses.
To get the data for the latest week, you need to make a POST request to: https://analytics.polygon.technology/score/user-interaction-latest
This will help dApps get scores of users who have interacted with their contracts.
QUERY PARAMETERS
Field | Type | Description |
---|---|---|
address | String | Users' wallet address |
contracts | String | Comma-seperated list of contract addresses (Example: 0xa, 0xb, 0xc) |
For a given week:
# Return latest score, interaction data and score components of a user for a given week
# Curl Example
curl --location --request POST \
'https://analytics.polygon.technology/user-interaction-week?address=0xe123b7df9a55073b6bb726d87a41ee18375ded6e&contracts=0xd05e3E715d945B59290df0ae8eF85c1BdB684744, 0x3ac4e9aa29940770aeC38fe853a4bbabb2dA9C19, 0xbEadf48d62aCC944a06EEaE0A9054A90E5A7dc97&week=44&year=2021'
To get address and their score based on their interaction with given contract addresses for a particular week,
you need to make a POST request to: https://analytics.polygon.technology/score/user-interaction-week
Result example :
[
{
"Week": 44,
"Address": "0xe123b7df9a55073b6bb726d87a41ee18375ded6e",
"NoOfTxns": 192.0,
"Retention Count": 10.0,
"Year": 2021.0,
"Net Volume": 0.0,
"NoOfTxnsQ": 1.0,
"Retention CountQ": 1.0,
"Volume Group": 1.0,
"Score": 1.7,
"Score100": 66.7,
"ScoreQ": 100.0,
"Protocol": "polygon.score",
"Token Transfers": 4,
"Transactions": 5
}
]
QUERY PARAMETERS
Field | Type | Description |
---|---|---|
address | String | Users' wallet address |
contracts | String | Comma-seperated list of contract addresses (Example: 0xa, 0xb, 0xc) |
week | Numeric | ISO-standard week number to filter results for |
year | Numeric | Calendar year to filter results for |
User Affinity (Coming Soon)
User affinity returns a granular score for users based on their interactions with a particular type of dApp on the network - like NFTs, Gaming, Social etc.
QUERY PARAMETERS
Field | Type | Description |
---|---|---|
user | String | User's wallet address |
type | String | (Options: NFT, DeFi, Social, Gaming) |