Partial URL-Encoding
Use Data URL in the Metadata of your NFTs
Fully on-chain CNFTs are typically implemented by assigning appropriate Base64-encoded dataURIs to the token metadata's src and image fields. DataURIs can encode a variety of data types like HTML, audio, image etc. As a result, a fully on-chain NFT can virtually encode any type of media file as long as its metadata is no larger than 16Kb. This is a standard and general approach, with the main disadvantage being the same Base64 encoding, which may make the original data 30% larger (on average). This is a difficult limitation because the 16Kb limit is a hard constraint that must always be met.
To overcome this problem, a possible, non-standard solution that works well with textual data (e.g., html and svg) is to replace base64 encoding with a variant of the original plain text in which some special characters have been substituted by their url-encoded version.
In specific, there are the following replacements:
% is replaced by %25
is replaced by %23
< is replaced by %3C
> is replaced by %3E
Actually, to display the partially url-encoded, on-chain NFTs only characters % and # must be replaced. The substitution of characters < and > is only required by NMKR for minting.
Use case for URL encoding
This method is easy to implement and saves a lot of space, which allows to mint way more complex On-Chain NFTs to be encoded and minted. A common use case are interactive NFTs like games.
Example Metadata
{
"721": {
"4864e4cf3f7e7fd2318b3bb4a7060665278a47fc4a6216c55dcbbeb0": {
"chrz2": {
"Color": "Arctic white",
"Enemy (Ambushman)": "Face with symbols on mouth",
"Enemy (Happy Stoner)": "Zany face",
"Enemy (Professor)": "Exploding head",
"Enemy (Shadowman)": "Cowboy hat face",
"Hero": "Face without mouth",
"Keyboard controls": "Press any key to start, arrow keys to move hero",
"Power-up": "Nazar amulet",
"Special": "False",
"Touch controls": "Tap to start, swipe up/down/left/right to move hero",
"Twitter": "twitter.com/gamezonchain",
"Variant": "Classic",
"files": [
{
"mediaType": "text/html",
"src": [
"data:text/html;utf8,%3C!DOCTYPE html%3E%3Cmeta charset='utf-8'/%",
"3E%3Cbody style='margin:0;touch-action:none;overscroll-behavior:",
"contain;background:%23000;'%3E%3Ccanvas id='a' style='margin:aut",
"o;display:block;'%3E%3C/canvas%3E%3Cscript%3Efunction aa(a){var ",
"d=0;return function(){return d%3Ca.length?{done:!1,value:a[d++]}",
":{done:!0}}}function b(a){var d='undefined'!=typeof Symbol&&Symb",
"ol.iterator&&a[Symbol.iterator];return d?d.call(a):{next:aa(a)}}",
" var e,f,g,ba='ontouchstart'in window,h,l,n,p,q,r,t,u,v,w,x,y,ca",
",z,da=String.fromCodePoint(0x1F44E),ea=[String.fromCodePoint(129",
"311),String.fromCodePoint(129304),String.fromCodePoint(128077),S",
"tring.fromCodePoint(128074)],fa=String.fromCodePoint(0x1F9FF),B=",
"[String.fromCodePoint(0x1F920),String.fromCodePoint(0x1F92C),Str",
"ing.fromCodePoint(0x1F92F),String.fromCodePoint(0x1F92A),String.",
"fromCodePoint(128064)],C=[String.fromCodePoint(127817),String.fr",
"omCodePoint(127818),String.fromCodePoint(127826),String.fromCode",
"Point(127827), String.fromCodePoint(128142)],D,ha=String.fromCod",
"ePoint(128561),ia=String.fromCodePoint(0x1F636),E,ja,F,G,H,ka,I,",
"la,ma,J,na,oa,pa,K,L,M,qa,ra,N=new AudioContext,O,P,Q,sa=[[1,1,1",
",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[1",
",2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1",
"],[1,4,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1",
",4,1],[1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,2,1,1",
",1,1,2,1],[1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2",
",2,2, 2,2,2,1],[1,2,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,",
"2,1,2,1,1,1,1,2,1],[1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,",
"2,2,2,1,2,2,2,2,2,2,1],[1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,2,1,1,",
"1,1,1,1,1,1,2,1,1,1,1,1,1],[0,0,0,0,0,1,2,1,2,2,2,2,2,2,2,2,2,2,",
"2,2,2,2,2,2,2,1,2,1,0,0,0,0,0],[1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,",
"0,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1],[2,2,2,2,2,2,2,2,2,1,0,5,5,0,",
"0,0,0,0,0,0,5,5,0,1,2,2,2,2,2,2,2,2,2],[1,1,1,1,1,1,2,1,2,1,1,1,",
"1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1],[0,0,0,0,0,1,2,1, 2,2",
",2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,0,0,0,0],[1,1,1,1,1,1,2,1",
",2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1],[1,2,2,2,2,2",
",2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1],[1,4,1,1",
",1,1,2,1,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,2,1,1,1,1,2,1],[1,2",
",2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,4,2,1],",
"[1,1,1,1,2,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,1,1",
",1],[1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2",
",2,2,1],[1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,1,1, 1,1,1,1,1,1,",
"1,1,1,1,2,1],[1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,",
"2,2,2,2,2,2,2,1],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,",
"1,1,1,1,1,1,1,1,1,1]];function ta(){var a=lvl,d=0;for(i=0;i%3Ca.",
"length;i++)d+=a[i].reduce(function(c,k){return 2==k?c+1:c},0);re",
"turn d}function ua(a){return 0+Math.floor(Math.random()*(a-0+1))",
"} function S(){z=0;qa=!1;y=!0;P=[];ma=[8,15];ja=[1,1,30,60];J=0;",
"lvl=sa.map(function(d){return d.slice()});la=ta();H=ka=7;v=0;G=3",
";t=!1;var a=window.devicePixelRatio;e=document.getElementById('a",
"');f=Math.min(window.innerWidth,window.innerHeight);e.width=e.he",
"ight=f*a;g=e.getContext('2d');g.scale(a,a);e.style.width=e.style",
".height=f+'px';q=r=0==(f/33|0)%252?f/33|0:(f/33|0)-1;n=33*q;p=22",
"*r;h=(f-n)/2;l=(f-p)/2;u={x:h+q+q/2,y:l+20*r+r/2,j:ia,speed:q/8,",
"g:1,i:1,l:1};g.fillStyle='%23F4F3EF';g.strokeStyle='%23F4F3EF'; ",
"F=(f-p)/2|0;g.font=4*r+'px Monospace';g.textAlign='center';g.tex",
"tBaseline='bottom';g.strokeText('CHRZ',f/2,F);va();T(0,0,lvl.len",
"gth,lvl[0].length);ba?window.addEventListener('touchstart',U,!0)",
":window.addEventListener('keydown',U);x=requestAnimationFrame(wa",
")}function xa(){g.clearRect(h,l+p,f/2,F/3);g.textAlign='left';g.",
"o='top';g.font=1.5*q+'px Monospace';g.strokeText('SCORE:'+v,h,l+",
"p+r+r/10);g.textAlign='center';g.font=q-4+'px serif'} function y",
"a(){g.clearRect(.7*f,l+p,.3*f,F/3);g.textAlign='right';g.o='top'",
";g.font=1.5*q+'px Monospace';for(var a='',d=0;d%3CG;d++)a+=u.j;g",
".strokeText(a,h+n,l+p+r+r/10);g.textAlign='center';g.font=q-4+'p",
"x serif'}function va(){E=[];var a=0;for(i=0;i%3Clvl.length;i++)f",
"or(j=0;j%3Clvl[i].length;j++)5==lvl[i][j]&&(0==lvl[i][j],E.push(",
"{x:h+j*q+q/2,y:l+i*r+r/2,type:a,j:B[a],speed:q/8,h:Math.floor(4*",
"Math.random()),m:ja[a],status:1}),a++)} function V(a,d,c){var k=",
"a.h;d=[Math.abs(a.x-d)+Math.abs(a.y-r-c),Math.abs(a.x-d)+Math.ab",
"s(a.y+r-c),Math.abs(a.x-q-d)+Math.abs(a.y-c),Math.abs(a.x+q-d)+M",
"ath.abs(a.y-c)];for(c=0;4%3Ec;c++)za(a.x,a.y,c)&&(d[c]=1E4);0==k",
"&&(d[1]=1E4);1==k&&(d[0]=1E4);2==k&&(d[3]=1E4);3==k&&(d[2]=1E4);",
"a=Math.min;k=a.apply;if(d instanceof Array)c=d;else{c=b(d);for(v",
"ar m,A=[];!(m=c.next()).done;)A.push(m.value);c=A}a=k.call(a,Mat",
"h,c);return d.indexOf(a)} function Aa(a){W(a)&&!a.status&&(a.spe",
"ed=q/8);if(!W(a)||!za(a.x,a.y,a.h)){if(W(a)){var d=b(X(a.x,a.y))",
",c=d.next().value;d=d.next().value;10==c&&16==d&&(2==a.status&&(",
"a.status=1,a.j=B[a.type]),!y&&0%3Ca.m&&(a.h=.5%3CMath.random()?2",
":3))}switch(a.h){case 0:a.y-=a.speed;break;case 1:a.y+=a.speed;b",
"reak;case 2:a.x-=a.speed;break;case 3:a.x+=a.speed}Ba(a)}}functi",
"on Ca(a,d){g.clearRect(h+d*q-q,l+a*r-r,3*q,3*r)}function Da(a){a",
".preventDefault();a.stopPropagation();a=a.touches[0];L=a.pageX;M",
"=a.pageY} function Ea(a){a.preventDefault();a.stopPropagation();",
"if(L&&M){var d=L-a.touches[0].pageX;a=M-a.touches[0].pageY;Math.",
"abs(d)%3EMath.abs(a)?0%3Ed?(2==u.g&&(u.g=3),u.i=3):(3==u.g&&(u.g",
"=2),u.i=2):0%3Ea?(0==u.g&&(u.g=1),u.i=1):(1==u.g&&(u.g=0),u.i=0)",
";M=L=null}}function Fa(a){'ArrowUp'==a.key&&(1==u.g&&(u.g=0),u.i",
"=0);'ArrowDown'==a.key&&(0==u.g&&(u.g=1),u.i=1);'ArrowLeft'==a.k",
"ey&&(3==u.g&&(u.g=2),u.i=2);'ArrowRight'==a.key&&(2==u.g&&(u.g=3",
"),u.i=3);a.preventDefault()} function Ga(){var a=(u.y-l-r/2)/r|0",
",d=(u.x-h-q/2)/q|0;switch(lvl[a][d]){case 0:z=0;break;case 2:lvl",
"[a][d]=0;z||(Y(30,150,'triangle'),z=1);la--;P.push([a,d]);0==la&",
"&(ra=!0);E.forEach(function(c){c.m--;ja[c.type]--});v+=10;break;",
"case 4:lvl[a][d]=0;clearInterval(ca);Y(40,1900,'square');t=!0;v+",
"=50;H=ka;u.l=1;E.forEach(function(c){2!=c.status&&(c.status=1,c.",
"j=ha,c.speed=q/16)});I=1E3;ca=setInterval(Ha,200);break;case 6:l",
"vl[a][d]=0,Y(120,300,'square'),a=200+D*D*200,v+=a,g.font=4*r+'px",
" Monospace',g.textAlign= 'center',g.textBaseline='bottom',g.fill",
"Text(C[D]+a+C[D],f/2,F),setTimeout(function(){g.clearRect(0,0,f,",
"l)},800),g.textBaseline='middle',g.font=q-4+'px serif'}}function",
" Ha(){I-=200;t&&Ia(900,'sawtooth',10,100,.2);0==I&&(H--,I=1E3);2",
"%3E=H&&E.forEach(function(a){2!=a.status&&(a.j=a.j==B[a.type]?ha",
":B[a.type])});0==H&&(H=ka,t=!1,E.forEach(function(a){2!=a.status",
"&&(a.status=0,a.j=B[a.type])}),clearInterval(ca))}function X(a,d",
"){return[(d-l-r/2)/r|0,(a-h-q/2)/q|0]} function za(a,d,c){d=b(X(",
"a,d));a=d.next().value;var k=d=d.next().value,m=a;1==c&&(m=a+1);",
"0==c&&(m=a-1);2==c&&(k=d-1);3==c&&(k=d+1);return 1==lvl[m][k]?!0",
":!1}function W(a){var d=a.y;return Number.isInteger((a.x-h+q/2)/",
"q)&&Number.isInteger((d-l-r/2)/r)} function Ja(){if(u.g!=u.i&&W(",
"u)){var a=b(X(u.x,u.y)),d=a.next().value;a=a.next().value;if(8==",
"d&&16==a&&1==u.i){u.i=u.g;return}za(u.x,u.y,u.i)||(u.g=u.i)}if(!",
"W(u)||!za(u.x,u.y,u.g)){u.x%3Eh+n&&(u.g=3);u.x%3Ch&&(u.g=2);swit",
"ch(u.g){case 0:u.y-=u.speed;break;case 1:u.y+=u.speed;break;case",
" 2:u.x-=u.speed;break;case 3:u.x+=u.speed}Ba(u)}}function Ba(a){",
"a.x%3E=33*q+h&&(g.clearRect(a.x-q,a.y-r/2,2*q,r),a.x=h+q/2);a.x%",
"3C=h&&(g.clearRect(a.x-q/2,a.y-r/2,q,r),a.x=h+32*q+q/2)} functio",
"n wa(){qa&&(g.font=4*r+'px Monospace',g.textAlign='center',g.tex",
"tBaseline='bottom',g.strokeText('OH'+String.fromCodePoint(128128",
")+'NO',f/2,F));E.forEach(function(a){var d=b(X(a.x,a.y));a=d.nex",
"t().value;d=d.next().value;Ca(a,d);T(a-1,d-1,a+2,d+2)});E.forEac",
"h(function(a){g.fillText(a.j,a.x,a.y);Aa(a);W(a)&&(a.h=V(a,ua(f)",
",ua(f)))});x=requestAnimationFrame(wa)}var Z=0,Ka; function La()",
"{g.clearRect(0,0,f,f);T(0,0,lvl.length,lvl[0].length);g.font=4*r",
"+'px Monospace';g.textAlign='center';g.textBaseline='bottom';4%3",
"EZ?(g.strokeText(ea[Z++],f/2,F),Y(100,200,'triangle')):(Z=0,Y(10",
"0,400,'triangle'),clearInterval(Ka),ra=!1,Q=null,g.textAlign='ce",
"nter',g.font=q-4+'px serif',M=L=null,ba?(document.addEventListen",
"er('touchstart',Da,!0),document.addEventListener('touchmove',Ea,",
"!0)):window.addEventListener('keydown',Fa,!0),y=!1,g.clearRect(0",
",0,f,f),T(0,0,lvl.length,lvl[0].length),u.x= h+q+q/2,u.y=l+20*r+",
"r/2,D=0,u.g=1,u.i=1,g.fillText(u.j,u.x,u.y),va(),O=K=0,pa=perfor",
"mance.now(),w=requestAnimationFrame(Ma))}function U(){'running'!",
"==N.state&&N.resume();window.removeEventListener('keydown',U);wi",
"ndow.removeEventListener('touchstart',U,!0);cancelAnimationFrame",
"(x);Ka=setInterval(La,500)} function Ma(){na=performance.now();o",
"a=(na-pa)/1E3;pa=na;K+=oa;O+=oa;.5%3CO&&(O=0,Ia(200,'triangle',2",
"0,380,.1));1==J&&4%3CK&&(null!=Q&&(lvl[P[Q][0]][P[Q][1]]=0),g.fi",
"llStyle='%23000',null!=Q&&g.fillRect(P[Q][1]*q+h,P[Q][0]*r+l,q,r",
"),g.fillStyle='%23F4F3EF',D=++D%25C.length);K%3E=ma[J]&&(K=0,Y(7",
"0,800,'sine'),J||(Q=ua(P.length-1),lvl[P[Q][0]][P[Q][1]]=6,g.fil",
"lText(C[D],P[Q][1]*q+h+q/2+r/12,P[Q][0]*r+l+r/2+r/12)),J=++J%252",
");var a=b(X(u.x,u.y)),d=a.next().value;a=a.next().value;Ca(d,a);",
"ya();T(d-1,a-1,d+2,a+2);xa();E.forEach(function(c){var k= b(X(c.",
"x,c.y));c=k.next().value;k=k.next().value;Ca(c,k);T(c-1,k-1,c+2,",
"k+2)});g.fillText(u.j,u.x,u.y);Ga();Na();Ja();E.forEach(function",
"(c){g.strokeText(c.j,c.x,c.y);Aa(c);if(W(c))if(2==c.status)c.spe",
"ed=q/8,c.h=c.x%3C16*r+l+r/2?V(c,11*r+l+r/2,10*r+l+r/2):V(c,22*r+",
"l+r/2,10*r+l+r/2);else if(J){0==c.type&&(c.h=V(c,u.x,u.y));1==c.",
"type&&(0==u.g&&(c.h=V(c,u.x,u.y-5*q)),1==u.g&&(c.h=V(c,u.x,u.y+5",
"*q)),2==u.g&&(c.h=V(c,u.x-5*q,u.y)),3==u.g&&(c.h=V(c,u.x+5*q,u.y",
")));if(2==c.type){if(0==u.g){var k=u.y-2*q;var m= u.x}1==u.g&&(k",
"=u.y+2*q,m=u.x);2==u.g&&(m=u.x-2*q,k=u.y);3==u.g&&(m=u.x+2*q,k=u",
".y);c.h=V(c,m-(E[0].x-m),k-(E[0].y-k))}3==c.type&&(c.h=Math.sqrt",
"(Math.pow(u.x-c.x,2)+Math.pow(u.y-c.y,2))%3E8*q?V(c,u.x,u.y):V(c",
",f,f))}else 0==c.type&&(c.h=V(c,0,0)),1==c.type&&(c.h=V(c,f,0)),",
"2==c.type&&(c.h=V(c,0,f)),3==c.type&&(c.h=V(c,f,f))})}var Oa; fu",
"nction Na(){var a=1;ra?Oa=setInterval(Pa,800):(E.forEach(functio",
"n(d){Math.abs(u.y-d.y)%3C=r/2&&Math.abs(u.x-d.x)%3C=q/2&&(t?1==d",
".status&&(g.clearRect(0,0,f,l),Y(100,160,'triangle'),d.status=2,",
"v+=200*u.l,u.l*=2,d.j=B[4],g.font=4*r+'px Monospace',g.textAlign",
"='center',g.textBaseline='bottom',g.fillText(B[d.type]+200*u.l+B",
"[d.type],f/2,F),setTimeout(function(){g.clearRect(0,0,f,l)},800)",
",g.textBaseline='middle',g.font=q-4+'px serif'):2!=d.status&&(G-",
"-,a=0,ya()))}),a?w=requestAnimationFrame(Ma):0%3CG?(qa=!0, Y(400",
",50,'sawtooth'),ba?(document.removeEventListener('touchstart',Da",
",!0),document.removeEventListener('touchmove',Ea,!0)):window.rem",
"oveEventListener('keydown',Fa,!0),null!=Q&&(lvl[P[Q][0]][P[Q][1]",
"]=0),y=!0,cancelAnimationFrame(w),x=requestAnimationFrame(wa),se",
"tTimeout(U,1500)):(g.font=4*r+'px Monospace',g.textAlign='center",
"',g.textBaseline='bottom',Y(400,50,'sawtooth'),g.strokeText('GAM",
"E'+da+'OVER',f/2,F),T(0,0,lvl.length,lvl[0].length),setTimeout(S",
",3E3)))} function Pa(){var a=String.fromCodePoint('0x274C'),d=St",
"ring.fromCodePoint('0x1F3C6');g.clearRect(0,0,f,f);T(0,0,lvl.len",
"gth,lvl[0].length);xa();g.font=4*r+'px Monospace';g.textAlign='c",
"enter';g.textBaseline='bottom';4%3EZ?(g.strokeText(B[Z++],f/2,F)",
",setTimeout(function(){Y(200,40,'sawtooth');g.strokeText(a,f/2,F",
")},300)):(Z=0,Y(300,800,'triangle'),clearInterval(Oa),g.strokeTe",
"xt(d+d+ia+d+d,f/2,F),setTimeout(S,3E3))} function T(a,d,c,k){g.t",
"extBaseline='middle';for(g.font=q-4+'px serif';a%3Cc;a++)for(var",
" m=d;m%3Ck;m++)1==lvl[a][m]&&g.fillRect(m*q+h,a*r+l,q,r),2==lvl[",
"a][m]&&(g.beginPath(),g.arc(m*q+h+q/2,a*r+l+r/2,q/8,0,2*Math.PI,",
"!0),g.stroke()),4==lvl[a][m]&&g.fillText(fa,m*q+h+q/2+r/12,a*r+l",
"+r/2+r/12),6==lvl[a][m]&&g.fillText(C[D],m*q+h+q/2+r/12,a*r+l+r/",
"2+r/12)} function Ia(a,d,c,k,m){var A=N.createGain(),R=N.createO",
"scillator();A.connect(N.destination);A.gain.setValueAtTime(0,N.c",
"urrentTime);A.gain.linearRampToValueAtTime(m,N.currentTime+c/1E3",
");A.gain.linearRampToValueAtTime(0,N.currentTime+k/1E3);R.freque",
"ncy.value=a;R.type=d;R.connect(A);R.start(0);R.stop(N.currentTim",
"e+k/1E3)}function Y(a,d,c){Ia(d,c,10,a,.8)}window.addEventListen",
"er('resize',function(){clearInterval(Ka);cancelAnimationFrame(x)",
";cancelAnimationFrame(w);S()});S(); %3C/script%3E%3C/body%3E"
]
}
],
"image": [
"data:image/svg+xml;utf8,%3Csvg width='500' height='560' viewBox=",
"'0 0 500 560' xmlns='http://www.w3.org/2000/svg'%3E %3Crect widt",
"h='500' height='560' fill='%23F4F3EF' /%3E %3Ccircle stroke='%23",
"ba0001' stroke-width='10' cx='250' cy='250' fill='%23000' r='24",
"0'/%3E%3Cg text-anchor='middle' style='font:700 50pt monospace' ",
"fill='%23ba0001'%3E%3Ctext x='50%25' y='25%25'%3E C H R Z %3C/te",
"xt%3E %3Ctext x='50%25' y='240'%3E &%23x1F920; &%23x1F92C; &%23x",
"1F92F; &%23x1F92A; %3C/text%3E %3Ctext x='50%25' y='330'%3E VS%3",
"C/text%3E %3Ctext x='50%25' y='430'%3E &%23x1F636;%3C/text%3E %3",
"Ctext x='50%25' y='550'%3E CLASSIC %3C/text%3E%3C/g%3E%3C/svg%3E"
],
"mediaType": "image/svg+xml",
"name": "CHRZ #2"
}
}
}
}
The check metadata option in NMKR is not able to verify whether the metadata are syntactically correct. Please, if in doubt, mint a test NFT.
Example NFT
Special credits to Gamez On Chain for providing a lot of valuable information to this topic.