Abstract In sequential languages, dynamic contracts are usually expressed as boolean functions without externally observable effects, written within the language. We propose an analogous notion of concurrent for languages with session-typed message-passing concurrency. Concurrent partial identity processes that monitor bidirectional communication along channels and raise alarm if a contract is ...