v2

Supported Networks: All networks on the main delegate.xyz website are supported

Rate Limits: 25 requests per 10 seconds.

To obtain an API key to remove rate limits, you can create one here: https://delegate.xyz/developer/api-keys

Authentication

If you have an API Key, you can add it to the request headers like so:

fetch(URL, { headers: { "X-API-KEY": "abc123" } }) 

Delegations by wallet

Get a list of incoming and outgoing delegations for a specific wallet.

GET https://api.delegate.xyz/registry/v2/:wallet

Path Parameters

NameTypeDescription

wallet*

Address

The wallet to get delegations

Query Parameters

NameTypeDescription

chainId

number

Defaults to 1 (mainnet)

type Delegation = {
    type: "NONE" | "ALL" | "CONTRACT" | "TOKEN";
    from: string;
    to: string;
    contract: string | null;
    tokenId: number | null;
};

// returns Delegation[]

Delegations by wallet Example

curl https://api.delegate.xyz/registry/v2/0x0000000000000000000000000000000000000000

Delegation Checks

Returns true if delegate is granted to act on the from's behalf

GET https://api.delegate.xyz/registry/v2/check/all

Query Parameters

NameTypeDescription

to*

Address

The hot wallet to act on your behalf

from*

Address

The cold wallet who issued the delegation

chainId

number

Defaults to 1 (mainnet)

rights

string

bytes32 of rights string

Check All Example

curl https://api.delegate.xyz/registry/v2/check/all?to=0x0000000000000000000000000000000000000000&from=0x0000000000000000000000000000000000000001

Returns true if delegate is granted to act on from's behalf for entire wallet or that specific contract

GET https://api.delegate.xyz/registry/v2/check/contract

Query Parameters

NameTypeDescription

from*

Address

The hot wallet to act on your behalf

to*

Address

The cold wallet who issued the delegation

contract*

Address

The address for the contract you're delegating

chainId

number

Defaults to 1 (mainnet)

rights

string

bytes32 of rights string

Check Contract Example

curl https://api.delegate.xyz/registry/v2/check/contract?to=0x0000000000000000000000000000000000000000&from=0x0000000000000000000000000000000000000001&contract=0x0000000000000000000000000000000000000003

Returns true if delegate is granted to act on from's behalf for entire wallet, that contract, or that specific tokenId

GET https://api.delegate.xyz/registry/v2/check/erc721

Query Parameters

NameTypeDescription

delegate*

Address

The hot wallet to act on your behalf

vault*

Address

The cold wallet who issued the delegation

contract*

Address

The address for the contract you're delegating

tokenId*

Number

The token id for the token you're delegating

chainId

number

Defaults to 1 (mainnet)

rights

string

bytes32 of rights string

Check ERC721 Example

curl https://api.delegate.xyz/registry/v2/check/contract?to=0x0000000000000000000000000000000000000000&from=0x0000000000000000000000000000000000000001&contract=0x0000000000000000000000000000000000000003&tokenId=1

Returns the delegated balance, which will be 0 if the delegation does not exist

GET https://api.delegate.xyz/registry/v2/check/erc1155

Query Parameters

NameTypeDescription

delegate*

Address

The hot wallet to act on your behalf

vault*

Address

The cold wallet who issued the delegation

contract*

Address

The address for the contract you're delegating

tokenId*

Number

The token id for the token you're delegating

chainId

number

Defaults to 1 (mainnet)

rights

string

bytes32 of rights string

Check ERC1155 Example

curl https://api.delegate.xyz/registry/v2/check/erc1155?to=0x0000000000000000000000000000000000000000&from=0x0000000000000000000000000000000000000001&contract=0x0000000000000000000000000000000000000003&tokenId=1

Returns the delegated balance, which will be 0 if the delegation does not exist

GET https://api.delegate.xyz/registry/v2/check/erc20

Query Parameters

NameTypeDescription

delegate*

Address

The hot wallet to act on your behalf

vault*

Address

The cold wallet who issued the delegation

contract*

Address

The address for the contract you're delegating

chainId

number

Defaults to 1 (mainnet)

rights

string

bytes32 of rights string

Check ERC20 Example

curl https://api.delegate.xyz/registry/v2/check/erc20?to=0x0000000000000000000000000000000000000000&from=0x0000000000000000000000000000000000000001&contract=0x0000000000000000000000000000000000000003

Last updated