The proposed interface is simple and can be decomposed into 2 parts:

Events

There is no transfer possible with ERC1238, however some events are defined to record when tokens are minted or burned. For each case, we have 2 variants based on whether the operation relates to a single token id or multiple (called a batch). This makes for 4 events in total:

Balance functions

Three balance functions are defined:

Interface proposal

Every ERC-1238 compliant contract must implement the ERC1238 interface: