Web API (v1)
Download OpenAPI specification:Download
ApiKey
To ensure secure access to our REST API, you need to authenticate your requests with an API key. To generate your API key, visit the page API in the dashboard. Include the API key in the header X-Api-Key
on your HTTP requests.
The following example uses cURL to get a snapshot using the GET /snapshots/{snapshotId}
endpoint:
curl --request GET \
--url 'https://api.metamask-institutional.io/snapshots/{snapshotId}' \
--header 'X-Api-Key: <APIKEY>'
You can use any programming language:
import axios from "axios";
const options = {
method: 'GET',
url: 'https://api.metamask-institutional.io/snapshots/{snapshotId}',
headers: {'X-Api-Key': '<APIKEY>'}
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
- Do not share your API key. Treat it like a password.
- If you lost your API key, rotate it via the page API in the dashboard.
- If you believe your API key has been compromised, rotate it via the page API in the dashboard.
- Failure to include the API key in your requests will result in an authentication error.
X-Api-Key
Excessive Web API requests in a short duration may trigger a 429 error response from MetaMask Institutional, indicating that your API key has hit our rate limit. We enforce these limits to ensure the stability of our API.
Our API rate limit is determined by the number of calls your application makes within a rolling 1-second window. Exceeding this limit will result in 429 error responses, potentially leading to unexpected behavior in your application. The limit varies based on your MetaMask Institutional subscription.
Throttling is an effective strategy to ensure your application stays within the rate limits. It involves limiting the number of API requests your application can make in a given amount of time. This can be achieved by implementing a delay between requests or queuing requests and processing them at a fixed rate.
There are several libraries available that can help you implement throttling in your application:
- For Node.js, consider using the Bottleneck library. It's a powerful, easy-to-use rate limiter that you can use to control the rate of API requests.
- For Python, you might want to use ratelimiter, which offers a simple and flexible rate limiting implementation.
- For Java, Bucket4j is a powerful library that supports multiple rate limiting algorithms.
- For Ruby, ratelimit is a straightforward rate limiter that's easy to integrate into any application.
Remember, the key to successful throttling is to balance between staying within the rate limits and providing a smooth user experience.
Each API key on the MetaMask Institutional Web API is subject to a monthly quota, which is determined by your subscription level. For example, an API key may be allocated a quota of 1,000 requests per month.
At the commencement of each new month, the usage count is reset to zero, providing a fresh quota for the month ahead.
It's important to note that even after reaching the monthly quota, the API key remains active. You can continue to make requests using the same API key. However, any requests beyond the quota will incur additional charges, referred to as overage fees. Please review your subscription details for information on these fees.
If you have any questions or run into any issues while using the MetaMask Institutional Web API, you can find help in the MetaMask Institutional Knowledge Base, or Contact Support to get in touch with our support team.
By using MetaMask Institutional Web API, you accept the Terms and Conditions.
Manage your MMI account.
Addresses saved in the account are included in automatic
snapshots and have their transaction history monitored. Addresses involved
in transactions the customer made through the MMI extension are
automatically added to this list. Additionally, customers have the option
to append addresses by utilizing the endpoint PUT /account/addresses
.
You don't need to own the signing keys of an address to save it in your account.
Get Addresses
Retrieves a list of blockchain addresses saved in the current customer's account.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- Python
curl --request GET \ --url https://api.metamask-institutional.io/account/addresses \ --header 'X-Api-Key: <APIKEY>'
Response samples
- 200
- 401
- 403
[- {
- "id": "f32e96af-9a91-4c3b-938a-42f3df18e270",
- "namespace": "eip155:1",
- "address": "0xC71E8d9c352512540A94a0b85582a96f82aC7b4e",
- "name": "My Address 1",
- "hidden": false,
- "custodian": {
- "environment": "string",
- "displayName": "Sample Custodian"
}, - "createdAt": "2023-12-11T14:30:10.960Z",
- "updatedAt": "2024-02-28T10:39:48.150Z"
}
]
Get Current AUD
Fetch the current portoflio valuation, in US Dollars of the customer.
The valuation at the specified date is determined by valuing all assets within the customer's addresses. Including, the dollar value of any token assets, NFT dollar floor prices, dollar value of any DeFi assets (less the dollar value of any DeFi debts), dollar value of any rewards or other accruals, and the dollar value of staking positions and staking rewards.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- Python
curl --request GET \ --url https://api.metamask-institutional.io/account/aud \ --header 'X-Api-Key: <APIKEY>'
Response samples
- 200
- 401
- 403
{- "total": 0,
- "tokenBalances": 0,
- "deFiPositions": 0,
- "nftCollections": 0
}
Remove Several Addresses
Remove one or more blockchain addresses from the customer's account in a single request. Useful to clean up addresses that are no longer needed or were added erroneously.
Important: Removal of addresses from the account will exclude them from future automatic snapshots.
Authorizations:
Request Body schema: application/jsonrequired
address | string (Caip10AccountId) Represents a blockchain account using the CAIP-10 format, as defined in the
CAIP-10
standard.
The format is
Supported namespaces and references include:
Note: Adding a new address in the format |
Responses
Request samples
- Payload
- cURL
- JavaScript
- Python
[- {
- "address": "eip155:1:0xC71E8d9c352512540A94a0b85582a96f82aC7b4e"
}
]
Response samples
- 204
- 400
- 401
- 403
{- "statusCode": 204,
- "message": "No Content"
}
Save Several Addresses
Save new blockchain addresses to the customer's account or
update details of existing addresses. This endpoint accepts a list of
address objects. Each object can represent a new address to be added or
updates to an existing address, such as changing its name
or visibility
(hidden
attribute).
This endpoint supports the following operations:
Saving New Addresses: Submit address objects with unique
address
not previously associated with the customer's account.Updating Existing Addresses: To update an address, submit an address object with the same
address
as an existing entry. Modify thename
and/orhidden
fields as desired.
Authorizations:
Request Body schema: application/jsonrequired
address | string (Caip10AccountId) Represents a blockchain account using the CAIP-10 format, as defined in the
CAIP-10
standard.
The format is
Supported namespaces and references include:
Note: Adding a new address in the format |
hidden | boolean Sets whether the entity is hidden from the Portfolio Dashboard views. |
name | string or null Sets a human-readable name for the entity. |
Responses
Request samples
- Payload
- cURL
- JavaScript
- Python
[- {
- "address": "eip155:1:0xC71E8d9c352512540A94a0b85582a96f82aC7b4e",
- "name": "My Address 1",
- "hidden": false
}
]
Response samples
- 200
- 400
- 401
- 403
[- {
- "id": "f32e96af-9a91-4c3b-938a-42f3df18e270",
- "namespace": "eip155:1",
- "address": "0xC71E8d9c352512540A94a0b85582a96f82aC7b4e",
- "name": "My Address 1",
- "hidden": false,
- "custodian": {
- "environment": "string",
- "displayName": "Sample Custodian"
}, - "createdAt": "2023-12-11T14:30:10.960Z",
- "updatedAt": "2024-02-28T10:39:48.150Z"
}
]
Get Positions / Get Profits
A JSON-RPC endpoint that supports two distinct methods:
- Get Positions: Get a structured overview of the open DeFi positions linked to the specified address, at current time or at specific past block. In the JSON body, use
{ "method": "positions", ... }
. - Get Profits: Get a structured overview of performance (%) and USD profits of the specified address' DeFi positions, at current time or at specific past block. In the JSON body, use
{ "method": "profits", ... }
.
The information is provided from a routinely refreshed cache. To insistently retrieve the most recent data, include the flag { "ignoreCache": true }
.
Authorizations:
Request Body schema: application/jsonrequired
ignoreCache | boolean Default: false Optionally set this flag to |
method required | string Value: "positions" The JSON-RPC method. Must be "positions". |
required | object |
Responses
Request samples
- Payload
- cURL
- JavaScript
- Python
{- "method": "positions",
- "params": {
- "userAddress": "0x47ab2ba28c381011fa1f25417c4c2b2c0d5b4781",
- "filterProtocolIds": [
- "aave-v2"
], - "filterProductIds": [
- "string"
], - "filterChainIds": [
- 1
], - "blockNumbers": {
- "1": 18982865,
- "10": 114683740,
- "56": 35147795,
- "137": 52193595,
- "250": 74064840,
- "8453": 9088502,
- "42161": 169326747,
- "43114": 12885796,
- "59144": 1609374
}, - "filterProtocolTokens": [
- "0x9ff58f4ffb29fa2266ab25e75e2a8b3503311656"
]
}, - "ignoreCache": false
}
Response samples
- 200
- 401
- 403
{- "createdAt": "2024-01-12T08:25:56.455Z",
- "updatedAt": "2024-01-12T08:25:56.455Z",
- "data": [
- {
- "protocolId": "compound-v2",
- "name": "CompoundV2",
- "description": "CompoundV2 borrow market adapter",
- "positionType": "lend",
- "chainId": 1,
- "productId": "pool",
- "error": { },
- "chainName": "string",
- "tokens": [
- {
- "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
- "name": "Dai Stablecoin",
- "symbol": "DAI",
- "decimals": 18,
- "balanceRaw": "5000000000000000000",
- "tokens": [
- {
- "type": "protocol",
- "priceRaw": "1000000000000000000",
- "address": "0x6B175474E89094C44Da98b954EedeAC495271d0F",
- "name": "Dai Stablecoin",
- "symbol": "DAI",
- "decimals": 18,
- "balanceRaw": "5000000000000000000",
- "tokens": [
- null
], - "balance": 1500.5,
- "price": 1,
}
], - "type": "protocol",
- "tokenId": "12345",
- "balance": 2000.5,
- "price": 1
}
], - "success": false
}
]
}
Retrieve valuations of your assets at specific times across your addresses.
The scope of each snapshot is determined by its creation method:
- Automatically Created: Covers all addresses saved in the customer's account.
- Manually Created: Covers the addresses passed in the
POST /snapshots
request body.
Create Snapshot
Initiate the creation of a new snapshot. Please note that the exact timing of the snapshot creation is not guaranteed. This is because the request is queued and processed asynchronously.
Responds with the ID of the snapshot to be created.
After this request responded successfully, wait some time for the snapshot to be created, and query the endpoint GET /snapshots/{snapshotId}
to get its content. It typically takes between a few seconds and a few minutes, depending on how busy the queue is.
Snapshot data is cached for a period of 1 hour. This means that repeated requests within this timeframe will create new snapshots with the same data. After the cache period expires, a new request will create a snapshot with fresh data.
Authorizations:
Request Body schema: application/jsonoptional
addresses | Array of strings An optional array of Blockchain addresses. Limits the scope of the snapshot to this list of addresses, instead of all the addresses saved in the customer's account. When empty, defaults to all the addresses saved in the customer's account. Every address must be part of the addresses saved in the customer's account. Every address must be valid for one of EVM,Solana,Bitcoin. |
Responses
Request samples
- Payload
- cURL
- JavaScript
- Python
{- "addresses": [
- "0xC71E8d9c352512540A94a0b85582a96f82aC7b4e",
- "8ye1k4uMM5NDAAK6ntpe37BSTvNWRdsfbJTMz1GmSPF9"
]
}
Response samples
- 201
- 400
- 401
- 403
{- "id": "94b2a0cf-5bb2-4bfd-8bc3-9aa48bbfa4ec"
}
Get Snapshot
Get a comprehensive overview of the customer's portfolio's positions and valuations at a given time. Includes token balances, DeFi positions and NFT collections. The snapshot IDs can be found using the endpoint GET /snapshots
.
The endpoint can return data in various MIME types:
- To get data as JSON, do not set the header
Accept
, or set it toAccept: application/json
orAccept: */*
- To download as a binary .xlsx file, set the header
Accept: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Authorizations:
path Parameters
snapshotId required | string |
query Parameters
currency | string Example: currency=usd The currency to get the price values in. |
Responses
Request samples
- cURL
- JavaScript
- Python
curl --request GET \ --url 'https://api.metamask-institutional.io/snapshots/{snapshotId}currency=usd' \ --header 'X-Api-Key: <APIKEY>'
Response samples
- 200
- 400
- 401
- 403
- 404
{- "id": "af261deb-1b94-4fb8-a713-6afaa438849e",
- "addresses": [
- {
- "id": "0237f6b2-24c2-4a0c-9c66-c55a4fc780a5",
- "address": "0xca8f1F0245530118D0cf14a06b01Daf8f76Cf281",
- "namespace": "eip155:1",
- "name": "Custody Account A"
}, - {
- "id": "81b5ca0a-5a76-46dc-8b32-fa8475422ff5",
- "address": "0x49b87eD3E3a47fbCb7ccC961a084b3544f9b59dF",
- "namespace": "eip155:1",
- "name": "Custody Account B"
}, - {
- "id": "6e937fed-e1ce-4dfe-b2e8-74860fd3390e",
- "address": "0x27986E3fc18746c518aE43534ea94F8b7a71FDF4",
- "namespace": "eip155:1",
- "name": "Custody Account C"
}
], - "cefiAccounts": [
- {
- "id": "646d3b99-acd0-42fd-94f1-bdd8b4278aac",
- "idAtPlatform": "93e0dda7d8e384d06b62d86c60ed0b8c8b84c575:Margin",
- "name": "Binance International Margin Account",
- "platformName": "Binance API",
- "platformIcon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFwSURBVHgB3VQ9T8MwEL0EUgWK1GzdOsDMxk+APayoqFk7dc3WzjCUiX8BWboww8JUiT9gdWMrDAwIIffOiavU8Ueabn3Skxwnee98dz6AfUeEHCEzJEPygqzYG8AOiJHLkqiJrInRQw1hlZO64pMG4pJTl3hiE0hvWzztt1wmsc2A2cS/XtqCDhOqWyQFD5ToE50rikPaD+D7h8PvH8DlBf3mwdvHv+7zEPmJfFdfZLqIhteBiHrxfMzPz3xBWtPezdWh6RSZznmufthpe7xz4vHZfSiExTOS1rRH617XM7VuBZWcL54w6lN/bfb6eCRIa9qTpzHURMAHIzilOSfA5lobmxuVDup187TM7kJxEkqXmiJ5GoVznYG2yFRIUeQiXeUiD+PtijwC4x0I1iZSHNvWdhcGOgO6HEuXSQ1xBhbEYB0VgUvcGH0ZU4eAjWOoiXEDceckVZGAZfjB5nCLYQckkLddeZSwYo86L4K9xgp0slfc59YTYgAAAABJRU5ErkJggg==",
- "platformType": "binanceInternational"
}, - {
- "id": "999f3391-412c-4dec-adb4-832e779afe81",
- "idAtPlatform": "93e0dda7d8e384d06b62d86c60ed0b8c8b84c575:Spot",
- "name": "Binance International Spot Account",
- "platformName": "Binance API",
- "platformIcon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFwSURBVHgB3VQ9T8MwEL0EUgWK1GzdOsDMxk+APayoqFk7dc3WzjCUiX8BWboww8JUiT9gdWMrDAwIIffOiavU8Ueabn3Skxwnee98dz6AfUeEHCEzJEPygqzYG8AOiJHLkqiJrInRQw1hlZO64pMG4pJTl3hiE0hvWzztt1wmsc2A2cS/XtqCDhOqWyQFD5ToE50rikPaD+D7h8PvH8DlBf3mwdvHv+7zEPmJfFdfZLqIhteBiHrxfMzPz3xBWtPezdWh6RSZznmufthpe7xz4vHZfSiExTOS1rRH617XM7VuBZWcL54w6lN/bfb6eCRIa9qTpzHURMAHIzilOSfA5lobmxuVDup187TM7kJxEkqXmiJ5GoVznYG2yFRIUeQiXeUiD+PtijwC4x0I1iZSHNvWdhcGOgO6HEuXSQ1xBhbEYB0VgUvcGH0ZU4eAjWOoiXEDceckVZGAZfjB5nCLYQckkLddeZSwYo86L4K9xgp0slfc59YTYgAAAABJRU5ErkJggg==",
- "platformType": "binanceInternational"
}
], - "accountBundles": [
- {
- "id": "284a0d2b-42c4-4f5e-960f-6bff1ddf0ecd",
- "name": "My Bundle 1",
- "accounts": [
- {
- "id": "0237f6b2-24c2-4a0c-9c66-c55a4fc780a5"
}, - {
- "id": "6e937fed-e1ce-4dfe-b2e8-74860fd3390e"
}
]
}
], - "createdAt": "2024-08-27T11:48:41+02:00",
- "creationMode": "manual",
- "customer": {
- "name": "Digital Asset Ventures"
}, - "data": {
- "tokenBalances": [
- {
- "accountAddress": "0x49b87eD3E3a47fbCb7ccC961a084b3544f9b59dF",
- "object": "token",
- "chainId": 137,
- "address": "0x7ceb23fd6bc0add59e62ac25578270cff1b9f619",
- "name": "Wrapped Ether",
- "symbol": "WETH",
- "balance": "0.005298290360074514",
- "value": {
- "currency": "usd",
- "price": 2670.84
}
}, - {
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "object": "token",
- "chainId": 59144,
- "address": "0xb97f21d1f2508ff5c73e7b5af02847640b1ff75d",
- "name": "LineaBank Token",
- "symbol": "LAB",
- "balance": "130.96631469258307",
- "value": {
- "currency": "usd",
- "price": 0.034561010122596096
}
}, - {
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "object": "token",
- "chainId": 59144,
- "address": "0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
- "name": "Wrapped Ether",
- "symbol": "WETH",
- "balance": "0.000004039452878022",
- "value": {
- "currency": "usd",
- "price": 2670.84
}
}, - {
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "object": "token",
- "chainId": 59144,
- "address": "0x0000000000000000000000000000000000000000",
- "name": "ETH",
- "symbol": "ETH",
- "balance": "0.000510820088681029",
- "value": {
- "currency": "usd",
- "price": 2670.84
}
}, - {
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "object": "token",
- "chainId": 1,
- "address": "0x6b175474e89094c44da98b954eedeac495271d0f",
- "name": "Dai Stablecoin",
- "symbol": "DAI",
- "balance": "13.5658877",
- "value": {
- "currency": "usd",
- "price": 0.9998
}
}, - {
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "object": "token",
- "chainId": 1,
- "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
- "name": "USD Coin",
- "symbol": "USDC",
- "balance": "0.627198",
- "value": {
- "currency": "usd",
- "price": 0.9999000099990001
}
}, - {
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "object": "token",
- "chainId": 1,
- "address": "0x0000000000000000000000000000000000000000",
- "name": "ETH",
- "symbol": "ETH",
- "balance": "0.002485313373521565",
- "value": {
- "currency": "usd",
- "price": 2670.01
}
}
], - "defiPositions": {
- "data": [
- {
- "name": "Aave V2",
- "protocolType": "Staked",
- "protocolId": "aave2",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 1,
- "supplyMarketValue": 637.8953562269754,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/1/aave2/0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
- "object": "Asset",
- "name": "Aave Token",
- "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
- "symbol": "AAVE",
- "decimals": 18,
- "balance": 4.907434672844944,
- "marketValue": 637.8953562269754,
- "underlying": [
- {
- "object": "Asset",
- "name": "Aave Token",
- "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
- "symbol": "AAVE",
- "decimals": 18,
- "balance": 4.907434672844944,
- "marketValue": 637.8953562269754,
- "value": {
- "price": 129.98550133672467
}
}
]
}
], - "rewards": [
- {
- "object": "Asset",
- "name": "Aave Token",
- "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9",
- "symbol": "AAVE",
- "decimals": 18,
- "balance": 0.2443776017386469,
- "value": {
- "price": 129.98550133672467
}
}
], - "rewardsMarketValue": 31.765545077464456
}, - {
- "name": "EigenLayer",
- "protocolType": "Liquidity Provision",
- "protocolId": "eigenlayer",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 1,
- "supplyMarketValue": 2397.176469334128,
- "borrowMarketValue": 0,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/1/eigenlayer/0x1bee69b7dfffa4e2d53c2a2df135c388ad25dcd2",
- "object": "Asset",
- "name": "ETH",
- "address": "0x1bee69b7dfffa4e2d53c2a2df135c388ad25dcd2",
- "symbol": "ETH",
- "marketValue": 2397.176469334128,
- "underlying": [
- {
- "object": "Token",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 0.8978155397673145,
- "marketValue": 2397.176469334128,
- "value": {
- "price": 2670.01
}
}
]
}
], - "borrow": [ ],
- "rewards": [ ],
- "rewardsMarketValue": 0
}, - {
- "name": "EigenLayer",
- "protocolType": "Liquidity Provision",
- "protocolId": "eigenlayer",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 1,
- "supplyMarketValue": 9262.209686101702,
- "borrowMarketValue": 0,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/1/eigenlayer/0x93c4b944d05dfe6df7645a86cd2206016c51564d",
- "object": "Asset",
- "name": "Liquid staked Ether 2.0",
- "address": "0x93c4b944d05dfe6df7645a86cd2206016c51564d",
- "symbol": "Liquid staked Ether 2.0",
- "marketValue": 9262.209686101702,
- "underlying": [
- {
- "object": "Token",
- "name": "Liquid staked Ether 2.0",
- "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84",
- "symbol": "stETH",
- "decimals": 18,
- "balance": 3.4696587206479417,
- "marketValue": 9262.209686101702,
- "value": {
- "price": 2669.4872412039504
}
}
]
}
], - "borrow": [ ],
- "rewards": [ ],
- "rewardsMarketValue": 0
}, - {
- "name": "ether.fi",
- "protocolType": "Staked",
- "protocolId": "etherfi",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 1,
- "supplyMarketValue": 669.5763566790667,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/1/etherfi/0x0000000000000000000000000000000000000000",
- "object": "Asset",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 0.25077672243889226,
- "marketValue": 669.5763566790667,
- "underlying": [
- {
- "object": "Asset",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 0.25077672243889226,
- "marketValue": 669.5763566790667,
- "value": {
- "price": 2670.01
}
}
]
}
], - "rewards": [ ],
- "rewardsMarketValue": 0
}, - {
- "name": "LIDO",
- "protocolType": "Staked",
- "protocolId": "lido",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 1,
- "supplyMarketValue": 3310.710222390042,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/1/lido/0x0000000000000000000000000000000000000000",
- "object": "Asset",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 1.2399617313755535,
- "marketValue": 3310.710222390042,
- "underlying": [
- {
- "object": "Asset",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 1.2399617313755535,
- "marketValue": 3310.710222390042,
- "value": {
- "price": 2670.01
}
}
]
}
], - "rewards": [ ],
- "rewardsMarketValue": 0
}, - {
- "name": "LIDO",
- "protocolType": "Staked",
- "protocolId": "lido",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 1,
- "supplyMarketValue": 2.6700100000000006e-15,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/1/lido/0x0000000000000000000000000000000000000000",
- "object": "Asset",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 1e-18,
- "marketValue": 2.6700100000000006e-15,
- "underlying": [
- {
- "object": "Asset",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 1e-18,
- "marketValue": 2.6700100000000006e-15,
- "value": {
- "price": 2670.01
}
}
]
}
], - "rewards": [ ],
- "rewardsMarketValue": 0
}, - {
- "name": "Beefy",
- "protocolType": "Liquidity Provision",
- "protocolId": "linea_beefy",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 59144,
- "supplyMarketValue": 846.7148189659056,
- "borrowMarketValue": 0,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/59144/linea_beefy/0x3d80b49fc4dc9e450efac1bd34cdeb2f303c2e81",
- "object": "Asset",
- "name": "ETH",
- "address": "0x3d80b49fc4dc9e450efac1bd34cdeb2f303c2e81",
- "symbol": "ETH",
- "marketValue": 846.7148189659056,
- "underlying": [
- {
- "object": "Token",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 0.3170219178108406,
- "marketValue": 846.7148189659056,
- "value": {
- "price": 2670.84
}
}
]
}
], - "borrow": [ ],
- "rewards": [ ],
- "rewardsMarketValue": 0
}, - {
- "name": "LayerBank",
- "protocolType": "Locked",
- "protocolId": "linea_lineabank",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 59144,
- "supplyMarketValue": 6.22014459425027,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/59144/linea_lineabank/0xb97f21d1f2508ff5c73e7b5af02847640b1ff75d",
- "object": "Asset",
- "name": "LineaBank Token",
- "address": "0xb97f21d1f2508ff5c73e7b5af02847640b1ff75d",
- "symbol": "LAB",
- "decimals": 18,
- "balance": 179.97577536611178,
- "marketValue": 6.22014459425027,
- "underlying": [
- {
- "object": "Asset",
- "name": "LineaBank Token",
- "address": "0xb97f21d1f2508ff5c73e7b5af02847640b1ff75d",
- "symbol": "LAB",
- "decimals": 18,
- "balance": 179.97577536611178,
- "marketValue": 6.22014459425027,
- "value": {
- "price": 0.034561010122596096
}
}
]
}
], - "rewardsMarketValue": 0
}, - {
- "name": "Mendi Finance",
- "protocolType": "Lending & Borrowing",
- "protocolId": "linea_mendi",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 59144,
- "supplyMarketValue": 993.0764156393867,
- "borrowMarketValue": 0,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/59144/linea_mendi/0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
- "object": "Asset",
- "name": "Wrapped Ether",
- "address": "0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
- "symbol": "WETH",
- "decimals": 18,
- "balance": 0.37182175481847907,
- "marketValue": 993.0764156393867,
- "underlying": [
- {
- "object": "Asset",
- "name": "Wrapped Ether",
- "address": "0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
- "symbol": "WETH",
- "decimals": 18,
- "balance": 0.37182175481847907,
- "marketValue": 993.0764156393867,
- "value": {
- "price": 2670.84
}
}
]
}
], - "borrow": [ ]
}, - {
- "name": "Stargate",
- "protocolType": "Liquidity Provision",
- "protocolId": "linea_stargate",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 59144,
- "supplyMarketValue": 393.681816,
- "borrowMarketValue": 0,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/59144/linea_stargate/0x23a46efda973bd4e97ee84bac87018537538d078",
- "object": "Asset",
- "name": "ETH",
- "address": "0x23a46efda973bd4e97ee84bac87018537538d078",
- "symbol": "ETH",
- "marketValue": 393.681816,
- "underlying": [
- {
- "object": "Token",
- "name": "ETH",
- "address": "0x0000000000000000000000000000000000000000",
- "symbol": "ETH",
- "decimals": 18,
- "balance": 0.1474,
- "marketValue": 393.681816,
- "value": {
- "price": 2670.84
}
}
]
}
], - "borrow": [ ],
- "rewards": [ ],
- "rewardsMarketValue": 0
}, - {
- "name": "ZeroLend",
- "protocolType": "Lending & Borrowing",
- "protocolId": "linea_zerolend",
- "description": "No description",
- "accountAddress": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f",
- "chainId": 59144,
- "supplyMarketValue": 1074.9338217244629,
- "borrowMarketValue": 0,
- "supply": [
- {
- "id": "0x3130D2b8cbf0798bb1cBf2a4F527dBaE953FF27f/59144/linea_zerolend/0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
- "object": "Asset",
- "name": "Wrapped Ether",
- "address": "0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
- "symbol": "WETH",
- "decimals": 18,
- "balance": 0.4024703171004114,
- "marketValue": 1074.9338217244629,
- "underlying": [
- {
- "object": "Asset",
- "name": "Wrapped Ether",
- "address": "0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
- "symbol": "WETH",
- "decimals": 18,
- "balance": 0.4024703171004114,
- "marketValue": 1074.9338217244629,
- "value": {
- "price": 2670.84
}
}
]
}
], - "borrow": [ ]
}
]
}, - "nftCollections": [
- {
- "id": "0xabef19a5Cb082D0e512eB28363B1229B25BaB9a7/42161/0x22799DAA45209338B7f938edf251bdfD1E6dCB32/10484",
- "symbol": "GOEFS",
- "address": "0x22799DAA45209338B7f938edf251bdfD1E6dCB32",
- "tokenId": "10484",
- "metadata": {
- "name": "General Open-end Fund Share #10484",
- "slot": "5310353805259224968786693768403624884928279211848504288200646724372830798580",
- "image": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAwIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDYwMCA0MDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjYwMCIgaGVpZ2h0PSI0MDAiIHJ4PSIyMCIgZmlsbD0id2hpdGUiIC8+PHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSI1OTkiIGhlaWdodD0iMzk5IiByeD0iMjAiIHN0cm9rZT0iI0Y5RjlGOSIgLz48bWFzayBpZD0ibV8zNTI1XzEiIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjMwMCIgeT0iMCIgd2lkdGg9IjMwMCIgaGVpZ2h0PSI0MDAiPjxwYXRoIGQ9Ik0zMDAgMEg1ODBDNTkwIDAgNjAwIDggNjAwIDIwVjM4MEM2MDAgMzkyIDU5MCA0MDAgNTgwIDQwMEgzMDBWMFoiIGZpbGw9IndoaXRlIiAvPjwvbWFzaz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9InBfMzUyNV8xIiB4MT0iNDEwIiB5MT0iNDAiIHgyPSIzNjAiIHkyPSIxNDAiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjNTk0MERBIiAvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0I4NkNGMiIgLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0icF8zNTI1XzIiIHgxPSI1ODUiIHkxPSIxMjUiIHgyPSI0NjAiIHkyPSItMTQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBzdG9wLWNvbG9yPSIjNTk0MERBIiAvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0I4NkNGMiIgLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0icF8zNTI1XzMiIHgxPSIzMTUiIHkxPSIyMDAiIHgyPSI0NDAiIHkyPSI2NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM1OTQwREEiIC8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQjg2Q0YyIiAvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJwXzM1MjVfNCIgeDE9IjQ5MCIgeTE9IjEyMCIgeDI9IjU0MCIgeTI9IjIyMCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM1OTQwREEiIC8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQjg2Q0YyIiAvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJwXzM1MjVfNSIgeDE9IjQxMCIgeTE9IjE5NSIgeDI9IjM2MCIgeTI9IjMwMCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM1OTQwREEiIC8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQjg2Q0YyIiAvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJwXzM1MjVfNiIgeDE9IjU4NSIgeTE9IjI4MCIgeDI9IjQ2MCIgeTI9IjE0MCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM1OTQwREEiIC8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQjg2Q0YyIiAvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJwXzM1MjVfNyIgeDE9IjMxNSIgeTE9IjM2MCIgeDI9IjQ0MCIgeTI9IjIyMCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM1OTQwREEiIC8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQjg2Q0YyIiAvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJwXzM1MjVfOCIgeDE9IjQ5MCIgeTE9IjI3MCIgeDI9IjU0MCIgeTI9IjM3NSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIHN0b3AtY29sb3I9IiM1OTQwREEiIC8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjQjg2Q0YyIiAvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxnIG1hc2s9InVybCgjbV8zNTI1XzEpIj48cmVjdCB4PSIzMDAiIHdpZHRoPSIzMDAiIGhlaWdodD0iNDAwIiBmaWxsPSIjNDEzMjhFIiAvPjxjaXJjbGUgY3g9IjM2NyIgY3k9IjgzIiByPSIzNSIgZmlsbD0idXJsKCNwXzM1MjVfMSkiPjwvY2lyY2xlPjxwYXRoIGQ9Ik00NDQgNDhBMzUgMzUgMCAwIDAgNDQ0IDExOEg1MzNBIDM1IDM1IDAgMCAwIDUzMyA0OFoiIGZpbGw9InVybCgjcF8zNTI1XzIpIiAvPjxwYXRoIGQ9Ik0zNjcgMTI2QTM1IDM1IDAgMCAwIDM2NyAxOTZINDU2QSAzNSAzNSAwIDAgMCA0NTYgMTI2WiIgZmlsbD0idXJsKCNwXzM1MjVfMykiIC8+PGNpcmNsZSBjeD0iNTMzIiBjeT0iMTYxIiByPSIzNSIgZmlsbD0idXJsKCNwXzM1MjVfNCkiPjwvY2lyY2xlPjxjaXJjbGUgY3g9IjM2NyIgY3k9IjIzOSIgcj0iMzUiIGZpbGw9InVybCgjcF8zNTI1XzUpIj48L2NpcmNsZT48cGF0aCBkPSJNNDQ0IDIwNEEzNSAzNSAwIDAgMCA0NDQgMjc0SDUzM0EgMzUgMzUgMCAwIDAgNTMzIDIwNFoiIGZpbGw9InVybCgjcF8zNTI1XzYpIiAvPjxwYXRoIGQ9Ik0zNjcgMjgyQTM1IDM1IDAgMCAwIDM2NyAzNTJINDU2QSAzNSAzNSAwIDAgMCA0NTYgMjgyWiIgZmlsbD0idXJsKCNwXzM1MjVfNykiIC8+PGNpcmNsZSBjeD0iNTMzIiBjeT0iMzE3IiByPSIzNSIgZmlsbD0idXJsKCNwXzM1MjVfOCkiPjwvY2lyY2xlPjwvZz48dGV4dCBmaWxsPSIjMjAyMDIwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTIiPjx0c3BhbiB4PSIyNiIgeT0iNjEiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSJib2xkIj5BTU9VTlQ8L3RzcGFuPjx0c3BhbiB4PSIyNiIgeT0iMTA4IiBmb250LXNpemU9IjM4IiBmb250LXdlaWdodD0iYm9sZCI+MC40MzM4NjM8L3RzcGFuPjx0c3BhbiB4PSIyNiIgeT0iMTQzIiBmb250LXNpemU9IjE0IiBmb250LXdlaWdodD0iYm9sZCIgZmlsbD0iIzQxMzI4RSI+R2VuZXJhbCBPcGVuLWVuZCBGdW5kIFNoYXJlPC90c3Bhbj48dHNwYW4geD0iMjYiIHk9IjE2MiI+IzEwNDg0PC90c3Bhbj48dHNwYW4geD0iMjYiIHk9IjMwMCI+RVNULiBWQUxVRTwvdHNwYW4+PHRzcGFuIHg9IjI2IiB5PSIzMjAiPk5BViBEQVRFPC90c3Bhbj48dHNwYW4geD0iMjUwIiB5PSIzMDAiIHRleHQtYW5jaG9yPSJlbmQiPjAuNDk5OTk5IFVTREM8L3RzcGFuPjx0c3BhbiB4PSIyNTAiIHk9IjMyMCIgdGV4dC1hbmNob3I9ImVuZCI+MjAyNC8wOC8xOTwvdHNwYW4+PHRzcGFuIHg9IjI2IiB5PSIzNjQiIGZvbnQtc2l6ZT0iNyI+SXNzdWVyOiAweGFmNDBlNTYyNWVjMmRiYmIzZDI2NTBhZmZhZTQ1NzE0OTgyOTdlZDI8L3RzcGFuPjx0c3BhbiB4PSIyNiIgeT0iMzc2IiBmb250LXNpemU9IjciPlVwZGF0ZWQ6IDIwMjQvMDgvMjEgMDk6MTQ6MjY8L3RzcGFuPjx0c3BhbiB4PSI0OTgiIHk9IjM3NiIgZm9udC1zaXplPSI3IiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjYiPlBvd2VyZWQgYnkgU29sdiBQcm90b2NvbDwvdHNwYW4+PC90ZXh0Pjwvc3ZnPg==",
- "balance": "433863948942890488",
- "properties": {
- "issuer": "0xaf40e5625ec2dbbb3d2650affae4571498297ed2",
- "currency": "0xaf88d065e77c8cc2239327c5edb3a432268e5831",
- "supervisor": "0x3eebfac5b51ff51c82f0856dad42750d581d7483"
}, - "description": ""
}, - "attribution": {
- "oat": {
- "usd": "null",
- "value": 0
}
}, - "transaction": {
- "usd": "null",
- "value": 0,
- "amount": 1,
- "symbol": "ETH"
}
}
], - "stakingPositions": [
- {
- "orgId": "org_C7B4TjkcsqmZ9VDj",
- "validators": [ ],
- "totalFeesEth": 0,
- "netRewardsEth": 0,
- "ethPriceDollar": 2683.0801154902983,
- "marketValueEth": 0,
- "amountStakedEth": 0,
- "grossRewardsEth": 0,
- "stakingProvider": {
- "name": "allnodes",
- "health": 1,
- "chainId": 17000,
- "details": {
- "id": "Allnodes",
- "tvl": 1066259.28251507,
- "fees": 10,
- "idType": "nodeOperator",
- "feeTiers": [
- {
- "lowerBound": 0,
- "upperBound": 4999,
- "valuePercent": 10
}, - {
- "lowerBound": 5000,
- "upperBound": 14999,
- "valuePercent": 10
}, - {
- "lowerBound": 15000,
- "upperBound": 29999,
- "valuePercent": 10
}, - {
- "lowerBound": 30000,
- "upperBound": 59999,
- "valuePercent": 10
}, - {
- "lowerBound": 60000,
- "upperBound": 100000,
- "valuePercent": 10
}
], - "avgUptime": 0.9971823595976346,
- "updatedAt": "2024-08-27T09:48:50.344Z",
- "timeWindow": "all",
- "displayName": "Allnodes",
- "operatorTags": [
- {
- "name": "operator",
- "path": "null",
- "idType": "null"
}
], - "aprPercentage": 1.99,
- "avgCorrectness": 0.9648026475245122,
- "validatorCount": 1000,
- "avgInclusionDelay": 1.2162704492096998,
- "clientPercentages": [
- {
- "client": "Teku",
- "percentage": 1
}
], - "nodeOperatorCount": 1,
- "networkPenetration": 0.0005397149641453901,
- "relayerPercentages": [
- {
- "relayer": "flashbots",
- "percentage": 0.03727714748784441
}, - {
- "relayer": "titan",
- "percentage": 0.005672609400324149
}, - {
- "relayer": "no_mev_boost",
- "percentage": 0.9570502431118314
}
], - "avgValidatorEffectiveness": 79.97909388921754
}, - "clientId": "Lg4rrZFIwPIDD5ee4X0ebSRijdX2rAj3",
- "displayName": "Allnodes",
- "isMultiCloud": true,
- "certification": "",
- "isMultiClient": false,
- "isMultiRegion": true,
- "ratedOperatorId": "Allnodes",
- "withdrawStrategy": "connector"
}, - "participationRate": 0,
- "slashingPenalties": 0,
- "currentFeeTierPercent": 10,
- "effectivenessRatingPercent": 0,
- "currentNetRewardsRatePercent": 0
}, - {
- "orgId": "org_C7B4TjkcsqmZ9VDj",
- "validators": [ ],
- "totalFeesEth": 0,
- "netRewardsEth": 0,
- "ethPriceDollar": 2683.0801154902983,
- "marketValueEth": 0,
- "amountStakedEth": 0,
- "grossRewardsEth": 0,
- "stakingProvider": {
- "name": "blockdaemon",
- "health": 1,
- "chainId": 17000,
- "details": {
- "id": "Blockdaemon",
- "tvl": 755248,
- "fees": 7,
- "idType": "nodeOperator",
- "feeTiers": [
- {
- "lowerBound": 0,
- "upperBound": 4999,
- "valuePercent": 7
}, - {
- "lowerBound": 5000,
- "upperBound": 14999,
- "valuePercent": 7
}, - {
- "lowerBound": 15000,
- "upperBound": 29999,
- "valuePercent": 7
}, - {
- "lowerBound": 30000,
- "upperBound": 59999,
- "valuePercent": 7
}, - {
- "lowerBound": 60000,
- "upperBound": "null",
- "valuePercent": 7
}
], - "avgUptime": 0.9993517237973043,
- "updatedAt": "2024-08-27T09:48:50.736Z",
- "timeWindow": "all",
- "displayName": "Blockdaemon",
- "operatorTags": [ ],
- "aprPercentage": 1.99,
- "avgCorrectness": 0.9599179067505043,
- "validatorCount": 1810,
- "avgInclusionDelay": 1.2302674610438933,
- "clientPercentages": [
- {
- "client": "Prysm",
- "percentage": 1
}
], - "nodeOperatorCount": 1,
- "networkPenetration": 0.0010723206203108189,
- "relayerPercentages": [
- {
- "relayer": "no_mev_boost",
- "percentage": 0.4110169491525424
}, - {
- "relayer": "flashbots",
- "percentage": 0.5889830508474576
}
], - "avgValidatorEffectiveness": 76.52760540033782
}, - "clientId": "pnc7ePFQVYlv4cL6TxMkyLBieXXVytNy",
- "displayName": "Blockdaemon",
- "isMultiCloud": true,
- "certification": "ISO 27001",
- "isMultiClient": true,
- "isMultiRegion": true,
- "ratedOperatorId": "Blockdaemon",
- "withdrawStrategy": "connector"
}, - "participationRate": 0,
- "slashingPenalties": 0,
- "currentFeeTierPercent": 7,
- "effectivenessRatingPercent": 0,
- "currentNetRewardsRatePercent": 0
}, - {
- "orgId": "org_C7B4TjkcsqmZ9VDj",
- "validators": [
- {
- "index": 3,
- "pubKey": "0xa1eea60a34ac0e29a85f57f425c3314c9b3ebc68435aec8c1038cb3f6f6d692a61f4e9971c13df98dbae80199300944c",
- "status": "active_ongoing",
- "depositor": "0xca8f1F0245530118D0cf14a06b01Daf8f76Cf281",
- "feesSspEth": 0.00011115272,
- "feeRecipient": "0xca8f1F0245530118D0cf14a06b01Daf8f76Cf281",
- "netRewardsEth": 0.0012782562800000001,
- "amountStakedEth": 32,
- "grossRewardsEth": 0.001389409,
- "transactionHash": "0x2626d8e708a8dedd9ac2125b4e86f30cf25f7210c2b2733673128a08bb631901",
- "participationRate": 1,
- "slashingPenalties": 0,
- "estimatedActiveDate": "null",
- "stakingProviderName": "consensys-staking",
- "estimatedWithdrawnDate": "null",
- "effectivenessRatingPercent": "null",
- "currentNetRewardsRatePercent": 1.4580110693750001
}, - {
- "index": 1,
- "pubKey": "0xa217812945d65969fd9f2b52e0586bd0a724cadad6d6e41e295920105700395554d63e33dec2db4f3335da1b3d5ec40b",
- "status": "active_ongoing",
- "depositor": "null",
- "feesSspEth": 0.00011030216000000001,
- "feeRecipient": "0xca8f1F0245530118D0cf14a06b01Daf8f76Cf281",
- "netRewardsEth": 0.00126847484,
- "amountStakedEth": 32,
- "grossRewardsEth": 0.001378777,
- "transactionHash": "null",
- "participationRate": 1,
- "slashingPenalties": 0,
- "estimatedActiveDate": "null",
- "stakingProviderName": "consensys-staking",
- "estimatedWithdrawnDate": "null",
- "effectivenessRatingPercent": "null",
- "currentNetRewardsRatePercent": 1.446854114375
}, - {
- "index": 2,
- "pubKey": "0x930263991093d365147a915a9eb574c122ee10b12ce2f07b307cafffce11ff030259b9567bc967f028de81cd4996ad4d",
- "status": "active_ongoing",
- "depositor": "null",
- "feesSspEth": 0.0001381841,
- "feeRecipient": "0xca8f1F0245530118D0cf14a06b01Daf8f76Cf281",
- "netRewardsEth": 0.0012436569,
- "amountStakedEth": 32,
- "grossRewardsEth": 0.001381841,
- "transactionHash": "null",
- "participationRate": 1,
- "slashingPenalties": 0,
- "estimatedActiveDate": "null",
- "stakingProviderName": "consensys-staking",
- "estimatedWithdrawnDate": "null",
- "effectivenessRatingPercent": "null",
- "currentNetRewardsRatePercent": 1.4185461515625
}
], - "totalFeesEth": 0.00035963898,
- "netRewardsEth": 0.0037903880200000004,
- "ethPriceDollar": 2683.0801154902983,
- "marketValueEth": 96.004150027,
- "amountStakedEth": 96,
- "grossRewardsEth": 0.004150027000000001,
- "stakingProvider": {
- "name": "consensys-staking",
- "health": 1,
- "chainId": 17000,
- "details": {
- "id": "Consensys - Lido",
- "tvl": 950000,
- "idType": "poolShare",
- "feeTiers": [
- {
- "lowerBound": 0,
- "upperBound": 4999,
- "valuePercent": 8
}, - {
- "lowerBound": 5000,
- "upperBound": 14999,
- "valuePercent": 7
}, - {
- "lowerBound": 15000,
- "upperBound": 29999,
- "valuePercent": 6
}, - {
- "lowerBound": 30000,
- "upperBound": 59999,
- "valuePercent": 5
}, - {
- "lowerBound": 60000,
- "upperBound": "null",
- "valuePercent": 5
}
], - "avgUptime": 0.8867865344755635,
- "updatedAt": "2024-08-27T09:48:50.317Z",
- "timeWindow": "all",
- "displayName": "Consensys",
- "operatorTags": [
- {
- "name": "operator",
- "path": "/o/Consensys",
- "idType": "nodeOperator"
}, - {
- "name": "Lido",
- "path": "/o/Lido",
- "idType": "pool"
}
], - "aprPercentage": 1.75,
- "avgCorrectness": 0.9570309638921528,
- "validatorCount": 500,
- "avgInclusionDelay": 1.24357952471784,
- "clientPercentages": [
- {
- "client": "Teku",
- "percentage": 0.42028985507246375
}, - {
- "client": "Lighthouse",
- "percentage": 0.5797101449275363
}
], - "nodeOperatorCount": "null",
- "networkPenetration": 0.00012974487063429247,
- "relayerPercentages": [
- {
- "relayer": "titan",
- "percentage": 0.1611842105263158
}, - {
- "relayer": "flashbots",
- "percentage": 0.34210526315789475
}, - {
- "relayer": "no_mev_boost",
- "percentage": 0.4967105263157895
}
], - "avgValidatorEffectiveness": 68.22634812464489
}, - "clientId": "0C4HsSVySQ5SA9sYxiyTn7iW9JQqWYGx",
- "displayName": "ConsenSys",
- "isMultiCloud": true,
- "certification": "SOC 2 Type 2",
- "isMultiClient": true,
- "isMultiRegion": true,
- "ratedOperatorId": "Consensys - Lido",
- "withdrawStrategy": "connector"
}, - "participationRate": 1,
- "slashingPenalties": 0,
- "currentFeeTierPercent": 8,
- "effectivenessRatingPercent": "null",
- "currentNetRewardsRatePercent": 1.4411371117708331
}, - {
- "orgId": "org_C7B4TjkcsqmZ9VDj",
- "validators": [ ],
- "totalFeesEth": 0,
- "netRewardsEth": 0,
- "ethPriceDollar": 2683.0801154902983,
- "marketValueEth": 0,
- "amountStakedEth": 0,
- "grossRewardsEth": 0,
- "stakingProvider": {
- "name": "figment",
- "health": 1,
- "chainId": 17000,
- "details": {
- "id": "Figment",
- "tvl": 1284796.422978871,
- "idType": "nodeOperator",
- "feeTiers": [
- {
- "lowerBound": 0,
- "upperBound": 4999,
- "valuePercent": 7
}, - {
- "lowerBound": 5000,
- "upperBound": 14999,
- "valuePercent": 7
}, - {
- "lowerBound": 15000,
- "upperBound": 29999,
- "valuePercent": 6
}, - {
- "lowerBound": 30000,
- "upperBound": 59999,
- "valuePercent": 5
}, - {
- "lowerBound": 60000,
- "upperBound": "null",
- "valuePercent": 5
}
], - "avgUptime": 0.9961214147833736,
- "updatedAt": "2024-08-27T09:48:50.655Z",
- "timeWindow": "all",
- "displayName": "Figment",
- "operatorTags": [ ],
- "aprPercentage": 1.96,
- "avgCorrectness": 0.9598952551403432,
- "validatorCount": 500,
- "avgInclusionDelay": 1.2437056680505874,
- "clientPercentages": [
- {
- "client": "Lighthouse",
- "percentage": 1
}
], - "nodeOperatorCount": 1,
- "networkPenetration": 0.00029325895417340074,
- "relayerPercentages": [
- {
- "relayer": "flashbots",
- "percentage": 0.3428030303030303
}, - {
- "relayer": "no_mev_boost",
- "percentage": 0.6571969696969697
}
], - "avgValidatorEffectiveness": 78.09191675194592
}, - "clientId": "dXnZSo99eVEdovz2I6XDBy3B683BbG0v",
- "displayName": "Figment",
- "isMultiCloud": true,
- "certification": "ISO 27001 | Soc 2 Type 1",
- "isMultiClient": true,
- "isMultiRegion": true,
- "ratedOperatorId": "Figment",
- "withdrawStrategy": "connector"
}, - "participationRate": 0,
- "slashingPenalties": 0,
- "currentFeeTierPercent": 7,
- "effectivenessRatingPercent": 0,
- "currentNetRewardsRatePercent": 0
}, - {
- "orgId": "org_C7B4TjkcsqmZ9VDj",
- "validators": [
- {
- "index": 1,
- "pubKey": "0xaef2a56a6c6bfa38ecf615265ff95c23bcdbf0599d0a64b386917b204d63cc2093fb88b71e36a781764b47d0a0003054",
- "status": "active_ongoing",
- "depositor": "null",
- "feesSspEth": -0.000052915600000000005,
- "feeRecipient": "0xca8f1f0245530118d0cf14a06b01daf8f76cf281",
- "netRewardsEth": -0.0010053964000000001,
- "amountStakedEth": 32,
- "grossRewardsEth": -0.001058312,
- "transactionHash": "null",
- "participationRate": 0.07111111111111111,
- "slashingPenalties": 0,
- "estimatedActiveDate": "null",
- "stakingProviderName": "kiln",
- "estimatedWithdrawnDate": "null",
- "effectivenessRatingPercent": "null",
- "currentNetRewardsRatePercent": -1.1467802687500002
}
], - "totalFeesEth": -0.000052915600000000005,
- "netRewardsEth": -0.0010053964000000001,
- "ethPriceDollar": 2683.0801154902983,
- "marketValueEth": 31.998941688,
- "amountStakedEth": 32,
- "grossRewardsEth": -0.001058312,
- "stakingProvider": {
- "name": "kiln",
- "health": 1,
- "chainId": 17000,
- "details": {
- "id": "Kiln",
- "tvl": 36954.995937864,
- "fees": 5,
- "idType": "nodeOperator",
- "feeTiers": [
- {
- "lowerBound": 0,
- "upperBound": 4999,
- "valuePercent": 5
}, - {
- "lowerBound": 5000,
- "upperBound": 14999,
- "valuePercent": 5
}, - {
- "lowerBound": 15000,
- "upperBound": 29999,
- "valuePercent": 5
}, - {
- "lowerBound": 30000,
- "upperBound": 59999,
- "valuePercent": 5
}, - {
- "lowerBound": 60000,
- "upperBound": "null",
- "valuePercent": 5
}
], - "avgUptime": 0.9224216567660312,
- "updatedAt": "2024-08-27T09:48:50.333Z",
- "timeWindow": "all",
- "displayName": "Kiln",
- "operatorTags": [
- {
- "name": "operator",
- "path": "null",
- "idType": "null"
}
], - "aprPercentage": 1.8,
- "avgCorrectness": 0.9628329916806081,
- "validatorCount": 100453,
- "avgInclusionDelay": 1.2535799271653745,
- "clientPercentages": [
- {
- "client": "Teku",
- "percentage": 0.3132075471698113
}, - {
- "client": "Prysm",
- "percentage": 0.3255157820490213
}, - {
- "client": "Lighthouse",
- "percentage": 0.3612766707811673
}
], - "nodeOperatorCount": 2,
- "networkPenetration": 0.05951260954258712,
- "relayerPercentages": [
- {
- "relayer": "flashbots",
- "percentage": 0.08599318472241943
}, - {
- "relayer": "titan",
- "percentage": 0.06899048700837711
}, - {
- "relayer": "no_mev_boost",
- "percentage": 0.8450163282692035
}
], - "avgValidatorEffectiveness": 72.38585142369638
}, - "clientId": "iXskNmrOWVSLW1pgQsVYgeUyWa74BmaZ",
- "displayName": "Kiln",
- "isMultiCloud": false,
- "certification": "SOC 2 Type 2",
- "isMultiClient": true,
- "isMultiRegion": false,
- "ratedOperatorId": "Kiln",
- "withdrawStrategy": "transaction"
}, - "participationRate": 0.07111111111111111,
- "slashingPenalties": 0,
- "currentFeeTierPercent": 5,
- "effectivenessRatingPercent": "null",
- "currentNetRewardsRatePercent": -1.1467802687500002
}, - {
- "orgId": "org_C7B4TjkcsqmZ9VDj",
- "validators": [ ],
- "totalFeesEth": 0,
- "netRewardsEth": 0,
- "ethPriceDollar": 2683.0801154902983,
- "marketValueEth": 0,
- "amountStakedEth": 0,
- "grossRewardsEth": 0,
- "stakingProvider": {
- "name": "mock",
- "health": 1,
- "chainId": 17000,
- "details": {
- "id": "Consensys - Lido",
- "tvl": 9999998,
- "fees": 9.999,
- "idType": "poolShare",
- "feeTiers": [
- {
- "lowerBound": 0,
- "upperBound": 4999,
- "valuePercent": 9.999
}, - {
- "lowerBound": 5000,
- "upperBound": 14999,
- "valuePercent": 8.888
}, - {
- "lowerBound": 15000,
- "upperBound": 29999,
- "valuePercent": 7.777
}, - {
- "lowerBound": 30000,
- "upperBound": 59999,
- "valuePercent": 6.666
}, - {
- "lowerBound": 60000,
- "upperBound": "null",
- "valuePercent": 5.555
}
], - "avgUptime": 0.8867865344755635,
- "updatedAt": "2024-08-27T09:48:50.310Z",
- "timeWindow": "all",
- "displayName": "Consensys",
- "operatorTags": [
- {
- "name": "operator",
- "path": "/o/Consensys",
- "idType": "nodeOperator"
}, - {
- "name": "Lido",
- "path": "/o/Lido",
- "idType": "pool"
}
], - "aprPercentage": 1.75,
- "avgCorrectness": 0.9570309638921528,
- "validatorCount": 500,
- "avgInclusionDelay": 1.24357952471784,
- "clientPercentages": [
- {
- "client": "Teku",
- "percentage": 0.42028985507246375
}, - {
- "client": "Lighthouse",
- "percentage": 0.5797101449275363
}
], - "nodeOperatorCount": "null",
- "networkPenetration": 0.00012974487063429247,
- "relayerPercentages": [
- {
- "relayer": "titan",
- "percentage": 0.1611842105263158
}, - {
- "relayer": "flashbots",
- "percentage": 0.34210526315789475
}, - {
- "relayer": "no_mev_boost",
- "percentage": 0.4967105263157895
}
], - "avgValidatorEffectiveness": 68.22634812464489
}, - "clientId": "0C4HsSVySQ5SA9sYxiyTn7iW9JQqWYGx",
- "displayName": "Acme Inc.",
- "isMultiCloud": false,
- "certification": "",
- "isMultiClient": false,
- "isMultiRegion": false,
- "ratedOperatorId": "Consensys - Lido",
- "withdrawStrategy": "connector"
}, - "participationRate": 0,
- "slashingPenalties": 0,
- "currentFeeTierPercent": 9.999,
- "effectivenessRatingPercent": 0,
- "currentNetRewardsRatePercent": 0
}
], - "cefiBalances": [
- {
- "name": "Bifrost Bridged MATIC (Bifrost)",
- "value": {
- "price": 0.5051
}, - "object": "token",
- "symbol": "MATIC",
- "address": "bifrost-bridged-matic-bifrost",
- "balance": "0.06555068",
- "namespace": "binanceInternational",
- "accountAddress": "999f3391-412c-4dec-adb4-832e779afe81"
}, - {
- "name": "Reef",
- "value": {
- "price": 0.000674513115647349
}, - "object": "token",
- "symbol": "REEF",
- "address": "reef",
- "balance": "0.141",
- "namespace": "binanceInternational",
- "accountAddress": "999f3391-412c-4dec-adb4-832e779afe81"
}, - {
- "name": "EthereumPoW",
- "value": {
- "price": 2.0463
}, - "object": "token",
- "symbol": "ETHW",
- "address": "ethereum-pow-iou",
- "balance": "0.00000979",
- "namespace": "binanceInternational",
- "accountAddress": "999f3391-412c-4dec-adb4-832e779afe81"
}, - {
- "name": "Celestia",
- "value": {
- "price": 5.33470409349237
}, - "object": "token",
- "symbol": "TIA",
- "address": "celestia",
- "balance": "0.00955587",
- "namespace": "binanceInternational",
- "accountAddress": "999f3391-412c-4dec-adb4-832e779afe81"
}
]
}
}
Search Snapshot IDs
Fetch a paginated list containing the IDs of snapshots associated with a specific customer, matching the search filters. The IDs can then be used to fetch the actual snapshot content with GET /snapshots/{snapshotId}
.
Authorizations:
query Parameters
fromTimestamp | string Example: fromTimestamp=2023-10-25T13:36:45+02:00 The start date and time for the range of snapshots to retrieve, formatted as an ISO 8601 string. |
order | string Enum: "asc" "desc" The order to sort the snapshots in. |
page | number >= 1 Example: page=1 The page number to retrieve in the paginated list of snapshots. |
perPage | number >= 10 Example: perPage=10 The number of snapshots to retrieve per page. |
sort | string Enum: "createdAt" "updatedAt" The property to sort the snapshots by. |
toTimestamp | string Example: toTimestamp=2023-10-26T13:36:45+02:00 The end date and time for the range of snapshots to retrieve, formatted as an ISO 8601 string. |
Responses
Request samples
- cURL
- JavaScript
- Python
curl --request GET \ --url 'https://api.metamask-institutional.io/snapshots?fromTimestamp=2023-10-25T13%3A36%3A45%2B02%3A00&toTimestamp=2023-10-26T13%3A36%3A45%2B02%3A00&page=2&perPage=10&sort=createdAt&order=asc' \ --header 'X-Api-Key: <APIKEY>'
Response samples
- 200
- 401
- 403
{- "meta": {
- "totalItems": 1000,
- "itemsPerPage": 50,
- "totalPages": 20,
- "currentPage": 1
}, - "items": [
- {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "customerId": "org_XYZ",
- "stakingSnapshotItem": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "adaptersDeFiPositionItems": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "cefiSnapshotItems": {
- "id": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}, - "creationMode": "manual"
}
]
}
The past transactions related to addresses that have transacted through MMI or added to customer's accounts.
Search Transactions
Search trough all types of asset transfers. It provides a comprehensive tool for analyzing transaction history across various blockchains, allowing for detailed insights into transactions based on a wide range of criteria, including sender and receiver addresses, chain IDs, timestamps, asset types, and more.
You must always provide at least one of the body params from
, to
, or transactionHashes
.
Note: This search functionality retrieves transactions related to addresses that have been used in transactions through the MMI extension or that are added to the customer's account.
Note: A POST
request is used here instead of a GET
to accommodate an arbitrary number of addresses in the filters from/to/contractAddresses/transactionHashes
without running into URL length limitations.
Note: There may be a brief delay of a few seconds before a transaction becomes available after being included in a block. This is due to the asynchronous indexing process.
Authorizations:
query Parameters
page | number Default: 1 Example: page=1 The page of results being requested |
perPage | number Default: 50 Example: perPage=50 The number of results per page |
Request Body schema: application/jsonrequired
assetTypes | Array of strings Items Enum: "native" "nft" "token" Leave empty to retrieve all types of assets supported by the chain. Or specify the list of desired asset types. |
blockNumbers | Array of numbers Limit the results to transactions included in the defined blocks numbers. |
chainIds | Array of numbers List of chain IDs where to search the transactions in. Supported chain IDs are:
|
contractAddresses | Array of strings[/^0x[a-fA-F0-9]{40}$/] Limit the results to transfers of tokens with contract address in the list. |
excludeContracts | Array of strings[/^0x[a-fA-F0-9]{40}$/] Addresses to filter out transactions with matching |
from | Array of strings[/^0x[a-fA-F0-9]{40}$/] Source addresses |
fromTimestamp | string The start date and time for the range of transactions to retrieve, formatted as an ISO 8601 string. |
hideSpam | boolean Default: false Hide transactions with known spam addresses |
to | Array of strings[/^0x[a-fA-F0-9]{40}$/] Destination addresses |
tokenIds | Array of strings Limit the results to transfers of NFTs token ID in the list. |
toTimestamp | string The end date and time for the range of transactions to retrieve, formatted as an ISO 8601 string. |
transactionHashes | Array of strings[/^0x[a-fA-F0-9]{64}$/] Limit the results to transactions with a hash in the list. |
Responses
Request samples
- Payload
- cURL
- JavaScript
- Python
{- "from": [
- "0xfc75970a11669c571a4b8f8abeceeecffa5dc7ea"
], - "to": [
- "0xfc75970a11669c571a4b8f8abeceeecffa5dc7ea"
], - "chainIds": [
- 1,
- 5,
- 137
], - "fromTimestamp": "2022-10-25T13:36:45+02:00",
- "toTimestamp": "2023-10-26T13:36:45+02:00",
- "assetTypes": [
- "token",
- "native"
], - "contractAddresses": [
- "0xfaff15c6cdaca61a4f87d329689293e07c98f578"
], - "tokenIds": [
- "5",
- "1245"
], - "transactionHashes": [
- "0xfcae084c1fc34650747e09215095daa1d2c0fb001d065dc27dc3f5cadda2060a",
- "0xfe0c49dc665b5bd1ba2d3904f8469ea7eec7647eb07a9e1416fdaba9d46461b9"
], - "blockNumbers": [
- 18685487,
- 3245
], - "excludeContracts": [
- "0xfc75970a11669c571a4b8f8abeceeecffa5dc7ea"
], - "hideSpam": false
}
Response samples
- 200
- 401
- 403
{- "meta": {
- "totalItems": 1000,
- "itemsPerPage": 50,
- "totalPages": 20,
- "currentPage": 1
}, - "items": [
- {
- "id": "017f3026f6e79427c81a67e438f5be50c0940e019406cde36f571c3d53f70786",
- "chainId": 1,
- "hash": "0xe3852b9c47f651395d4d6a8f517c6f2f6ecb44445684fc32ef08155bacb62c68",
- "transactionIndex": 14,
- "blockNumber": 14732481,
- "blockHash": "0x88b44988a25ce40d55c1a621e3ff9c86504fa3878489f4bbd88af8a6c88fe0e6",
- "timestamp": "2019-08-24T14:15:22Z",
- "nonce": 457,
- "from": "0xfc75970a11669c571a4b8f8abeceeecffa5dc7ea",
- "to": "0x8d203862455269aa79e2d5b7974d0816673f4e2c",
- "value": "81689008581039686",
- "gas": "31000",
- "gasUsed": "21000",
- "gasPrice": "1000000000",
- "isError": true,
- "input": "0x",
- "contractAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
- "cumulativeGasUsed": "1086011",
- "confirmations": 4382,
- "methodId": "0x095ea7b3",
- "assetType": "native",
- "notes": "Payment for services rendered",
- "nativeTokenPriceUsd": 1600,
- "fee": "31000000000000",
- "feeUsd": "0.11",
- "category": "0x Swap",
- "userCategory": "swap",
- "tokenName": "PepeCoin",
- "tokenSymbol": "PEPE",
- "tokenDecimals": 18,
- "tokenPriceInNativeToken": 200,
- "tokenPriceUsd": 0.16,
- "nftCollectionName": "The Merge: Regenesis",
- "nftCollectionSymbol": "MERGE",
- "nftCollectionTokenId": "1"
}
]
}
address required | string The blockchain address. |
createdAt | string <date-time> The timestamp when the entity was created. |
object Details about the custodian responsible for managing the signing keys of the address. | |
hidden required | boolean Indicates whether the entity is hidden from the Portfolio Dashboard views. |
id required | string A unique identifier for the entity. |
name | string or null A human-readable name for the entity, specified by the customer at creation. |
namespace required | string The CAIP-2 namespace of the blockchain network the address belongs to. |
updatedAt | string <date-time> The timestamp when the entity was last updated. |
{- "id": "f32e96af-9a91-4c3b-938a-42f3df18e270",
- "namespace": "eip155:1",
- "address": "0xC71E8d9c352512540A94a0b85582a96f82aC7b4e",
- "name": "My Address 1",
- "hidden": false,
- "custodian": {
- "environment": "string",
- "displayName": "Sample Custodian"
}, - "createdAt": "2023-12-11T14:30:10.960Z",
- "updatedAt": "2024-02-28T10:39:48.150Z"
}
chainId required | integer Blockchain ID where the protocol operates (e.g., 1, 10, 56). |
chainName required | string |
description required | string Brief description of the protocol adapter. |
error | object Present in the second item if success is false, providing an error message and details. |
iconUrl required | string <uri> URL of the protocol's icon. |
name required | string Display name of the protocol. |
positionType required | string (PositionType) Enum: "borrow" "fiat-prices" "lend" "reward" "stake" "supply" Type of position. It can be one of the following:
|
productId required | string Identifier for the specific product within the protocol. |
protocolId required | string Identifier of the DeFi protocol. |
siteUrl required | string <uri> URL of the protocol's website. |
success required | boolean Enum: false true |
required | Array of objects (DisplayPositionProtocolPosition) List of DeFi positions for the user |
{- "error": {
- "message": "string",
- "details": { }
}, - "success": false
}
chainId required | integer Blockchain ID where the protocol operates (e.g., 1, 10, 56). |
chainName required | string |
description required | string Brief description of the protocol adapter. |
error | object Present in the second item if success is false, providing an error message and details. |
fromBlock required | integer Starting block for calculating the profits. |
iconUrl required | string <uri> URL of the protocol's icon. |
name required | string Display name of the protocol. |
positionType required | string (PositionType) Enum: "borrow" "fiat-prices" "lend" "reward" "stake" "supply" Type of position. It can be one of the following:
|
productId required | string Identifier for the specific product within the protocol. |
protocolId required | string Identifier of the DeFi protocol. |
siteUrl required | string <uri> URL of the protocol's website. |
success required | boolean Enum: false true |
toBlock required | integer Ending block for calculating the profits. |
required | Array of objects (PositionProfits) An array of token objects, empty in the first item and populated in the third. For each token, details like address, name, symbol, type, profit, performance, and calculation data are provided. |
{- "error": {
- "message": "string",
- "details": { }
}, - "success": false
}
assetType required | string Enum: "native" "nft" "token" Type of asset being transacted. |
blockHash required | string Hash of the block where this transaction was in. |
blockNumber required | number Block number where this transaction was in. |
category required | string Enum: "0x Swap" "1inch Interaction" "1inch Swap" "Aave Borrow" "Aave Deposit" "Aave Repay" "Aave Withdraw" "Arbitrum Bridge" "Arbitrum Interaction" "Balancer Claim" "Balancer Deposit" "Balancer Interaction" "Balancer Swap" "Balancer Withdraw" "Compound Borrow" "Compound Claim" "Compound Deposit" "Compound Interaction" "Compound Repay" "Compound Withdraw" "DappNode Claim" "DappNode Interaction" "Dex.ag Swap" "ENS Claim" "ENS Domain Interaction" "ENS Domain Register" "ENS Domain Renew" "ENS Domain Resolver Set" "ENS Domain Transfer" "Ethermine Mining Payout" "FutureSwap Governance Vote" "FutureSwap Interaction" "Gitcoin Claim" "Gitcoin Interaction" "Gnosis Safe Approve" "Gnosis Safe Withdraw" "IDEX Deposit" "IDEX Withdraw" "Kyber Swap" "Metamask Bridge" "Metamask Stake" "Metamask Swap" "MiningPoolHub Mining Payout" "NFT Approve" "NFT Mint" "NFT Transfer" "OpenSea Cancel Order" "OpenSea Interaction" "OpenSea Register" "OpenSea Swap" "ParaSwap Swap" "Paraswap Interaction" "Polygon Bridge" "PoolTogether Claim" "PoolTogether Deposit" "PoolTogether Interaction" "PoolTogether Withdraw" "ShapeShift Claim" "ShapeShift Interaction" "SparkPool Mining Payout" "SushiSwap Deposit" "SushiSwap Swap" "SushiSwap Withdraw" "Token Approve" "Token Mint" "Token Transfer" "TornadoCash Deposit" "TornadoCash Withdraw" "Uniswap Claim" "Uniswap Deposit" "Uniswap Interaction" "Uniswap Swap" "Uniswap Withdraw" "WETH Unwrap" "WETH Wrap" Categorizes the type of transaction or operation. The categories cover a wide range of activities in the Ethereum ecosystem, including different types of exchanges (like 0x, 1inch), lending platforms (like Aave, Compound), domain name services (like ENS), and more. Each category represents a specific type of operation or interaction with a specific protocol or service. |
chainId required | number Decimal ID of the chain where the transaction happened. |
confirmations required | number The number of blocks in the blockchain that have been confirmed and added after the block that this transaction is part of. A higher number of confirmations indicates a greater assurance that the transaction is final, as it means more blocks have been added after it. |
contractAddress required | string/^0x[a-fA-F0-9]{40}$/ Address of the token's contract, in case of a token transfer. |
cumulativeGasUsed required | string The total amount of gas used when the transaction was executed in the block. It is cumulative because it includes the gas used by all preceding transactions in the block. |
fee required | string Fee in Wei that the transaction cost. Is equal to |
feeUsd required | string Fee in US dollars that the transaction cost, using the price in US dollars of the chain's native token at the time of the transaction. Is equal to |
from required | string/^0x[a-fA-F0-9]{40}$/ Address of the sender. |
gas required | string Gas provided by the sender. |
gasPrice required | string Gas price provided by the sender in Wei. |
gasUsed required | string The amount of gas that was used by this specific transaction. |
hash required | string/^0x[a-fA-F0-9]{64}$/ Hash of the transaction. |
id required | string Unique identifier for the transaction |
input required | string The data send along with the transaction. |
isError required | boolean Whether it was successfull or rejected/cancelled. |
methodId required | string The contract identifier for the function that was called in this transaction. It is derived from the first 4 bytes of the Keccak (SHA-3) hash of the ASCII form of the function signature. |
nativeTokenPriceUsd required | number Price in US dollars of the chain's native token at the time of the transaction. |
nftCollectionIconUrl required | string The URL of the icon or image associated with the NFT collection. |
nftCollectionName required | string The name of the collection to which the NFT belongs. |
nftCollectionSymbol required | string The symbol of the collection to which the NFT belongs. |
nftCollectionTokenId required | string The unique identifier of the token within its NFT collection. This ID is unique within the specific collection and is used to reference the individual NFT. |
nonce required | number The number of transactions made by the sender prior to this one. |
notes required | string This field contains any additional comments or notes that the user included when signing the transaction through the custodian. It provides context or details about the transaction that may be relevant for record-keeping or auditing purposes. |
timestamp required | string <date-time> Unix timestamp in seconds of the block this transaction was in. |
to required | string/^0x[a-fA-F0-9]{40}$/ Address of the receiver. |
tokenDecimals required | number The number of decimal places that the token can be divided into. |
tokenIconUrl required | string URL of the token/NFT icone, in case of a transfer. |
tokenName required | string Name of the token/NFT, in case of a transfer. |
tokenPriceInNativeToken required | number The current price of the token in terms of the chain's native token (for instance Ether for Ethereum mainnnet). |
tokenPriceUsd required | number The current price of the token in terms of US dollars. |
tokenSymbol required | string Symbol of the token/NFT, in case of a transfer. |
transactionIndex required | number Integer of the transaction index position in the block. |
userCategory required | string |
value required | string Value transferred in Wei. |
{- "id": "017f3026f6e79427c81a67e438f5be50c0940e019406cde36f571c3d53f70786",
- "chainId": 1,
- "hash": "0xe3852b9c47f651395d4d6a8f517c6f2f6ecb44445684fc32ef08155bacb62c68",
- "transactionIndex": 14,
- "blockNumber": 14732481,
- "blockHash": "0x88b44988a25ce40d55c1a621e3ff9c86504fa3878489f4bbd88af8a6c88fe0e6",
- "timestamp": "2019-08-24T14:15:22Z",
- "nonce": 457,
- "from": "0xfc75970a11669c571a4b8f8abeceeecffa5dc7ea",
- "to": "0x8d203862455269aa79e2d5b7974d0816673f4e2c",
- "value": "81689008581039686",
- "gas": "31000",
- "gasUsed": "21000",
- "gasPrice": "1000000000",
- "isError": true,
- "input": "0x",
- "contractAddress": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
- "cumulativeGasUsed": "1086011",
- "confirmations": 4382,
- "methodId": "0x095ea7b3",
- "assetType": "native",
- "notes": "Payment for services rendered",
- "nativeTokenPriceUsd": 1600,
- "fee": "31000000000000",
- "feeUsd": "0.11",
- "category": "0x Swap",
- "userCategory": "swap",
- "tokenName": "PepeCoin",
- "tokenSymbol": "PEPE",
- "tokenDecimals": 18,
- "tokenPriceInNativeToken": 200,
- "tokenPriceUsd": 0.16,
- "nftCollectionName": "The Merge: Regenesis",
- "nftCollectionSymbol": "MERGE",
- "nftCollectionTokenId": "1"
}