Skip to Content
ArchivedFor DevelopersAPI Reference

API Reference

Endpoints


GET /sybil-resistance/<credential-type>/<network>

Determines whether a user has registered for a given action ID, establishing that their blockchain address represents a unique individual.

Parameters:

NameDescriptionTypeRequired
credential-typegov-id, epassport, phone, or biometricsstringYes
networkoptimism or base-sepoliastringYes
userUser’s blockchain addressstringYes
action-idAction ID for the registrationstringYes

Example Request:

const resp = await fetch('https://api.holonym.io/sybil-resistance/gov-id/optimism?user=0x0000000000000000000000000000000000000000&action-id=123456789'); const { result: isUnique } = await resp.json();

Response (200):

{ "result": true }

Or if no valid proof submitted:

{ "result": false }

GET /residence/country/us/<network>

Verifies whether a user resides in the US (currently the only supported country).

Parameters:

NameDescriptionTypeRequired
networkoptimism or optimism-goerlistringYes
userUser’s blockchain addressstringYes

Example Request:

const resp = await fetch('https://api.holonym.io/residence/country/us/optimism?user=0x0000000000000000000000000000000000000000'); const { result: isUSResident } = await resp.json();

Response (200):

{ "result": true }

GET /snapshot-strategies/residence/country/us

Returns scores (1 or 0) for each address indicating proven US residency, compatible with Snapshot voting strategies.

Parameters:

NameDescriptionTypeRequired
networkChain IDstringYes
snapshotBlock heightstringYes
addressesComma-separated blockchain addressesstringYes

Example Request:

const resp = await fetch('https://api.holonym.io/snapshot-strategies/residence/country/us?network=420&snapshot=9001&addresses=0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000001');

Response (200):

{ "score": [ { "address": "0x0000000000000000000000000000000000000000", "score": 0 }, { "address": "0x0000000000000000000000000000000000000001", "score": 1 } ] }

GET /snapshot-strategies/sybil-resistance/gov-id

Returns uniqueness scores for each address based on government ID verification for the specified action ID.

Parameters:

NameDescriptionTypeRequired
networkChain IDstringYes
snapshotBlock heightstringYes
addressesComma-separated blockchain addressesstringYes
action-idAction ID for uniqueness checkstringYes

Snapshot Configuration:

{ "api": "https://api.holonym.io", "symbol": "", "decimals": 0, "strategy": "snapshot-strategies/sybil-resistance/gov-id", "additionalParameters": "action-id=123456789" }

Response (200):

{ "score": [ { "address": "0x0000000000000000000000000000000000000000", "score": 0 }, { "address": "0x0000000000000000000000000000000000000001", "score": 1 } ] }

GET /snapshot-strategies/sybil-resistance/phone

Returns uniqueness scores based on verified phone number ownership for the specified action ID.

Parameters:

NameDescriptionTypeRequired
networkChain IDstringYes
snapshotBlock heightstringYes
addressesComma-separated blockchain addressesstringYes
action-idAction ID for uniqueness checkstringYes

Snapshot Configuration:

{ "api": "https://api.holonym.io", "symbol": "", "decimals": 0, "strategy": "snapshot-strategies/sybil-resistance/phone", "additionalParameters": "action-id=123456789" }

Response (200):

{ "score": [ { "address": "0x0000000000000000000000000000000000000000", "score": 0 }, { "address": "0x0000000000000000000000000000000000000001", "score": 1 } ] }

GET /snapshot-strategies/sybil-resistance/biometrics

Returns uniqueness scores based on verified non-personally identifying biometric data for the specified action ID.

Parameters:

NameDescriptionTypeRequired
networkChain IDstringYes
snapshotBlock heightstringYes
addressesComma-separated blockchain addressesstringYes
action-idAction ID for uniqueness checkstringYes

Snapshot Configuration:

{ "api": "https://api.holonym.io", "symbol": "", "decimals": 0, "strategy": "snapshot-strategies/sybil-resistance/biometrics", "additionalParameters": "action-id=123456789" }

Response (200):

{ "score": [ { "address": "0x0000000000000000000000000000000000000000", "score": 0 }, { "address": "0x0000000000000000000000000000000000000001", "score": 1 } ] }
Last updated on