ARCx
Search…
API
A brief guide on using the ARCx API

Introduction

The ARCx team provides a variety of endpoints to 3rd-party developers to facilitate the acquisition of data related to ARCx products. Most of the information returned by our endpoints can also be parsed from on-chain logs. There are three main categories to our endpoints:
  • Reputation : The ARCx infrastructure creates on-chain reputation data for a variety of addresses. Such data is used by 3rd party developers and the ARCx Passport (see below) to make data-driven decisions on-chain. Here you can fetch the list of indexed addresses, view a reputation profile and fetch a proof of a particular score within a profile for on-chain verification.
  • Passports : The ARCx Passport is they key to the ARCx ecosystem. It enables staking, borrowing and skin features. This NFT is a visual representation of your blockchain identity, but does not provide any benefit outside the ARCx ecosystem.
  • Protocols : ARCx has a variety of scores and partnerships with other dApps. These endpoints allow for transparency is who is integrated with ARCx and which scores are currently being indexed.
CURRENT API VERSION: v1.0
1
https://api.arcx.money
Copied!

Reputation

GET /reputation

Get the list of all addresses currently being indexed by the ARCx protocol.
Example:
1
https://api.arcx.money/reputation
Copied!
Response:
1
[
2
"0xE4F...90B",
3
"0x9c7...89b",
4
"0xcd7...A1E",
5
...
6
]
Copied!

GET /reputation/:address

Get the entire reputation profile of a specific address. This will be an array of objects outlining all the potential score this address could obtain.
To verify each score on the blockchain, simply drop the metadata attribute and use the remainder 4 attributes (account, protocol, score and merkleProof) to verify the score on the blockchain.
Example:
1
https://api.arcx.money/reputation/0xcd78358fb5fC823b9e789605B7b4fDc1dEf14A1E
Copied!
Response:
1
[
2
{
3
"account": "0xcd78358fb5fC823b9e789605B7b4fDc1dEf14A1E",
4
"protocol": "0x617263782e6c6f79616c74790000000000000000000000000000000000000000",
5
"score": "175",
6
"merkleProof": [
7
"0xedb1ef66264d930648d442114717dec9b83dbdf7cfee95d39822a7b0bb262ffc",
8
"0xc21773776d32c50291589cfda4c1ff545ba30376974eb7388633cd420456341e",
9
"0xc803198ff567cb0359896bbf26d7b5daafc74e00a2314acd3938e85b10a490d6",
10
"0x8294acc477326db80c02ad7c50c40f56580ef3933a5155b5929c7297176b0b94",
11
"0xffe33ed76230c01bce31bfcee95bf010c3c926fcb52350479b95a4a54f5005c6",
12
"0x505a53ea980962e958e9cadd79a8d26bb3431de6d1d3dd84ed816be6f3d38d47"
13
],
14
"metadata": {
15
"name": "arcx.loyalty",
16
"maxValue": "450",
17
"minValue": "50",
18
"description": "This score is calculation based on your interactions (positive or negative) with the ARCx protocol.",
19
"title": "ARCx Loyalty Score",
20
"externalURI": "",
21
"sources": ["ethereum"],
22
"explanations": [
23
{
24
"value": "+50",
25
"key": "Participated in an ARCx Farm"
26
},
27
...
28
],
29
"suggestions": {
30
"account": [
31
"Stake your ARCx tokens.",
32
...
33
],
34
"global": [
35
"Stay active within the Discord community",
36
...
37
]
38
},
39
}
40
},
41
{
42
...
43
}
44
]
Copied!

GET /reputation/:address/:score - (Merkle Proof)

A more precise option from the previous /reputation/:address endpoint. Most commonly used by 3rd party developers to verify their respective user's scores.
This is the exact format needed to verify scores on the blockchain. Scores are verified using Merkle Trees, more information regarding this topic can be found here.
Example:
1
https://api.arcx.money/reputation/0xcd78358fb5fC823b9e789605B7b4fDc1dEf14A1E/arcx.loyaltyty
Copied!
Response:
1
{
2
"account": "0xcd78358fb5fC823b9e789605B7b4fDc1dEf14A1E",
3
"score": "175",
4
"protocol": "0x617263782e6c6f79616c74790000000000000000000000000000000000000000",
5
"merkleProof": [
6
"0xedb1ef66264d930648d442114717dec9b83dbdf7cfee95d39822a7b0bb262ffc",
7
"0xc21773776d32c50291589cfda4c1ff545ba30376974eb7388633cd420456341e",
8
"0xc803198ff567cb0359896bbf26d7b5daafc74e00a2314acd3938e85b10a490d6",
9
"0x8294acc477326db80c02ad7c50c40f56580ef3933a5155b5929c7297176b0b94",
10
"0xffe33ed76230c01bce31bfcee95bf010c3c926fcb52350479b95a4a54f5005c6",
11
"0x505a53ea980962e958e9cadd79a8d26bb3431de6d1d3dd84ed816be6f3d38d47"
12
]
13
}
Copied!

Passports

The ARCx Passport is an ERC721 that is non-transferable and unique to each address.

GET /passports/:address

Each Passport has accessible metadata, including one of the following statuses:
  • active: This address has an active ARCx Passport and already can use its benefits.
  • unclaimed: This address has yet to claim it's Passport, but it can do so at any time.
  • waitlist : This address will be able to claim its Passport soon.
  • untracked : This address is not indexed by ARCx in any way.
  • burnt : This address is blacklisted from ever having a Passport.
Example:
1
https://api.arcx.money/passports/0xcd78358fb5fC823b9e789605B7b4fDc1dEf14A1E
Copied!
Response:
1
{
2
"address": "0xcd78358fb5fC823b9e789605B7b4fDc1dEf14A1E",
3
"status": "active",
4
"dateIssued": 1629412046,
5
"tokenId": 3,
6
"activeSkin": {
7
"title": "ARCx Default White",
8
"description": "ARCx Default DeFi Passport Skins. Comes in black, purple and white.",
9
"tokenIds": ["3"],
10
"contract": "0x302434B8676048b9FDE0aD20952999C84c7f1428",
11
"group": "arcx",
12
"name": "white",
13
}
14
}
Copied!

GET /passports/eligible/:address

To receive an ARCx Passport, an address is required to meet certain on-chain criteria. These are defined below, and may change over time. However, even if eligibility requirements change, once an address claims its Passport, it cannot be revoked.
Example:
1
https://api.arcx.money/passports/eligible/0xcd78358fb5fC823b9e789605B7b4fDc1dEf14A1E
Copied!
Response:
1
[
2
{
3
"passed": true,
4
"title": "Address History",
5
"description": "Total amount of days since first transaction.",
6
"required": 30,
7
"current": 130
8
},
9
{
10
"passed": true,
11
"title": "Gas Spent (ETH)",
12
"description": "Total amount of gas spent (in ETH) since beginning of time.",
13
"required": 0.01,
14
"current": 0.32
15
},
16
{
17
"passed": true,
18
"title": "Unique Interactions",
19
"description": "Total unique interactions between all other addresses since beginning of time.",
20
"required": 5,
21
"current": 10
22
}
23
]
Copied!

Protocols

GET /protocols

List all the protocols which are currently integrated with the ARCx ecosystem
Example:
1
https://api.arcx.money/protocols
Copied!
Response:
1
[
2
"arcx",
3
"polygon",
4
]
Copied!

GET /protocols/:name

List the metadata of a particular protocol which is integrated with the ARCx ecosystem.
Example:
1
https://api.arcx.money/protocols/arcx
Copied!
Response:
1
{
2
"registryURI": "https://prod.data.arcx.money/registry",
3
"scoresURI": "https://prod.data.arcx.money/scores",
4
"scoresMetadata": [
5
{
6
"name": "arcx.credit",
7
"description": "The ARCx quantification of credit worthiness create by analyzing blockchain transactions.",
8
"title": "ARCx Credit Score",
9
"sources": ["ethereum", "avax", "polygon"],
10
"maxValue": "1000",
11
"minValue": "0",
12
"externalURI": "https://wiki.arcx.money/",
13
"suggestions": [
14
"Always pay your debts on time",
15
"Ensure you have plenty of collatoral in the event of margin calls"
16
]
17
},
18
{
19
"name": "arcx.loyalty",
20
"description": "This score is calculation based on your interactions (positive or negative) with the ARCx protocol.",
21
"title": "ARCx Loyalty Score",
22
"sources": ["ethereum"],
23
"suggestions": [
24
"Consider staking ARCx",
25
"Stay active within the Discord community",
26
"HODL the ARCx token",
27
]
28
}
29
]
30
}
Copied!

Help

If you have any questions or suggestions, we'd love your input on our discord server. Happy building! ノ
Last modified 28d ago