Unified Metadata Schemas v1
INDEX API enables developers to swiftly plug in the data returned, without worrying about the underlying structure. We take care of all the dirty work to provide the Unified Metadata Schemas (UMS) for all type
.
Below you will see a list of types and the corresponding UMS.
Unified Metadata Schemas v2 will be published as an OpenAPI specification when INDEX Network is upgraded to v2.
Collectible
collectible
(transfer
, mint
, burn
) share the same UMS:
{
"id": "3111",
"value": "1",
"contract_address": "0xa6f969045641cf486a747a2688f3a5a6d43cd0d8",
"standard": "ERC-721",
"name": "RSS3 Whitepaper v1.0",
"symbol": "RWP",
"image": "ipfs://bafybeialcb7udgz56dtpzn7dcchujd5jt6jcu7ugg4y32e2jsvg3z477fq/rss3-whitepaper-no-1.png",
"attributes": [
{
"value": "Natural Selection Labs",
"trait_type": "Author(s)"
},
...
],
"description": "RSS3 Whitepaper v1.0 - Commemorative & Limited Edition",
"animation_url": "ipfs://bafybeif2wobpdjlkv7k33k2at4agirvmrs5zqa7hm4wvz72teui6bttg7y/rss3-whitepaper-no-1.glb",
"external_link": "https://rss3.io/RSS3-Whitepaper.pdf"
}
// `trade` shares the basic structure with `collectible`, but with an additional `cost` field.
{
"id": "3111",
"contract_address": "0xa6f969045641cf486a747a2688f3a5a6d43cd0d8",
"standard": "ERC-721",
"name": "RSS3 Whitepaper v1.0",
"value": "1",
"symbol": "RWP",
"image": "ipfs://bafybeialcb7udgz56dtpzn7dcchujd5jt6jcu7ugg4y32e2jsvg3z477fq/rss3-whitepaper-no-1.png",
"attributes": [
{
"value": "Natural Selection Labs",
"trait_type": "Author(s)"
},
...
],
"description": "RSS3 Whitepaper v1.0 - Commemorative & Limited Edition",
"animation_url": "ipfs://bafybeif2wobpdjlkv7k33k2at4agirvmrs5zqa7hm4wvz72teui6bttg7y/rss3-whitepaper-no-1.glb",
"external_link": "https://rss3.io/RSS3-Whitepaper.pdf",
// ths additional fields
"cost": {
"name": "Ethereum",
"image": "https://assets.coingecko.com/coins/images/279/large/ethereum.png",
"value": "230325000000000000",
"symbol": "ETH",
"decimals": 18,
"value_display": "0.230325000000000000",
"standard": "Native"
},
}
// Due to the spamming issue, APIs do not return POAPs by default. We provide two ways to include them:
// 1. Set `include_poap` to true.
// 2. Include `poap` in `type`.
{
"id": "5364876",
"name": "RSS3 Cancer Meetup - 2022",
"image": "https://assets.poap.xyz/rss3-cancer-meetup-2022-2022-logo-1657702983639.png",
"symbol": "The Proof of Attendance Protocol",
"standard": "ERC-721",
"attributes": [
{
"value": "07-Jul-2022",
"trait_type": "endDate"
},
{
"value": "true",
"trait_type": "virtualEvent"
},
{
"value": "",
"trait_type": "city"
},
{
"value": "",
"trait_type": "country"
},
{
"value": "",
"trait_type": "eventURL"
},
{
"value": "07-Jul-2022",
"trait_type": "startDate"
}
],
"description": "The RSS3 2022 Q3 Internal Meeting",
"contract_address": "0x22c1f6050e56d2876009903609a2cc3fef83b415"
}
// `approval` approves/revokes permissions to assets in a wallet.
{
"name": "Optimistic Explorer",
"action": "approve", // here the action indicates the operation.
// Another possible value is `revoke`.
"symbol": "SUPNERDS",
"standard": "ERC-721",
"collection": "Optimistic Explorer",
"contract_address": "0x81b30ff521d1feb67ede32db726d95714eb00637"
}
Donation
donation
made to services and projects encourages the growth of the Open Web.
// `launch` indicates an action of launching a new grant.
{
"logo": "https://c.gitcoin.co/grants/7f2bdd3cbd59dcaaa1c4b54c5b73a952/ethers-gitcoin.png",
"title": "ethers.js - Complete, Simple and Tiny",
"platform": "gitcoin",
"description": "The ethers.js library is a complete and compact library for interacting with the Ethereum Blockchains and their ecosystem..."
}
// `donate` indicates a token transfer to an established grant.
{
"logo": "https://c.gitcoin.co/grants/7f2bdd3cbd59dcaaa1c4b54c5b73a952/ethers-gitcoin.png",
"title": "ethers.js - Complete, Simple and Tiny",
"platform": "gitcoin",
"description": "The ethers.js library is a complete and compact library for interacting with the Ethereum Blockchains and their ecosystem...",
// here we have the donation value in detail
"token": {
"image": "https://s2.coinmarketcap.com/static/img/coins/64x64/825.png",
"name": "Tether USD",
"symbol": "USDT",
"decimals": 6,
"value": "10000000",
"value_display": "10",
"contract_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
"standard": "ERC-20"
}
}
Exchange
exchange
covers mainly transactions going through DeFi platforms and exchanges (centralized and decentralized).
// `withdraw` indicates a token transfer from either a CEX or a DEX.
// `deposit` indicates a token transfer to either a CEX or a DEX.
// They both follow the same UMS as `transaction`
{
"image": "https://s2.coinmarketcap.com/static/img/coins/64x64/3890.png",
"name": "polygon",
"symbol": "MATIC",
"decimals": 18,
"value": "1000000000000000000",
"value_display": "10",
"contract_address": "0x0000000000000000000000000000000000001010",
"standard": "ERC-20"
}
// `swap` indicates a token swapping on a DEX.
{
"protocol": "Uniswap V2",
"to": {
"image": "https://s2.coinmarketcap.com/static/img/coins/64x64/825.png",
"name": "Tether USD",
"symbol": "USDT",
"decimals": 6,
"value": "28652612",
"value_display": "28.652612",
"contract_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
"standard": "ERC-20"
},
"from": {
"image": "https://s2.coinmarketcap.com/static/img/coins/64x64/3408.png",
"name": "USD Coin",
"symbol": "USDC",
"decimals": 6,
"value": "28622667",
"value_display": "28.622667",
"contract_address": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
"standard": "ERC-20"
}
}
// `liquidity` indicates may indicate many actions, such as:
// 1. `add/remove` tokens to/from a pool
// 2. `supply/borrow` tokens to/from a lender
// 3. `repay` borrowed tokens to a lender
// 4. `collect` yields
{
"protocol": "Uniswap V2",
"action": "add", // or `remove`, `supply`, `borrow`, `repay`
"tokens": [
{
"image": "https://s2.coinmarketcap.com/static/img/coins/64x64/825.png",
"name": "Tether USD",
"symbol": "USDT",
"decimals": 6,
"value": "28652612",
"value_display": "28.652612",
"contract_address": "0xc2132D05D31c914a87C6611C10748AEb04B58e8F",
"standard": "ERC-20"
},
{
"image": "https://s2.coinmarketcap.com/static/img/coins/64x64/3408.png",
"name": "USD Coin",
"symbol": "USDC",
"decimals": 6,
"value": "28622667",
"value_display": "28.622667",
"contract_address": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
"standard": "ERC-20"
}
]
}
// `bridge` indicates an aciton of bridging assets from blockchain A to blockchain B.
// action `deposit` refers to depositing tokens into blockchain A's bridge
// action `withdraw` refers to withdrawing tokens from blockchain B's bridge
{
"token": {
"name": "Ethereum",
"image": "https://assets.coingecko.com/coins/images/279/large/ethereum.png",
"value": "30000000000000000",
"symbol": "ETH",
"decimals": 18,
"standard": "Native",
"value_display": "0.03"
},
"action": "deposit", // it can be `withdraw` as well
"target_network": {
"name": "Polygon",
"symbol": "MATIC",
"chain_id": 137
}
}
{
"token": {
"name": "Staked RSS3",
"value": "1936460000000000000000",
"symbol": "sRSS3",
"decimals": 18,
"standard": "ERC-20",
"value_display": "1936.46",
"contract_address": "0x5301CbBeDc048AbaC7e213184132cf982d593563"
},
"action": "stake", // possible values are `stake`, `unstake`, and `claim`
"period": {
"end": "2023-05-01 04:32:59 +0100 BST",
"start": "2023-01-31 03:32:59 +0000 GMT"
}
}
Governance
governance
refers to actions performed to govern the Open Web.
// `propose` indicates an action of creating a new proposal.
{
"type_on_platform": ["proposal"],
"id": "123",
"title": "some agenda",
"body": " description of the proposal",
"options": ["1. yea", "2. neh", "3. abstain"],
"startAt": "2022-01-01T15:00:00Z",
"endAt": "2022-01-02T15:00:00Z",
"organization": {
"type_on_platform": ["charity"],
"id": "8818",
"name": "some charity",
"about": " description of the organization"
}
}
// `vote` indicates a voting action on an established proposal.
{
"type_on_platform": ["vote"],
"choice": "1",
"proposal": {
"type_on_platform": ["proposal"],
"id": "123",
"title": "some agenda",
"body": " description of the proposal",
"options": ["1. yea", "2. neh", "3. abstain"],
"startAt": "2022-01-01T15:00:00Z",
"endAt": "2022-01-02T15:00:00Z",
"organization": {
"type_on_platform": ["charity"],
"id": "8818",
"name": "some charity",
"about": " description of the organization"
}
}
}
Metaverse
metaverse
represents the GameFi sector of the Open Web.
// `claim` indicates an action of claiming tokens.
{
"name": "Aave Matic Market WETH",
"image": "https://assets.coingecko.com/coins/images/17266/large/amWETH_2x.png",
"value": "3174603174603170",
"symbol": "amWETH",
"decimals": 18,
"standard": "ERC-20",
"value_display": "0.00317460317460317",
"contract_address": "0x28424507fefb6f7f8e9d3860f56504e4e5f5f390"
}
// `list` and `unlist` indicate an action of (un)listing an in-game item for trading.
// Items here are tokens conforming to ERC-20, ERC-721, or ERC-1155.
{
"id": "3073458",
"name": "IN LE#173361395",
"image": "https://static.planetix.com/46Sl0KZHaA856srXdxD9AnNC5SbzGvtCeqFZusuS.png",
"value": "1",
"symbol": "PIX",
"standard": "ERC-721",
"attributes": [
{
"value": "[77.28876779858112,28.66998572337609]",
"trait_type": "Coordinates"
},
// ...
],
"collection": "PlanetIX",
"value_display": "1",
"contract_address": "0xb2435253c71fca27be41206eb2793e44e1df6b6d"
}
// `mint` is self-explanatory.
// Tokens here conform to ERC-20, ERC-721, or ERC-1155.
{
"id": "31",
"name": "[CARVnival] ChapterX x CARV AMA",
"image": "https://ipfs.rss3.page/ipfs/bafkreihrsqtcqvr3qftfsvxga2swrai5xbzajegr2vclnlj2m4pxgykop4",
"value": "1",
"symbol": "CARV-EVNT",
"standard": "ERC-1155",
"attributes": [
{
"value": "Events",
"trait_type": "Carv Type"
},
{
"value": "ChapterX",
"trait_type": "Carv Collection"
}
],
"collection": "Carv Events",
"description": "Holders joined ChapterX x CARV AMA during CARVnival! All your gaming moments, in one place, only on Carv!",
"value_display": "1",
"contract_address": "0xdda56260fcb1b1c6ba1d84c5f99f5507d556a04b"
}
// `trade` is self-explanatory too.
// Often ERC-20 tokens are exchanged for in-game items (ERC-721 or ERC-1155 tokens).
{
"tag": "metaverse",
"type": "trade",
"index": 49,
"address_from": "0x03e69a147ef6dc063360e976ad15ff5468501c12",
"address_to": "0x8cbf96319b3c56d50a7c82efb6d3c46bd6f889ba",
"metadata": {
"name": "Aavegotchi GHST Token (PoS)",
"image": "https://assets.coingecko.com/coins/images/12467/large/ghst_200.png",
"value": "640000000000000000",
"symbol": "GHST",
"decimals": 18,
"standard": "ERC-20",
"value_display": "0.64",
"contract_address": "0x385eeac5cb85a38a9a07a70c73e0a3271cfb54a7"
},
"platform": "Aavegotchi",
"related_urls": [
"https://polygonscan.com/tx/0x104e3cd25830a06b802868d267a12f33258cb2ca5b931d76d4e613f51a08aaa3"
]
},
{
"tag": "metaverse",
"type": "trade",
"index": 51,
"address_from": "0x8cbf96319b3c56d50a7c82efb6d3c46bd6f889ba",
"address_to": "0x03e69a147ef6dc063360e976ad15ff5468501c12",
"metadata": {
"id": "4744",
"name": "Paarty King",
"image": "https://arweave.net/fWYXkoPohNpL5a1upY_6G-BTXLO8s5HYq0nZ_luPBEQ",
"value": "1",
"symbol": "FG",
"standard": "ERC-721",
"attributes": [
{
"value": "0x8cbf96319b3c56d50a7c82efb6d3c46bd6f889ba",
"trait_type": "Publisher"
}
],
"collection": "FAKE Gotchis",
"description": "Rumored to have been summoned by degens, Paarty King rose to power through frenly vibes and good times. ",
"value_display": "1",
"contract_address": "0xa4e3513c98b30d4d7cc578d2c328bd550725d1d0"
},
"platform": "Aavegotchi",
"related_urls": [
"https://polygonscan.com/tx/0x104e3cd25830a06b802868d267a12f33258cb2ca5b931d76d4e613f51a08aaa3",
"https://opensea.io/assets/matic/0xa4e3513c98b30d4d7cc578d2c328bd550725d1d0/4744"
]
}
Social
Social networking is an integral part of the Open Web.
// `post` indicates an action of publishing a new post.
// `revise` indicates an action of updating an existing post.
{
"title": "Guess what's coming",
"body": "Guess what's coming",
"author": ["https://lenster.xyz/u/henryqw.lens"],
"media": [
{
"address": "https://ipfs.infura.io/ipfs/QmXGp2tq7yTXMoeKbDqAsFNW9Qw1GGzWbEFiXmhKxVikGj",
"mime_type": "image/png"
}
],
"type_on_platform": ["post"]
}
// `comment` indicates an action of commenting on an existing post.
{
"title": "RSS3 is building a Lens integration!",
"body": "RSS3 is building a Lens integration!",
"author": ["https://lenster.xyz/u/henryqw.lens"],
"media": [
{
"address": "https://ipfs.infura.io/ipfs/QmXGp2tq7yTXMoeKbDqAsFNW9Qw1GGzWbEFiXmhKxVikGj",
"mime_type": "image/png"
}
],
"type_on_platform": ["comment"],
"target": {
"title": "Guess what's coming",
"body": "Guess what's coming",
"author": ["https://lenster.xyz/u/henryqw.lens"],
"created_at": "2022-06-22T16:22:33Z",
"target_url": "https://lenster.xyz/posts/0x83a6-0x01",
"media": [
{
"address": "https://ipfs.infura.io/ipfs/QmXGp2tq7yTXMoeKbDqAsFNW9Qw1GGzWbEFiXmhKxVikGj",
"mime_type": "image/png"
}
],
"type_on_platform": ["post"]
}
}
// `share` indicates an action of sharing an existing post or comment, think of it as retweet.
{
"type_on_platform": ["mirror"],
"target": {
"body": "Yo! from RSS3! https://rss3.io",
"author": ["https://lenster.xyz/u/henryqw.lens"],
// `created_at` and `target_url` of the original post
"created_at": "2022-06-22T16:22:33Z",
"target_url": "https://lenster.xyz/posts/0x83a6-0x01"
}
}
// A `share` may also come with a `comment`, with an identical structure to the `comment` above.
{
"title": "RSS3 is building a Lens integration!",
"body": "RSS3 is building a Lens integration!",
"media": [
{
"address": "https://ipfs.infura.io/ipfs/QmXGp2tq7yTXMoeKbDqAsFNW9Qw1GGzWbEFiXmhKxVikGj",
"mime_type": "image/png"
}
],
"type_on_platform": ["Mirror"],
"target": {
"title": "Guess what's coming",
"body": "Guess what's coming",
"media": [
{
"address": "https://ipfs.infura.io/ipfs/QmXGp2tq7yTXMoeKbDqAsFNW9Qw1GGzWbEFiXmhKxVikGj",
"mime_type": "image/png"
}
],
"type_on_platform": ["Post"]
}
}
// `profile` indicates an action of creating or updating a new credential.
{
"address": "0x...",
"network": "ethereum",
"platform": "ENS",
"source": "ENS",
"name": "henryqw.eth",
"handle": "henryqw.eth",
"bio": "The awesome Henry.",
"expire_at": "2032-01-02T21:28:35Z"
}
// `follow` indicates an action of following an existing profile. `unfollow` uses the same structure.
{
"type_on_platform": ["Follow"],
"target": {
"bio": "",
"name": "",
"type": "create",
"handle": "henryqw.lens",
"source": "Lens",
"address": "0x...",
"network": "polygon",
"platform": "Lens"
}
}
// `reward` is an action of supporting authors via a crypto transaction.
{
"reward": {
"name": "(PoS) Tether USD",
"value": "1000000",
"symbol": "USDT",
"decimals": 6,
"standard": "ERC-20",
"value_display": "1",
"contract_address": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f"
},
"type_on_platform": ["curation"],
"target": {
"body": "body",
"title": "title",
"author": ["someone"],
"summary": "summary",
"type_on_platform": ["post"],
}
}
// `wiki` is an entry editable by everyone
{
"body": "Bitcoin (BTC) is the first ...",
"tags": ["Bitcoin"],
"media": [
{
"address": "https://ipfs.rss3.page/ipfs/QmSS8AXhUXUdvfxC77bhQ7UqX9HscgUZc8SPagc3QDUkNt",
"mime_type": "image/png"
}
],
"title": "Bitcoin",
"action": "revise", // `create` is another possible value
"author": ["0x53B55848a4ccCd79771eBA19112CB1E17b2226fc"],
"summary": "Bitcoin (BTC) is the first decentralized cryptocurrency and payment system that uses Blockchain technology which allows users to send and receive digital money ...",
"categories": ["Cryptocurrencies"],
"created_at": "2022-08-12T10:51:36Z",
"target_url": "https://iq.wiki/wiki/bitcoin",
"origin_note_id": "bitcoin",
"type_on_platform": ["update"]
}
Transaction
transaction
will be used if all the above tags do not match.
{
"image": "https://s2.coinmarketcap.com/static/img/coins/64x64/3890.png",
"name": "polygon",
"symbol": "MATIC",
"decimals": 18,
"value": "1234000000000000000",
"value_display": "1.234", // value_display is the value formatted with the correct decimal places
"contract_address": "0x0000000000000000000000000000000000001010",
"standard": "ERC-20"
}
// `approval` approves/revokes permissions to assets in a wallet.
{
"name": "USD Coin",
"value": "0",
"action": "revoke", // Another possible value is `approve`.
"symbol": "USDC",
"decimals": 6,
"standard": "ERC-20",
"value_display": "0",
"contract_address": "0x7f5c764cbc14f9669b88837ca1490cca17c31607"
}
// when a MultiSig wallet transaction is involved, it's handled differently
// currently only Gnosis Safe is supported
{
"vault": {
"owners": [
"0xeee9411b30599a5922138602A9a1696E8201Fad4",
"0x6727A51CaeFCaF1Bc189A8316eA09f844644b195"
],
"address": "0xd7F8F960cccA0431e3438063cf65441381Ce0F0B",
"version": "1.3.0",
"threshold": 2
},
"action": "rejection" // Or `create`, `add_owner`, `execution`
}
Updated 14 days ago