Pocket Network · Schema
Application represents the onchain definition and state of an application
BlockchainRPCDecentralizedWeb3EthereumEVMInfrastructure
Properties
| Name | Type | Description |
|---|---|---|
| address | string | |
| delegatee_gateway_addresses | array | TODO_MAINNET_MIGRATION(@bryanchriswhite): Rename `delegatee_gateway_addresses` to `gateway_addresses_delegated_to` for better clarity and consistency. - Update all related configs, comments, variables |
| pending_transfer | object | |
| pending_undelegations | object | Mapping of session end heights to gateways being undelegated from - Key: Height of the last block of the session when the undelegation transaction was committed - Value: List of gateways being undeleg |
| service_configs | array | |
| stake | object | |
| unstake_session_end_height | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/pokt/main/json-schema/pocket_application_Application.json",
"title": "Application represents the onchain definition and state of an application",
"type": "object",
"properties": {
"address": {
"type": "string",
"title": "Bech32 address of the application"
},
"delegatee_gateway_addresses": {
"description": "TODO_MAINNET_MIGRATION(@bryanchriswhite): Rename `delegatee_gateway_addresses` to `gateway_addresses_delegated_to` for better clarity and consistency.\n- Update all related configs, comments, variables, and function names throughout the codebase to reflect this change.\n- This field is a non-nullable list of Bech32-encoded delegatee Gateway addresses.",
"type": "array",
"items": {
"type": "string"
}
},
"pending_transfer": {
"title": "Information about pending application transfers",
"$ref": "#/definitions/pocket.application.PendingApplicationTransfer"
},
"pending_undelegations": {
"description": "Mapping of session end heights to gateways being undelegated from\n- Key: Height of the last block of the session when the undelegation transaction was committed\n- Value: List of gateways being undelegated from at that session end height\nTODO_DOCUMENT(@red-0ne): Document the complete flow and rationale behind this mapping.\n- Ensure the documentation explains why tracking pending undelegations by session end height is necessary.\n- See: https://github.com/pokt-network/poktroll/issues/476#issuecomment-2052639906 for context and examples.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/pocket.application.UndelegatingGatewayList"
}
},
"service_configs": {
"type": "array",
"title": "CRITICAL: Must contain EXACTLY ONE service config\n- Enforces a single service configuration per application to prevent over-servicing.\n- Field is repeated for legacy reasons and potential future compatibility.\n- References for rationale:\n - https://github.com/pokt-network/poktroll/pull/750#discussion_r1735025033\n - https://www.notion.so/buildwithgrove/Off-chain-Application-Stake-Tracking-6a8bebb107db4f7f9dc62cbe7ba555f7",
"items": {
"type": "object",
"$ref": "#/definitions/pocket.shared.ApplicationServiceConfig"
}
},
"stake": {
"title": "Total amount of staked uPOKT",
"$ref": "#/definitions/cosmos.base.v1beta1.Coin"
},
"unstake_session_end_height": {
"type": "string",
"format": "uint64",
"title": "Session end height when application initiated unstaking (0 if not unstaking)"
}
}
}