For the complete documentation index, see llms.txt. This page is also available as Markdown.

Partners

B2B attribution: partner analytics, strategy policy and revenue share reporting

Get supported chains

get

Returns chains supported by the partners service.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Responses
200

OK

application/json
chain_idintegerOptional
chain_namestringOptional
distributorstringOptional

Distributor is the TokenDistributor contract address on this chain (empty if not deployed)

providerstringOptional
get/partners/supported-chains
GET /api/v1/partners/supported-chains HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "chain_id": 1,
    "chain_name": "text",
    "distributor": "text",
    "provider": "text"
  }
]

Get API keys

get

Returns all API keys for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Responses
200

OK

application/json
api_keystringOptional

essential key to be used by

created_atstringOptional
hashinteger[]Optional

чтобы декриптнуть локально

metaanyOptional
namestringOptional
prefixstringOptional
revoked_atstringOptional
secret_byteinteger[]Optional

this is his secret token to sign, shown just one time

statusbooleanOptional
get/partners/{partner_id}/api-keys
GET /api/v1/partners/{partner_id}/api-keys HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "api_key": "text",
    "created_at": "text",
    "hash": [
      1
    ],
    "meta": null,
    "name": "text",
    "prefix": "text",
    "revoked_at": "text",
    "secret_byte": [
      1
    ],
    "status": true
  }
]

Create API key

post

Creates a new API key for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Body
namestringOptional
Responses
200

OK

application/json
api_keystringOptional

essential key to be used by

created_atstringOptional
hashinteger[]Optional

чтобы декриптнуть локально

metaanyOptional
namestringOptional
prefixstringOptional
revoked_atstringOptional
secretstringOptional
secret_byteinteger[]Optional

this is his secret token to sign, shown just one time

statusbooleanOptional
post/partners/{partner_id}/api-keys
POST /api/v1/partners/{partner_id}/api-keys HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "name": "text"
}
{
  "api_key": "text",
  "created_at": "text",
  "hash": [
    1
  ],
  "meta": null,
  "name": "text",
  "prefix": "text",
  "revoked_at": "text",
  "secret": "text",
  "secret_byte": [
    1
  ],
  "status": true
}

Revoke API key

delete

Revokes a partner API key.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

api_keystringRequired

API key

Responses
200

OK

application/json
messagestringOptional
delete/partners/{partner_id}/api-keys/{api_key}
DELETE /api/v1/partners/{partner_id}/api-keys/{api_key} HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "message": "text"
}

Get claim addresses

get

Returns all claim addresses for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Responses
200

OK

application/json
addressstringOptional
chain_idintegerOptional
created_atstringOptional
namestringOptional
partner_idstringOptional
statusbooleanOptional
updated_atstringOptional
get/partners/{partner_id}/claim-addresses
GET /api/v1/partners/{partner_id}/claim-addresses HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "address": "text",
    "chain_id": 1,
    "created_at": "text",
    "name": "text",
    "partner_id": "text",
    "status": true,
    "updated_at": "text"
  }
]

Attach new claim address

post

Adds a new claim address for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Body
addressstringOptional
chain_idintegerOptional
namestringOptional
partner_idstringOptional
Responses
200

OK

application/json
messagestringOptional
post/partners/{partner_id}/claim-addresses
POST /api/v1/partners/{partner_id}/claim-addresses HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 65

{
  "address": "text",
  "chain_id": 1,
  "name": "text",
  "partner_id": "text"
}
{
  "message": "text"
}

Update claim address

put

Updates an existing claim address for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

addressstringRequired

Claim address

Body
addressstringOptional
chain_idintegerOptional
created_atstringOptional
namestringOptional
partner_idstringOptional
statusbooleanOptional
updated_atstringOptional
Responses
200

OK

application/json
messagestringOptional
put/partners/{partner_id}/claim-addresses/{address}
PUT /api/v1/partners/{partner_id}/claim-addresses/{address} HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 119

{
  "address": "text",
  "chain_id": 1,
  "created_at": "text",
  "name": "text",
  "partner_id": "text",
  "status": true,
  "updated_at": "text"
}
{
  "message": "text"
}

Get fee balance

get

Returns the current fee balance for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Responses
200

OK

application/json
available_usdstringOptional
partner_idstringOptional
updated_atstringOptional
get/partners/{partner_id}/fee-balance
GET /api/v1/partners/{partner_id}/fee-balance HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "available_usd": "text",
  "partner_id": "text",
  "tokens": [
    {
      "amount": {
        "free": "text",
        "pending": "text",
        "total": "text"
      },
      "chain_id": 1,
      "token_id": "text"
    }
  ],
  "updated_at": "text"
}

Claim fees

post

Submits a fee claim for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Body
chain_idstringOptional
claim_addressstringOptional
is_token_nativebooleanOptional
partner_idstringOptional
token_idstringOptional
Responses
200

OK

application/json
amount_sentstringOptional
chain_idintegerOptional
claim_idstringOptional
datastringOptional

Data is the unsigned claim()/claimAll() calldata the partner signs from their claim address (From) to the distributor (To), value 0.

fromstringOptional
tostringOptional
token_idstringOptional
tx_hashstringOptional
post/partners/{partner_id}/fees/claim
POST /api/v1/partners/{partner_id}/fees/claim HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 103

{
  "chain_id": "text",
  "claim_address": "text",
  "is_token_native": true,
  "partner_id": "text",
  "token_id": "text"
}
{
  "amount_sent": "text",
  "chain_id": 1,
  "claim_id": "text",
  "data": "text",
  "from": "text",
  "to": "text",
  "token_id": "text",
  "tx_hash": "text"
}

Claim all fees

post

Claims every token's whole fee balance on a chain for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Body
objectOptional
Responses
200

OK

application/json
amount_sentstringOptional
chain_idintegerOptional
claim_idstringOptional
datastringOptional

Data is the unsigned claim()/claimAll() calldata the partner signs from their claim address (From) to the distributor (To), value 0.

fromstringOptional
tostringOptional
token_idstringOptional
tx_hashstringOptional
post/partners/{partner_id}/fees/claim-all
POST /api/v1/partners/{partner_id}/fees/claim-all HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
{
  "amount_sent": "text",
  "chain_id": 1,
  "claim_id": "text",
  "data": "text",
  "from": "text",
  "to": "text",
  "token_id": "text",
  "tx_hash": "text"
}

Get partner metrics

get

Returns aggregated partner metrics for the given time range.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Query parameters
fromstringOptional

From date (RFC3339 or YYYY-MM-DD)

tostringOptional

To date (RFC3339 or YYYY-MM-DD)

Responses
200

OK

application/json
partner_idstringOptional
updated_atstringOptional

last time user updated (or us) his summuary (хранится в кэше, обновлять можно руками, можем сами)

get/partners/{partner_id}/metrics
GET /api/v1/partners/{partner_id}/metrics HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "deposits_usd": "text",
      "fees_earned_usd": "text",
      "strategy_id": "text",
      "users_count": 1,
      "withdrawals_usd": "text"
    }
  ],
  "partner_id": "text",
  "updated_at": "text"
}

Get partner policy

get

Returns the active policy for a partner.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Responses
200

OK

application/json
allow_strategy_idsstring[]Optional
allowed_category_idsstring[]Optional
allowed_chain_idsstring[]Optional
deny_strategy_idsstring[]Optional
max_risk_levelstringOptional
min_ratestringOptional
min_tvl_usdstringOptional
rate_typestringOptional
updated_atstringOptional
get/partners/{partner_id}/policy
GET /api/v1/partners/{partner_id}/policy HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "allow_strategy_ids": [
    "text"
  ],
  "allowed_category_ids": [
    "text"
  ],
  "allowed_chain_ids": [
    "text"
  ],
  "deny_strategy_ids": [
    "text"
  ],
  "fees_policies": {
    "common_fee": "text",
    "strategies_fee": [
      {
        "partner_fee_preference": "text",
        "strategy_id": "text"
      }
    ]
  },
  "max_risk_level": "text",
  "min_rate": "text",
  "min_tvl_usd": "text",
  "rate_type": "text",
  "updated_at": "text"
}

Update partner policy

put

Replaces the partner policy.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Body
allow_strategy_idsstring[]Optional
allowed_category_idsstring[]Optional
allowed_chain_idsstring[]Optional
deny_strategy_idsstring[]Optional
max_risk_levelstringOptional
min_ratestringOptional
min_tvl_usdstringOptional
rate_typestringOptional
updated_atstringOptional
Responses
200

OK

application/json
messagestringOptional
put/partners/{partner_id}/policy
PUT /api/v1/partners/{partner_id}/policy HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 335

{
  "allow_strategy_ids": [
    "text"
  ],
  "allowed_category_ids": [
    "text"
  ],
  "allowed_chain_ids": [
    "text"
  ],
  "deny_strategy_ids": [
    "text"
  ],
  "fees_policies": {
    "common_fee": "text",
    "strategies_fee": [
      {
        "partner_fee_preference": "text",
        "strategy_id": "text"
      }
    ]
  },
  "max_risk_level": "text",
  "min_rate": "text",
  "min_tvl_usd": "text",
  "rate_type": "text",
  "updated_at": "text"
}
{
  "message": "text"
}

Get partner summary

get

Returns summary stats for a partner for the given time range.

Authorizations
AuthorizationstringRequired

Admin key for privileged operations (create/edit/delete).

Path parameters
partner_idstringRequired

Partner ID

Query parameters
fromstringOptional

From date (RFC3339 or YYYY-MM-DD)

tostringOptional

To date (RFC3339 or YYYY-MM-DD)

Responses
200

OK

application/json
deposits_usdstringOptional
fees_earned_usdstringOptional
fromstringOptional
partner_idstringOptional
tostringOptional
updated_atstringOptional

last time user updated (or us) his summuary (хранится в кэше, обновлять можно руками, можем сами)

users_countintegerOptional
withdrawals_usdstringOptional
get/partners/{partner_id}/summary
GET /api/v1/partners/{partner_id}/summary HTTP/1.1
Host: core-dev.yifi.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "deposits_usd": "text",
  "fees_earned_usd": "text",
  "from": "text",
  "partner_id": "text",
  "to": "text",
  "updated_at": "text",
  "users_count": 1,
  "withdrawals_usd": "text"
}

Last updated

Was this helpful?