PaintSwap
Search…
Metadata
Describes the rich metadata support for NFTs on PaintSwap

Standard Metadata

PaintSwap follows the metadata standard defined by OpenSea. Currently, the following fields from this standard are supported:
  • name
  • description
    • Basic markdown syntax is supported, such as **bold**, *italic*, [link](https://site.com) or * bullets. See https://www.markdownguide.org/basic-syntax/
    • Line breaks (\r\n or <br>) is supported. We recommend using <br> where <br><br> produces an empty line.
    • We do NOT support headers, images, block quotes or multiple empty lines.
  • image
    • A link to an image (jpg, png, gif, svg, etc), audio (mp3) or a video (mp4). Used as the preview image on the marketplace. Also used on the NFT page if animation_url is not found. It's required even when using animation_url, or the NFT won't load.
  • animation_url
    • The main content of the NFT if it differs from image. It varies according to the kind of NFT. It can be a high-resolution image, audio, video, 3D or html. It must exist for 3D and html, otherwise optional.
  • external_uri
    • If {id} is included in this field, we replace it with the hex-padded token ID, so you don't have to generate a different external_uri for each asset of your collection.
  • attributes
  • background_color
    • A hex color code such as #FFF or #6fcc45. Will replace the default transparent background for certain image types (png, svg), 3D model viewer or iNFT (html) if not specified in the html already. The user can still access the original media file without the background color.

3D and Interactive NFTs

Make sure to set the following fields:
  • animation_type - Helps the site determine the format as quickly as possible and may not work without it. It should be:
    • "animation_type": "interactive" for iNFT
    • "animation_type": "3d" for 3D files
  • animation_url - For iNFT it should be a link to your single html file, which will be loaded as an iframe where it is allowed. For 3D it's a link to the 3D file.
Optional:
  • background_color - See above

Attibute rarity and frequency

We have also added custom support for displaying rarity/frequency for attributes:
1
{
2
"attributes": [
3
{
4
"trait_type": "Background",
5
"value": "Line Orange",
6
"count": 28,
7
"average": 0.013671875,
8
"frequency": "1.367%"
9
},
10
{
11
"trait_type": "Body",
12
"value": "Beach",
13
"count": 135,
14
"average": 0.06591796875,
15
"frequency": "6.592%"
16
},
17
{
18
"trait_type": "Eyes",
19
"value": "Gaze",
20
"count": 148,
21
"average": 0.072265625,
22
"frequency": "7.227%"
23
},
24
{
25
"trait_type": "Hair",
26
"value": "Blonde",
27
"count": 410,
28
"average": 0.2001953125,
29
"frequency": "20.020%"
30
},
31
{
32
"trait_type": "Mouth",
33
"value": "Frown",
34
"count": 125,
35
"average": 0.06103515625,
36
"frequency": "6.104%"
37
},
38
{
39
"trait_type": "Shoes",
40
"value": "Clogs",
41
"count": 145,
42
"average": 0.07080078125,
43
"frequency": "7.080%"
44
}
45
],
46
"rarity": {
47
"rank": 395,
48
"total": 2048,
49
"rarest": {
50
"score": "1.367%",
51
"rank": 136
52
},
53
"arithmetic": {
54
"score": "24.731%",
55
"rank": 261
56
},
57
"geometric": {
58
"score": "0.023736563129%",
59
"rank": 376
60
},
61
"harmonic": {
62
"score": "4.327%",
63
"rank": 395
64
}
65
}
66
}
Copied!
Attribute with Rank and Rarity frequency