Sequence Metadata API
Store, refresh, retrieve, and search ERC-721/ERC-1155 token metadata and collection/contract info for Ethereum-compatible chains.
Store, refresh, retrieve, and search ERC-721/ERC-1155 token metadata and collection/contract info for Ethereum-compatible chains.
{
"components": {
"schemas": {
"ErrorWebrpcEndpoint": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcEndpoint"
},
"code": {
"type": "number",
"example": 0
},
"msg": {
"type": "string",
"example": "endpoint error"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorWebrpcRequestFailed": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcRequestFailed"
},
"code": {
"type": "number",
"example": -1
},
"msg": {
"type": "string",
"example": "request failed"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorWebrpcBadRoute": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcBadRoute"
},
"code": {
"type": "number",
"example": -2
},
"msg": {
"type": "string",
"example": "bad route"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 404
}
}
},
"ErrorWebrpcBadMethod": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcBadMethod"
},
"code": {
"type": "number",
"example": -3
},
"msg": {
"type": "string",
"example": "bad method"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 405
}
}
},
"ErrorWebrpcBadRequest": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcBadRequest"
},
"code": {
"type": "number",
"example": -4
},
"msg": {
"type": "string",
"example": "bad request"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorWebrpcBadResponse": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcBadResponse"
},
"code": {
"type": "number",
"example": -5
},
"msg": {
"type": "string",
"example": "bad response"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 500
}
}
},
"ErrorWebrpcServerPanic": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcServerPanic"
},
"code": {
"type": "number",
"example": -6
},
"msg": {
"type": "string",
"example": "server panic"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 500
}
}
},
"ErrorWebrpcInternalError": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcInternalError"
},
"code": {
"type": "number",
"example": -7
},
"msg": {
"type": "string",
"example": "internal error"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 500
}
}
},
"ErrorWebrpcClientDisconnected": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcClientDisconnected"
},
"code": {
"type": "number",
"example": -8
},
"msg": {
"type": "string",
"example": "client disconnected"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorWebrpcStreamLost": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcStreamLost"
},
"code": {
"type": "number",
"example": -9
},
"msg": {
"type": "string",
"example": "stream lost"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorWebrpcStreamFinished": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "WebrpcStreamFinished"
},
"code": {
"type": "number",
"example": -10
},
"msg": {
"type": "string",
"example": "stream finished"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 200
}
}
},
"ErrorUnauthorized": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "Unauthorized"
},
"code": {
"type": "number",
"example": 1000
},
"msg": {
"type": "string",
"example": "Unauthorized access"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 401
}
}
},
"ErrorPermissionDenied": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "PermissionDenied"
},
"code": {
"type": "number",
"example": 1001
},
"msg": {
"type": "string",
"example": "Permission denied"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 403
}
}
},
"ErrorSessionExpired": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "SessionExpired"
},
"code": {
"type": "number",
"example": 1002
},
"msg": {
"type": "string",
"example": "Session expired"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 403
}
}
},
"ErrorMethodNotFound": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "MethodNotFound"
},
"code": {
"type": "number",
"example": 1003
},
"msg": {
"type": "string",
"example": "Method not found"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 404
}
}
},
"ErrorRequestConflict": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "RequestConflict"
},
"code": {
"type": "number",
"example": 1004
},
"msg": {
"type": "string",
"example": "Conflict with target resource"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 409
}
}
},
"ErrorFail": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "Fail"
},
"code": {
"type": "number",
"example": 1005
},
"msg": {
"type": "string",
"example": "Request Failed"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 500
}
}
},
"ErrorGeoblocked": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "Geoblocked"
},
"code": {
"type": "number",
"example": 1006
},
"msg": {
"type": "string",
"example": "Geoblocked region"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 451
}
}
},
"ErrorTimeout": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "Timeout"
},
"code": {
"type": "number",
"example": 2000
},
"msg": {
"type": "string",
"example": "Request timed out"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 408
}
}
},
"ErrorInvalidArgument": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "InvalidArgument"
},
"code": {
"type": "number",
"example": 2001
},
"msg": {
"type": "string",
"example": "Invalid argument"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorRequiredArgument": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "RequiredArgument"
},
"code": {
"type": "number",
"example": 2002
},
"msg": {
"type": "string",
"example": "Required argument missing"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorQueryFailed": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "QueryFailed"
},
"code": {
"type": "number",
"example": 2003
},
"msg": {
"type": "string",
"example": "Query failed"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorValidationFailed": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "ValidationFailed"
},
"code": {
"type": "number",
"example": 2004
},
"msg": {
"type": "string",
"example": "Validation failed"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorRateLimited": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "RateLimited"
},
"code": {
"type": "number",
"example": 2005
},
"msg": {
"type": "string",
"example": "Rate limited"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 429
}
}
},
"ErrorNotFound": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "NotFound"
},
"code": {
"type": "number",
"example": 3000
},
"msg": {
"type": "string",
"example": "Resource not found"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorProjectNotFound": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "ProjectNotFound"
},
"code": {
"type": "number",
"example": 3002
},
"msg": {
"type": "string",
"example": "Project not found"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorChainNotFound": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "ChainNotFound"
},
"code": {
"type": "number",
"example": 3003
},
"msg": {
"type": "string",
"example": "Chain not found"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ErrorTokenDirectoryDisabled": {
"type": "object",
"required": [
"error",
"code",
"msg",
"status"
],
"properties": {
"error": {
"type": "string",
"example": "TokenDirectoryDisabled"
},
"code": {
"type": "number",
"example": 4001
},
"msg": {
"type": "string",
"example": "Token Directory is disabled"
},
"cause": {
"type": "string"
},
"status": {
"type": "number",
"example": 400
}
}
},
"ContractType": {
"type": "string",
"description": "Represented as uint16 on the server side",
"enum": [
"UNKNOWN",
"ERC20",
"ERC721",
"ERC1155"
]
},
"ResourceStatus": {
"type": "string",
"description": "Represented as uint32 on the server side",
"enum": [
"NOT_AVAILABLE",
"STALE",
"AVAILABLE"
]
},
"PropertyType": {
"type": "string",
"description": "Represented as uint32 on the server side",
"enum": [
"INT",
"STRING",
"ARRAY",
"GENERIC"
]
},
"SwapType": {
"type": "string",
"description": "Represented as uint32 on the server side",
"enum": [
"UNKNOWN",
"BUY",
"SELL"
]
},
"TaskStatus": {
"type": "string",
"description": "Represented as uint8 on the server side",
"enum": [
"QUEUED",
"PAUSED",
"FAILED",
"COMPLETED"
]
},
"Version": {
"type": "object",
"required": [
"webrpcVersion",
"schemaVersion",
"schemaHash",
"appVersion"
],
"properties": {
"webrpcVersion": {
"type": "string"
},
"schemaVersion": {
"type": "string"
},
"schemaHash": {
"type": "string"
},
"appVersion": {
"type": "string"
}
}
},
"RuntimeStatus": {
"type": "object",
"required": [
"healthOK",
"startTime",
"uptime",
"uptimeString",
"ver",
"branch",
"commitHash",
"checks",
"runnable"
],
"properties": {
"healthOK": {
"type": "boolean"
},
"startTime": {
"type": "string"
},
"uptime": {
"type": "number"
},
"uptimeString": {
"type": "string"
},
"ver": {
"type": "string"
},
"branch": {
"type": "string"
},
"commitHash": {
"type": "string"
},
"checks": {
"$ref": "#/components/schemas/RuntimeChecks"
},
"runnable": {
"type": "object",
"description": "map<string,RunnableStatus>",
"additionalProperties": {
"$ref": "#/components/schemas/RunnableStatus"
}
}
}
},
"RunnableStatus": {
"type": "object",
"required": [
"running",
"restarts",
"startTime",
"lastError"
],
"properties": {
"running": {
"type": "boolean"
},
"restarts": {
"type": "number"
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"lastError": {
"type": "object"
}
}
},
"RuntimeChecks": {
"type": "object"
},
"ContractIndex": {
"type": "object",
"required": [
"chainId",
"address",
"type",
"metadata",
"contentHash",
"deployed",
"bytecodeHash",
"notFound",
"updatedAt",
"status"
],
"properties": {
"chainId": {
"type": "number"
},
"address": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/ContractType"
},
"metadata": {
"type": "object",
"description": "map<string,any>",
"additionalProperties": {
"type": "object"
}
},
"contentHash": {
"type": "number"
},
"deployed": {
"type": "boolean"
},
"bytecodeHash": {
"type": "string"
},
"notFound": {
"type": "boolean"
},
"updatedAt": {
"type": "string"
},
"queuedAt": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/ResourceStatus"
}
}
},
"TokenIndex": {
"type": "object",
"required": [
"key",
"chainId",
"contractAddress",
"tokenId",
"metadata",
"updatedAt"
],
"properties": {
"key": {
"type": "string"
},
"chainId": {
"type": "number"
},
"contractAddress": {
"type": "string"
},
"tokenId": {
"type": "string"
},
"metadata": {
"type": "object",
"description": "map<string,any>",
"additionalProperties": {
"type": "object"
}
},
"notFound": {
"type": "boolean"
},
"lastFetched": {
"type": "string"
},
"fetchCount": {
"type": "number"
},
"updatedAt": {
"type": "string"
},
"queuedAt": {
"type": "string"
}
}
},
"ContractInfo": {
"type": "object",
"required": [
"chainId",
"address",
"name",
"type",
"symbol",
"logoURI",
"deployed",
"bytecodeHash",
"extensions",
"contentHash",
"updatedAt",
"notFound",
"status"
],
"properties": {
"chainId": {
"type": "number"
},
"address": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"symbol": {
"type": "string"
},
"decimals": {
"type": "number"
},
"logoURI": {
"type": "string"
},
"deployed": {
"type": "boolean"
},
"bytecodeHash": {
"type": "string"
},
"extensions": {
"$ref": "#/components/schemas/ContractInfoExtensions"
},
"contentHash": {
"type": "number"
},
"updatedAt": {
"type": "string"
},
"notFound": {
"type": "boolean"
},
"queuedAt": {
"type": "string"
},
"status": {
"$ref": "#/components/schemas/ResourceStatus"
}
}
},
"ContractInfoExtensions": {
"type": "object",
"required": [
"link",
"description",
"categories",
"ogImage",
"ogName",
"originChainId",
"originAddress",
"blacklist",
"verified",
"verifiedBy",
"featured"
],
"properties": {
"link": {
"type": "string"
},
"description": {
"type": "string"
},
"categories": {
"type": "array",
"description": "[]string",
"items": {
"type": "string"
}
},
"ogImage": {
"type": "string"
},
"ogName": {
"type": "string"
},
"originChainId": {
"type": "number"
},
"originAddress": {
"type": "string"
},
"blacklist": {
"type": "boolean"
},
"verified": {
"type": "boolean"
},
"verifiedBy": {
"type": "string"
},
"featured": {
"type": "boolean"
}
}
},
"TokenMetadata": {
"type": "object",
"required": [
"tokenId",
"name",
"attributes",
"status"
],
"properties": {
"tokenId": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image": {
"type": "string"
},
"video": {
"type": "string"
},
"audio": {
"type": "string"
},
"properties": {
"type": "object",
"description": "map<string,any>",
"additionalProperties": {
"type": "object"
}
},
"attributes": {
"type": "array",
"description": "[]map<string,any>",
"items": {
"type": "object",
"description": "map<string,any>",
"additionalProperties": {
"type": "object"
}
}
},
"imageData": {
"type": "string"
},
"externalUrl": {
"type": "string"
},
"backgroundColor": {
"type": "string"
},
"animationUrl": {
"type": "string"
},
"decimals": {
"type": "number"
},
"updatedAt": {
"type": "string"
},
"assets": {
"type": "array",
"description": "[]Asset",
"items": {
"$ref": "#/components/schemas/Asset"
}
},
"status": {
"$ref": "#/components/schemas/ResourceStatus"
},
"queuedAt": {
"type": "string"
},
"lastFetched": {
"type": "string"
}
}
},
"PropertyFilter": {
"type": "object",
"required": [
"name",
"type"
],
"properties": {
"name": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/PropertyType"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"values": {
"type": "array",
"description": "[]any",
"items": {
"type": "object"
}
}
}
},
"Filter": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"properties": {
"type": "array",
"description": "[]PropertyFilter",
"items": {
"$ref": "#/components/schemas/PropertyFilter"
}
}
}
},
"Collection": {
"type": "object",
"required": [
"id",
"projectId",
"metadata",
"private"
],
"properties": {
"id": {
"type": "number"
},
"projectId": {
"type": "number"
},
"metadata": {
"$ref": "#/components/schemas/CollectionMetadata"
},
"private": {
"type": "boolean"
},
"revealKey": {
"type": "string"
},
"tokenCount": {
"type": "number"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"deletedAt": {
"type": "string"
},
"baseURIs": {
"$ref": "#/components/schemas/CollectionBaseURIs"
},
"assets": {
"type": "array",
"description": "[]Asset",
"items": {
"$ref": "#/components/schemas/Asset"
}
}
}
},
"CollectionMetadata": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"image": {
"type": "string"
},
"externalLink": {
"type": "string"
},
"properties": {
"type": "object",
"description": "map<string,any>",
"additionalProperties": {
"type": "object"
}
},
"attributes": {
"type": "array",
"description": "[]map<string,any>",
"items": {
"type": "object",
"description": "map<string,any>",
"additionalProperties": {
"type": "object"
}
}
}
}
},
"CollectionBaseURIs": {
"type": "object",
"required": [
"contractMetadataURI",
"tokenMetadataURI"
],
"properties": {
"contractMetadataURI": {
"type": "string"
},
"tokenMetadataURI": {
"type": "string"
}
}
},
"ContractCollection": {
"type": "object",
"required": [
"id",
"chainId",
"contractAddress",
"collectionId"
],
"properties": {
"id": {
"type": "number"
},
"chainId": {
"type": "number"
},
"contractAddress": {
"type": "string"
},
"collectionId": {
"type": "number"
}
}
},
"Asset": {
"type": "object",
"required": [
"id",
"collectionId",
"metadataField"
# --- truncated at 32 KB (356 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/horizon-blockchain-games/refs/heads/main/openapi/horizon-blockchain-games-metadata-openapi-original.json