Abstract. This paper describes Paradis-Net, a typed event-driven messagepassing interface for designing distributed systems. Paradis-Net facilitates the development of both peer-to-peer and client-server architectures through a mechanism called “Cooperation”. We introduce the programming interface and compare its mechanisms to active messages and remote procedure calls. Finally we demonstrate how the interface can be used to implement communication patterns typical for distributed systems and how peer-to-peer functionality can be mapped onto ParadisNet.