The Social Service is a server that manages friendships within Decentraland. Utilizing the Matrix platform, it serves as the authoritative source for handling Friendships updates, such as requests, accepts, rejects, cancels and deletes.

Use Cases #

The Social Service addresses the following use cases related to friendships:

  • Requesting a Friendship
  • Accepting a Friendship Request
  • Rejecting a Friendship Request
  • Canceling a Friendship Request
  • Removing a Friend
  • Listing all my friends
  • Listing mutual friends between me and another user

Context #

Before the introduction of the Social Service, friendship data was stored and retrieved directly from Matrix. This led to various issues with friendship workflows and unreliable information. Additionally, implementing new features was challenging. Since Matrix primarily handles chat features, the Social Service acts as a proxy, applying necessary business logic before interacting with Matrix.

Architecture #

Version History #

  1. First Version : Initially, the Social Service was a REST API that only offered GET endpoints for listing all friends and mutual connections. It lacked features related to updates or sending requests.

  2. Second Version : This version introduced updates to the friendship flow. To address these changes, a WebSocket RPC server was implemented. This server handles essential messages, maintaining open connections with clients to provide timely updates. The WebSocket connections also facilitate features such as presence tracking within the Social Service.

URLs #

.zone Domain #

Development Environment Servers for testing and when using testnets.

.org Domain #

Production Environment Servers and when using mainnet.

Use the Javascript Client #

To use the Javascript Client please refer to

Reference Client Implementations #