1. A computer-implemented method of inviting a user entity to participate in a selected activity on a peer network, the computer-implemented method comprising: receiving an input initiating a first computing application for sending an invitation by a first user entity on a first endpoint on the peer network; receiving a selection of a second user entity to receive the invitation; resolving an address for a second endpoint on the peer network associated with the second user entity using a peer-to-peer serverless protocol; receiving, at the first endpoint through the peer network, capability information, wherein the capability information is different from the address of the second endpoint, the capability information describing capabilities of the second endpoint to perform a collaborative user activity by executing a software application installed at the second endpoint, the capability information including at least dynamic real-time capabilities of the second user entity and identifying the software application at the second endpoint regardless of whether the software application at the second endpoint is being executed when the capability information is received at the first endpoint; receiving a selection at the first endpoint of an activity from a plurality of activities, wherein the selected activity is supported by an application at the first endpoint; before sending the invitation, determining at the first endpoint, based on the received capability information, whether the second user entity endpoint supports the selected activity; and in response to determining at the first endpoint that the second user entity endpoint supports the selected activity, sending from the first endpoint to the resolved address of the second user entity endpoint the invitation from the first user entity to the second user entity to participate in the selected activity by executing the software application at the second endpoint.