Try   HackMD

Autonomy Metadata Standard V1

tags: Autonomy nft-indexer

For each query of NFTs, we returns tokens in the following format.

{
   "id": "19961",
    "blockchain": "tezos",
    "fungible": true,
    "contractType": "fa2",
    "contractAddress": "KT1MxDwChiDwd6WBVs24g1NjERUoK622ZEFp",
    "edition": 0,
    "editionName": "",
    "mintedAt": "0001-01-01T00:00:00Z",
    "balance": 0,
    "owner": "tz1W9CspMuG3m45uDyY8wBav8YzoYrv4uW8i",
    "owners": {
        "tz1W9CspMuG3m45uDyY8wBav8YzoYrv4uW8i": 1
    },
    "indexID": "tez-KT1MxDwChiDwd6WBVs24g1NjERUoK622ZEFp-19961",
    "source": "tzkt",
    "swapped": false,
    "burned": false,
    "lastActivityTime": "0001-01-01T00:00:00Z",
    "lastRefreshedTime": "2023-01-05T02:23:23.529Z",
    "thumbnailID": "2f29c157-a1cc-4f90-c806-4c10914a7900",
    "ipfsPinned": false,
    "provenance": null,
    "projectMetadata": {...}
}
Key Description
id The id of the token. (This is not a unique value since it would be duplicated by blockchain and contracts)
blockchain The blockchain where the token belongs to
fungible An indicator of whether the token is fungible or non-fungible
contractType The contract type of the token
contractAddress The contract address of the token
edition The edition number of the token
editionName The text representation of edition of the token (for Feral File)
mintedAt The minted time of the token
owner The owner of the token (to deprecate)
owners A map of owners and balances of the token
indexID The unique id of the token
source The data source of the token
lastActivityTime The timestamp of last activity of this token (Issue or transfer). Zero time for fungible token.
thumbnailID The cache image ID from cloudflare for the token
projectMetadata The detailed information of the token. It could be contract data or collection(exhibition) details. (See below)
provenance The provenance information of a NFT. null for fungible token. (See below)

Project Metadata

Project metadata is mainly the source of data for displaying on Autonomy app.

Detail Metadata
{
    "title": "Sphereportal #36",
    "description": "A collection of uniquely formulated sphere portals creates by a set of spinning straight lines\nRarity includes:\nOne of five random spinning angles\nOne of three generating speeds\nOne of four line-sizes that affect the size of the sphere\nOne of eighteen random light background colors\nOne of seven dark pen colors",
    "medium": "software",
    "mimeType": "",
    "artistID": "tz1SvJbECAva9gxczfBmX3CAFUszgQXNgsNm",
    "artistName": "tz1SvJbECAva9gxczfBmX3CAFUszgQXNgsNm",
    "artistURL": "https://www.fxhash.xyz/u/P1x3lboy",
    "assetID": "ae6e316dd42e27893795b4876f47024d3bd0f0d41eba35d695f361bd5c54e4aa",
    "maxEdition": 64,
    "source": "fxhash",
    "sourceURL": "https://www.fxhash.xyz",
    "assetURL": "https://www.fxhash.xyz/gentk/396745",
    "previewURL": "https://gateway.fxhash.xyz/ipfs/QmbMkC4vSAgTvGZ2pZHYHqvgG4F3c2UaDBBndf3BBzkQEL?fxhash=ooa5WQf8qGgb9FCGwYzWNopeVuopmuRrib5Ge4TyFnpAiKKJvGS",
    "thumbnailURL": "https://gateway.fxhash.xyz/ipfs/QmNbBuFXo1stNUd24VpCXDYwxkMZXYHFvV3Ga76ADmyGHB",
    "galleryThumbnailURL": "https://gateway.fxhash.xyz/ipfs/QmNbBuFXo1stNUd24VpCXDYwxkMZXYHFvV3Ga76ADmyGHB",
    // uncertained
    "assetData": "",
    "originalFileURL": "",
    "royalties": {
        "decimals": 4,
        "shares": {
            "artist": 1000,
            "feralfile": 500
        }
    },
    "artworkMetadata": {},
    "firstMintedAt": "0001-01-01T00:00:00.000Z"
}
Key Description
title The title of the artwork
description The description of the artwork
medium The medium type of the artwork (See below)
mimeType The mime type of the artwork if it is detectable
artistID The blockchain address of the artist of the artwork
artistName The artist name of the artwork
artistURL The link to the page of the artist
assetID The asset id of the artwork. The value could be a contract address.
maxEdition The maximum editions of this artwork
source The platform or marketplace where the artwork is minted or listed.
sourceURL The link of the source platform
assetURL The link to the asset in the source platform
previewURL The file which is used for "View Artwork"
thumbnailURL The file which is used for displaying in the artwork detail
galleryThumbnailURL The file which is used for displaying in the gallery screen
artworkMetadata Some customized field for an artwork (for Feral File)
royalties The royalty information by recipients (See below)

Royalties (TBD)

Follow the current royalties structure from the tezos community:

{
  "decimals": 4,
  "shares": {
    "artist": 1000,
    "feralfile": 500
  }
}

The royalty information are

  • artist: 10% (1000/10000)
  • feralfile: 5% (500/10000)

Provenance

Provenace is a list of provenances belongs to a token descended by time.

[
    {
        "type": "mint",
        "owner": "0xAD6C5Cc505bB12FE6bFA37e4202Cb139409aE006",
        "blockchain": "ethereum",
        "blockNumber": 14035683,
        "timestamp": "2022-01-19T11:19:19Z",
        "txid": "0xc706ab0afb6a7ea022433d25ebd8783fde5fb2ce24eb4606a9233e1ed531aa0c",
        "txURL": "https://etherscan.io/tx/0xc706ab0afb6a7ea022433d25ebd8783fde5fb2ce24eb4606a9233e1ed531aa0c"
    },
    {
        "type": "burn",
        "owner": "a3ezwdYVEVrHwszQrYzDTCAZwUD3yKtNsCq9YhEu97bPaGAKy1",
        "blockchain": "bitmark",
        "timestamp": "2022-01-19T11:18:06Z",
        "txid": "0bd3cffb63f23e05960dcaa196b75ab311245ccc961af9dbd774e3c39bacac33",
        "txURL": "https://registry.bitmark.com/transaction/0bd3cffb63f23e05960dcaa196b75ab311245ccc961af9dbd774e3c39bacac33"
    },
    {
        "type": "transfer",
        "owner": "b8XN8LDoKevDtBMRZbv6tefvy5NJ9gCFs9w7H9fLTBx54VEAaK",
        "blockchain": "bitmark",
        "timestamp": "2022-01-07T10:59:47Z",
        "txid": "2d4c9f6e888382022caf0b1a9cdef443dcdacf27fb744623493915753efd9b98",
        "txURL": "https://registry.bitmark.com/transaction/2d4c9f6e888382022caf0b1a9cdef443dcdacf27fb744623493915753efd9b98"
    },
    {
        "type": "transfer",
        "owner": "ahPEGaUSRZg1kYFfGyWRwXSMotYDcopcNADd6q1nb2AgKRG2yk",
        "blockchain": "bitmark",
        "timestamp": "2021-12-15T17:35:14Z",
        "txid": "6cfbcc49adaea9f452984e704d3538317715cd9c0c96f642f239159c2e64b1df",
        "txURL": "https://registry.bitmark.com/transaction/6cfbcc49adaea9f452984e704d3538317715cd9c0c96f642f239159c2e64b1df"
    },
    {
        "type": "issue",
        "owner": "aDADzvsfKdAA4fSoAh9sBFcVzAgbiaGbrTJkS5SMpT8zfza7SD",
        "blockchain": "bitmark",
        "timestamp": "2021-12-15T17:02:48Z",
        "txid": "ab32e92f3126ba1d655e78fb1d412c2cec0af4fca048fef2616541d2b4d8e126",
        "txURL": "https://registry.bitmark.com/transaction/ab32e92f3126ba1d655e78fb1d412c2cec0af4fca048fef2616541d2b4d8e126"
    }
]
Key Description
type Type of the provenance record. (Issue or transfer)
owner The new owner of the token
blockchain The blockchain where the provenance record happened
blockNumber the block height of the transaction happened
timestamp The timestamp of the provenance record
txURL a url link to the happened transaction according to blockchain

Medium and playback

The Autonomy app determines the playback style based on the artwork medium type.

Images

Condition

  • Feral File artworks with type: image
  • OpenSea, Objkt tokens with the preview extension are:
    • jpg, jpeg
    • png
    • svg

Playback

The Autonomy app will load the remote artwork to an image view with a transparent background.
For the SVG, it will also add a white color for the default stroke color.

Video

Condition

  • Feral File artworks with type: video
  • OpenSea, Objkt tokens with the preview extension are:
    • mp4 (H264)
    • mov

Playback

The Autonomy app will load the remote artwork URL to a video player, with a black background. It will hide the video control bar and play looping by default.

Software

Condition

  • Feral File artworks with type: software
  • OpenSea, Objkt tokens with index.html

Playback

The Autonomy app will load the remote artwork URL to a Webview (based on the device OS, it might be different).
To prevent any strange behavior from the javascript artwork, it will disable the zoom and scroll by default. Some specific artworks might override this setting.

Other

Condition

  • Any artwork which does not fit above conditions

Playback

The app will consider the mimeType property from the asset information.