The home of JSON Schema validation right in your browser 🚧 Alpha 🚧 draft-7 only
Valid JSON:
xxxxxxxxxx
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "#/definitions/ipnftSchema",
"definitions": {
"ipnftSchema": {
"type": "object",
"properties": {
"schema_version": {
"type": "string",
"minLength": 5,
"maxLength": 14,
"pattern": "^(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)\\.(?:0|[1-9]\\d*)$",
"description": "Semantic version number of schema that is being used"
},
"name": {
"type": "string",
"minLength": 5,
"description": "Identifies the asset to which this token represents"
},
"description": {
"type": "string",
"minLength": 10,
"description": "Describes the asset to which this token represents"
},
"image": {
"type": "string",
"description": "A URI pointing to a resource with mime type image/* representing the asset to which this token represents. Consider making any images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive."
},
"external_url": {
"type": "string",
"description": "A URI pointing to an external resource"
},
"properties": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "IP-NFT",
"description": "Identifier that this is an IP-NFT that complies to the standards of Molecule's IP-NFT"
},
"agreements": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"License Agreement",
"Sponsored Research Agreement"
],
"description": "Describes the type of agreement that is attached"
},
"url": {
"type": "string",
"format": "uri",
"description": "an url that resolves to the agreement payload"
},
"mime_type": {
"type": "string",
"description": "Mime type of the file that is attached"
},
"content_hash": {
"type": "string",
"description": "a CID encoded content hash to verify file integrity"
},
"encryption": {
"type": "object",
"properties": {
"protocol": {
"type": "string",
"const": "lit"
},
"encrypted_sym_key": {
"type": "string",
"description": "This key needs to be passed to the lit nodes by the owner for decryption"
},
"access_control_conditions": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"contractAddress": {
"type": "string"
},
"chain": {
"type": "string"
},
"returnValueTest": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"comparator": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"comparator",
"value"
],
"additionalProperties": false
},
"conditionType": {
"type": "string",
"const": "evmBasic"
},
"standardContractType": {
"type": "string",
"enum": [
"ERC721",
"ERC1155"
]
},
"method": {
"type": "string"
},
"parameters": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"contractAddress",
"chain",
"returnValueTest",
"conditionType",
"standardContractType",
"method",
"parameters"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"contractAddress": {
"$ref": "#/definitions/ipnftSchema/properties/properties/properties/agreements/items/properties/encryption/properties/access_control_conditions/items/anyOf/0/properties/contractAddress"
},
"chain": {
"$ref": "#/definitions/ipnftSchema/properties/properties/properties/agreements/items/properties/encryption/properties/access_control_conditions/items/anyOf/0/properties/chain"
},
"returnValueTest": {
"$ref": "#/definitions/ipnftSchema/properties/properties/properties/agreements/items/properties/encryption/properties/access_control_conditions/items/anyOf/0/properties/returnValueTest"
},
"conditionType": {
"type": "string",
"const": "evmContract"
},
"functionName": {
"type": "string"
},
"functionParams": {
"type": "array",
"items": {
"type": "string"
}
},
"functionAbi": {
"type": "object",
"properties": {
"inputs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"internalType": {
"type": "string"
}
},
"required": [
"name",
"type"
],
"additionalProperties": false
}
},
"outputs": {
"type": "array",
"items": {
"$ref": "#/definitions/ipnftSchema/properties/properties/properties/agreements/items/properties/encryption/properties/access_control_conditions/items/anyOf/1/properties/functionAbi/properties/inputs/items"
}
},
"name": {
"type": "string"
},
"payable": {
"type": "boolean"
},
"stateMutability": {
"type": "string",
"enum": [
"view",
"pure"
]
},
"type": {
"type": "string",
"const": "function"
}
},
"required": [
"inputs",
"outputs",
"name",
"stateMutability",
"type"
],
"additionalProperties": false
}
},
"required": [
"contractAddress",
"chain",
"returnValueTest",
"conditionType",
"functionName",
"functionParams",
"functionAbi"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"operator": {
"type": "string",
"enum": [
"or",
"and"
]
}
},
"required": [
"operator"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"protocol",
"encrypted_sym_key",
"access_control_conditions"
],
"additionalProperties": false
}
},
"required": [
"type",
"url",
"mime_type",
"content_hash"
],
"additionalProperties": false,
"description": "agreements are documents that back IP in the real world (e.g. paper contracts)"
}
},
"project_details": {
"type": "object",
"properties": {
"industry": {
"type": "string",
"description": "Economic industry that this IP relates to"
},
"organization": {
"type": "string",
"description": "Organization that created the IP"
},
"topic": {
"type": "string",
"minLength": 3,
"description": "Topic of the IP"
},
"research_lead": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 3
},
"last_name": {
"type": "string"
},
"name": {
"type": "string",
"minLength": 3
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"name",
"email"
],
"additionalProperties": false
}
},
"required": [
"industry",
"organization",
"topic",
"research_lead"
],
"additionalProperties": false,
"description": "describes a research project that generates intellectual property"
}
},
"required": [
"type",
"agreements",
"project_details"
],
"additionalProperties": false
}
},
"required": [
"schema_version",
"name",
"description",
"image",
"external_url",
"properties"
],
"additionalProperties": false,
"description": "Describes IP-NFT Token metadata, based on EIP-1155"
}
}
}
Valid JSON:
xxxxxxxxxx
{
"schema_version": "0.0.1",
"name": "Warp Drive",
"description": "Sensors indicate human life forms 30 meters below the planet's surface. Stellar flares are increasing in magnitude and frequency. Set course for Rhomboid Dronegar 006, warp seven. There's no evidence of an advanced communication network. Total guidance system failure, with less than 24 hours' reserve power. Shield effectiveness has been reduced 12 percent. We have covered the area in a spherical pattern which a ship without warp drive could cross in the given time.",
"image": "ar://s20Sgla8y9zA-dU8-lYitdjL4knzgMotN3-VWf0wDOc",
"external_url": "https://ip-nft.com/1",
"properties": {
"type": "IP-NFT",
"agreements": [
{
"type": "Sponsored Research Agreement",
"url": "ar://GSXupHmyH_fPiKNr18dUEqAdOv8hRQTxBOHOD9OviVQ",
"mime_type": "application/pdf",
"content_hash": "bagaaiera7ftqs3jmnoph3zgq67bgjrszlqtxkk5ygadgjvnihukrqioipndq",
"encryption": {
"protocol": "lit",
"encrypted_sym_key": "94250e7f67bcf17f6ac4694149dc3d5a7c5b6b156c5c38908a9248bd58f830acc0376592cc2c6dd3b317a5fcccc5840fb5e8d59f81557bad75488180b71824f6a348e8ae1d442012d438f5e0d8429a9e5fb027d8e351216f4ad9468d78bb02a4b8db19874f6b0c50f9ca1e756289c9f86d142c6fd5dcb2bb4d0bab4f0f0bfd670000000000000020cb396662288dc2a1852d4b271b48b9fc2ba9f707f838793f5a2b8b0826ffcbdbd40957c0cc9f321e2b37f6eabeb23283",
"access_control_conditions": [
{
"conditionType": "evmContract",
"contractAddress": "0x36444254795ce6E748cf0317EEE4c4271325D92A",
"chain": "goerli",
"functionName": "canRead",
"functionParams": [
":userAddress",
"21"
],
"functionAbi": {
"inputs": [
{
"internalType": "address",
"name": "reader",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"name": "canRead",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
"returnValueTest": {
"key": "",
"comparator": "=",
"value": "true"
}
}
]
}
}
],
"project_details": {
"industry": "Space Travel",
"organization": "Star Fleet Predecessor",
"topic": "Warp Field Technology",
"research_lead": {
"name": "Zefram Cochrane",
"email": "z.cochrane@survivors.earth"
}
}
}
}
jsonschema.dev@relequestual Thanks to Sponsors: