This proposal introduces a single new function, , to the Accounting Subnet defined in TEP-6. The function allows subnets and applications to invalidate or burn a user's credits in a controlled and auditable manner.
This mechanism is designed to support external subscription and credit systems where applications manage their own lifecycle logic but require a standardized way to mark remaining balances as expired.
While TEP-6 provides the primitives for crediting and debiting user balances, it does not offer a protocol-level method for expiring unused credits. Many applications and subnets employ custom subscription models, prepaid credits, or time-limited offers that require explicit balance invalidation.
The addition of an function ensures:
The Accounting Subnet is extended with a single new function:
The function invalidates a user's total balance. It is intended to be called by subnets or applications that determine a user's credits have reached the end of their lifecycle (e.g., due to a subscription expiration, trial end, or service deactivation).
Adding only keeps the protocol simple and aligned with TEP-6 design. It allows subnets and apps to control their own subscription or credit models, while using a unified protocol function to enforce expirations. This minimizes complexity, avoids imposing rigid lifecycle rules, and ensures accurate and auditable balance management.
This proposal is fully backwards compatible. Subnets and apps that do not require expiration can continue to rely solely on and .
A reference implementation of will be added to the Accounting Subnet, with the same signature validation and event logging mechanisms used for .
TEP-6: Fee Mechanism
Pl. de l'Industrie 2, 1180 Rolle, Switzerland