# Developer Platform API

Welcome to the Decentraland API Reference. This section provides comprehensive documentation for all backend services that power Decentraland.

## Overview

Decentraland's backend infrastructure consists of distributed services organized into four main categories:

* **Decentralized Layer** - Content delivery and decentralized infrastructure
* **Real-Time Communications Layer** - Service discovery, clustering, and communications
* **Feature Services** - User-facing features, content, and gamification
* **Core Services** - Authentication, marketplace, assets, and notifications

All APIs documented here follow OpenAPI specifications and support RESTful conventions unless otherwise noted.

## Service Categories

### Decentralized Layer

The foundational decentralized infrastructure for content delivery:

| Service  | Purpose          | Key Features                                                            |
| -------- | ---------------- | ----------------------------------------------------------------------- |
| Catalyst | Content delivery | Decentralized content servers, entity deployment, and filesystem access |
| Lamb2    | Lambda utilities | Serverless functions for content consumption and utility endpoints      |

### Real-Time Communications Layer

Service discovery and real-time peer-to-peer communications:

| Service             | Purpose                   | Key Features                                                          |
| ------------------- | ------------------------- | --------------------------------------------------------------------- |
| Realm Provider      | Service discovery         | Find available Catalyst servers and communication endpoints           |
| Comms Gatekeeper    | Access control            | Time-limited tokens for LiveKit media server access                   |
| Archipelago Workers | Communications clustering | WebSocket connections, island formation, and message routing via NATS |

### Feature Services

User-facing features including content, economy, and gamification:

| Service           | Purpose            | Key Features                                   |
| ----------------- | ------------------ | ---------------------------------------------- |
| Credits Server    | Virtual credits    | Decentraland's virtual currency system         |
| Badges            | Achievements       | User achievement and badge system              |
| Rewards API       | NFT rewards        | Campaign-based NFT reward distribution         |
| Exploration Games | Onboarding         | Interactive tutorials and quests               |
| Camera Reel       | Screenshots        | User-generated screenshot management           |
| Atlas Server      | Map data           | Parcel information and world map tiles         |
| Places            | Points of interest | Curated locations and featured experiences     |
| Events            | Event management   | Create, schedule, and discover in-world events |
| Worlds            | Isolated scenes    | Personal worlds and custom domains             |

### Core Services

Essential infrastructure for authentication, marketplace, assets, and notifications:

| Service               | Purpose               | Key Features                                       |
| --------------------- | --------------------- | -------------------------------------------------- |
| Auth Server           | Authentication        | Wallet-based authentication and session management |
| Marketplace Server    | NFT marketplace       | Wearables and emotes marketplace integration       |
| Asset Bundle Registry | Asset optimization    | Unity asset bundles for optimized loading          |
| Events Notifier       | Event alerts          | Notifications for upcoming events                  |
| Notifications Workers | User notifications    | Real-time and push notifications                   |
| Social Service        | Friends & communities | Friendship management and private messaging        |

## Getting Started

### Authentication

Most APIs require authentication using Decentraland's wallet-based system:

1. **Connect wallet** - Users sign authentication challenges with their Ethereum wallet
2. **Get tokens** - Auth Server validates signatures and issues JWT tokens
3. **Include tokens** - Add tokens to API requests via `Authorization` header

See the Auth Server API for detailed authentication flows.

### Base URLs

APIs are deployed across the Decentraland network:

* **Production**: `https://peer.decentraland.org` (main Catalyst)
* **Development**: Various test environments
* **Custom**: Self-hosted Catalyst nodes

Most services are accessible through Catalyst nodes. Use the Realm Provider to discover available endpoints.

### Rate Limiting

APIs implement rate limiting to ensure fair usage:

* Default limits vary by service and endpoint
* Authenticated requests typically have higher limits
* Rate limit headers included in responses
* Contact maintainers for increased limits if needed

## API Conventions

All APIs follow these conventions:

* **HTTP Methods** - Standard REST verbs (GET, POST, PUT, DELETE)
* **Status Codes** - Standard HTTP status codes
* **Content Type** - `application/json` unless otherwise specified
* **Error Format** - Consistent error response structure
* **Versioning** - Version info in URL path or headers

## Architecture Context

These APIs are part of a larger distributed system. For architectural context:

* [Architecture Overview](https://github.com/decentraland/docs/blob/main/contributor/architecture/architecture.md) - Complete system architecture
* [Backend Services](https://github.com/decentraland/docs/blob/main/contributor/architecture/services.md) - Detailed service descriptions
* [Client Architecture](https://github.com/decentraland/docs/blob/main/contributor/architecture/client.md) - How clients interact with services

## Contributing

These API specifications are maintained in their respective repositories:

* Report issues via GitHub repositories
* Propose changes through pull requests
* Join technical discussions in the [Decentraland Discord](https://dcl.gg/discord)
* Attend monthly [AMA sessions](https://www.notion.so/decentraland/Decentraland-Foundation-Technical-AMA-230fcf1ca1ec4d49922744fe91e6995d)

## Additional Resources

* [Catalyst API Specs](https://decentraland.github.io/catalyst-api-specs/) - Complete OpenAPI specifications
* [Catalyst Monitor](https://decentraland.github.io/catalyst-monitor) - Network health and status
* [Status Page](https://status.decentraland.org/) - Service status and incident history
* [GitHub Organization](https://github.com/decentraland) - Source code repositories

## OpenAPI Documentation

Each API includes:

* **Interactive documentation** - Try endpoints directly from the docs
* **Request/response examples** - Sample payloads for all operations
* **Schema definitions** - Complete data model documentation
* **Authentication requirements** - Required credentials for each endpoint

Navigate to specific APIs using the sidebar to explore detailed endpoint documentation.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/apis/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
