Pocket Network · Schema
Pocket Network Shannon Actor
Schema describing the three on-chain actor types — Application, Supplier, Gateway — registered on the Shannon protocol. Each stakes POKT to participate in the relay economy.
Web3BlockchainRPCDecentralized InfrastructurePocket NetworkGrovePATHShannonCosmosPOKT
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.com/schemas/pocket-network/pocket-network-shannon-actor-schema.json",
"title": "Pocket Network Shannon Actor",
"description": "Schema describing the three on-chain actor types — Application, Supplier, Gateway — registered on the Shannon protocol. Each stakes POKT to participate in the relay economy.",
"type": "object",
"definitions": {
"Application": {
"type": "object",
"description": "An Application stakes POKT to consume relays from suppliers for one or more services. Minimum stake is 100 POKT.",
"required": ["address", "stake", "service_configs"],
"properties": {
"address": {
"type": "string",
"description": "Bech32 Shannon address (prefix 'pokt1')."
},
"stake": {
"$ref": "#/definitions/Coin"
},
"service_configs": {
"type": "array",
"description": "Services the application can consume relays for.",
"items": { "$ref": "#/definitions/ApplicationServiceConfig" }
},
"delegatee_gateway_addresses": {
"type": "array",
"description": "Gateway addresses the application has delegated relay signing authority to.",
"items": { "type": "string" }
},
"pending_undelegations": {
"type": "array",
"description": "Pending undelegations by session end height.",
"items": { "type": "object" }
}
}
},
"Supplier": {
"type": "object",
"description": "A Supplier stakes POKT and runs a RelayMiner to serve relays for the services it supports. Earns POKT proportional to validated relay volume.",
"required": ["operator_address", "stake", "services"],
"properties": {
"owner_address": {
"type": "string",
"description": "Bech32 Shannon address that owns the supplier stake."
},
"operator_address": {
"type": "string",
"description": "Bech32 Shannon address of the operator (may equal owner_address)."
},
"stake": {
"$ref": "#/definitions/Coin"
},
"services": {
"type": "array",
"description": "Services this supplier serves, with endpoint URLs and revenue-share splits.",
"items": { "$ref": "#/definitions/SupplierServiceConfig" }
},
"service_config_history": {
"type": "array",
"description": "Per-session history of service configurations for this supplier.",
"items": { "type": "object" }
}
}
},
"Gateway": {
"type": "object",
"description": "A Gateway stakes POKT (minimum 1 POKT) and is authorized by Applications via delegation to sign relays on their behalf. Gateways typically run PATH.",
"required": ["address", "stake"],
"properties": {
"address": {
"type": "string",
"description": "Bech32 Shannon address of the gateway."
},
"stake": {
"$ref": "#/definitions/Coin"
}
}
},
"ApplicationServiceConfig": {
"type": "object",
"required": ["service_id"],
"properties": {
"service_id": {
"type": "string",
"description": "Service identifier (e.g. 'eth', 'solana', 'base')."
}
}
},
"SupplierServiceConfig": {
"type": "object",
"required": ["service_id", "endpoints"],
"properties": {
"service_id": {
"type": "string"
},
"endpoints": {
"type": "array",
"description": "RelayMiner endpoint URLs that proxy this service.",
"items": {
"type": "object",
"required": ["url", "rpc_type"],
"properties": {
"url": { "type": "string", "format": "uri" },
"rpc_type": {
"type": "string",
"enum": ["UNKNOWN_RPC", "GRPC", "WEBSOCKET", "JSON_RPC", "REST"]
},
"configs": { "type": "array", "items": { "type": "object" } }
}
}
},
"rev_share": {
"type": "array",
"description": "Revenue-share splits for this service.",
"items": {
"type": "object",
"properties": {
"address": { "type": "string" },
"rev_share_percentage": { "type": "number" }
}
}
}
}
},
"Coin": {
"type": "object",
"description": "Cosmos SDK coin amount. POKT amounts use the 'upokt' denom (1 POKT = 1e6 upokt).",
"required": ["denom", "amount"],
"properties": {
"denom": { "type": "string", "examples": ["upokt"] },
"amount": { "type": "string", "description": "Stringified integer to preserve precision." }
}
}
},
"oneOf": [
{ "$ref": "#/definitions/Application" },
{ "$ref": "#/definitions/Supplier" },
{ "$ref": "#/definitions/Gateway" }
]
}