In general, tokens are single party instruments defining value, and contracts are multi-party instruments containing terms and conditions for the interchange of control over that value. This is, of course, not always a clean distinction because a token could still have a relationship with its issuer. For example, a token representing physical money is a contract between the holder of the token and its issuer that the token will be honored for payment of debt. However, the issuer doesn't approve any transfers, so the token really only has a single acting owner. Contracts usually have multiple actors or parties engaged simultaneously.
A very key point to remember: tokens are meant to be contracted; they are not the contracts themselves.
Consider, for example, the game of Monopoly, where property card tokens have behaviors defined into them – ‘rentable’, for example. Whatever arrangement is made between the property owner and renter for the assessment and collection of that rent is not defined in the token itself; it is defined in the rental agreement – the contract. A token receiving a rent request is not concerned about the external conditions in which the request was generated. Being defined with the ‘rentable’ property simply sets the ability that, when rented, behavioral properties about the renter are added to the token. The token doesn't need to be aware of or concerned about how it was rented or how it may be made available later on; that is the job of the contract. This separation of concerns allows tokens and contracts to interact with each other seamlessly.
As another example, if a token is defined with the ‘financeable’ behavior, it is possible for the token owner to accept a lien, representing a loan, which encumbers the token. In this case the loan represents a contract that is bound to the financeable behavior of the token. The loan itself is a multi-party contract with the token owner being the borrower and the financier the lender. The token and the loan operate independently; however, only the loan can remove the lien once it is paid in full.
The InterWork Alliance Token Taxonomy Framework enforces this separation of behaviors and contracts by building into the tokens a set of interfaces for each behavior defining the parameters for how the token can be used. Think of a token’s behavior as being like an electrical outlet; the plug of whatever device you are using as the ‘interface’; and the device itself as the contract.
The IWA is creating an InterWork Framework that will help standardize the relationship between the token and its interfaces – the outlet and what’s being plugged into it – in the same way that the Token Taxonomy Framework has standardized the token itself.
Separating out tokens from contracts is a very important concept. Limiting tokens to the set of properties and behaviors needed for a digital representation of value makes them more re-usable, less fragile, and more likely to interwork with other tokens that similarly follow this separation.