# @dcl/linker-dapp

> The website for decentraland's linker

Latest version **0.15.3** (published 2026-07-01) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @dcl/linker-dapp
pnpm add @dcl/linker-dapp
yarn add @dcl/linker-dapp
bun add @dcl/linker-dapp
```

## Health

**Score 60/100 (C)** — status: active.

Positive: no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads; no types; no esm support; large bundle; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.15.3 |
| Published | 2026-07-01 |
| First published | 2021-09-24 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 33.1 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 2 |
| Author | Decentraland contributors |
| Maintainers | decentralandbot, imazzara |

## Links

- npm: https://www.npmjs.com/package/@dcl/linker-dapp
- Repository: https://github.com/decentraland/linker-dapp
- Homepage: https://github.com/decentraland/linker-dapp#readme
- Issues: https://github.com/decentraland/linker-dapp/issues
- npm.io page: https://npm.io/package/@dcl/linker-dapp

## Recent versions

- 0.15.3 (latest) — 2026-07-01
- 0.15.3-28474271458.commit-50ede5a (next) — 2026-06-30
- 0.15.3-28471088794.commit-562d7fc — 2026-06-30
- 0.15.2 — 2026-04-06
- 0.15.2-24026748580.commit-8d71467 — 2026-04-06
- 0.15.1 — 2026-03-25
- 0.15.1-23431050383.commit-5306cb5 — 2026-03-23
- 0.15.0 — 2026-02-16
- 0.14.3-21992633747.commit-a29fd3c — 2026-02-13
- 0.14.3-21600693822.commit-1e9b4b4 — 2026-02-02
- 0.14.3-21591802521.commit-fdc373e — 2026-02-02
- 0.14.3-21527379550.commit-85ba692 — 2026-01-30
- 0.14.3-11618344934.commit-fbc932d — 2024-10-31
- 0.14.2 — 2024-09-12
- 0.14.2-10837342986.commit-651dd11 — 2024-09-12
- … 53 more at https://npm.io/package/@dcl/linker-dapp/versions

## README

# Linker dApp UI

This UI bridges the Decentraland CLI and blockchain, enabling users to deploy scenes to LAND parcels or Worlds, manage World access control lists (ACL), perform storage operations, create quests, view server logs, and create ephemeral identities for signing deployments.

## Table of Contents

- [Features](#features)
- [Dependencies & Related Services](#dependencies--related-services)
- [Getting Started](#getting-started)
  - [Prerequisites](#prerequisites)
  - [Installation](#installation)
  - [Configuration](#configuration)
  - [Running the UI](#running-the-ui)
- [Local Development](#local-development)
- [Testing](#testing)

## Features

- **Scene Deployment**: Deploy scenes to LAND parcels and Worlds with authorization checks
- **World ACL Management**: Grant and revoke deployer permissions for Worlds
- **Storage Operations**: Get, set, delete, and clear data for scene, player, and environment storage
- **Quest Management**: Create and manage quests
- **Server Logs**: View real-time server logs for Worlds
- **Ephemeral Identity**: Create temporary identities for signing deployments

## Dependencies & Related Services

This service interacts with the following services:

- **[@dcl/sdk-commands](https://github.com/decentraland/js-sdk-toolchain/tree/main/packages/%40dcl/sdk-commands)**: Serves the local API server that the Linker dApp communicates with
- **LAND Registry Contract**: Verifies parcel ownership and authorization for deployments
- **Estate Registry Contract**: Verifies estate ownership and authorization for deployments
- **Decentraland Auth Service**: Handles wallet authentication via `/auth` proxy

## Getting Started

### Prerequisites

Before running this service, ensure you have the following installed:

- **Node.js**: Version 24.x or higher (see `.nvmrc`)
- **npm**: Version 10.x or higher

### Installation

1. Clone the repository:

```bash
git clone https://github.com/decentraland/linker-dapp.git
cd linker-dapp
```

2. Install dependencies:

```bash
npm install
```

### Configuration

The UI uses the `@dcl/ui-env` module to configure the environment in which the UI will run.

All of these different configurations are located under the `/src/config/env` directory, where a `json` file can be found for each environment.
This package automatically loads the environment file for each site in production (zone, today, org) and can be configured to run on a different
environment while live by using the `?env=` query parameter with the desired environment, i.e: `?env=prod`.

In order to configure the starting environment of the site in the development mode, create a new `.env` file based on the `.env.default`.
The `.env.default` also contains other variables that are usually modified at build time.

### Running the UI

Running the start command will result in the Vite development server to start.

```bash
npm run start
```

## Local Development

**Architecture Note:** In production, the Linker dApp is served by the sdk-commands Express server, which handles both the static files and `/api` endpoints. For local development with hot-reload, we run Vite's dev server separately and proxy API requests to a running sdk-commands instance.

**Steps:**

1. In a Decentraland scene directory, start the sdk-commands server:

```bash
npx @dcl/sdk-commands deploy
# or
npx @dcl/sdk-commands world-acl
# or
npx @dcl/sdk-commands storage
```

This starts a server on port 8000 by default.

2. In the linker-dapp directory, configure the API proxy target in `.env`:

```bash
VITE_API_PROXY_TARGET=http://localhost:8000
```

3. Start the Vite dev server:

```bash
npm run start
```

4. Open the Vite dev server URL (usually `http://localhost:5173`) to develop with hot-reload.

**Note:** The `/auth` proxy to `https://decentraland.zone` is always enabled for wallet authentication.

## Testing

This UI contains tests that assert the behavior of components, stores and business logic.

### Running tests

Run all tests:

```bash
npm run test
```

### Test Structure

Tests are written in files named along the file they're testing with a `.spec.ts` extension.

```
src/
  modules/
    acl/
      actions.ts
      actions.spec.ts
      reducer.ts
      reducer.spec.ts
```

## AI Agent Context

For detailed AI Agent context, see [docs/ai-agent-context.md](docs/ai-agent-context.md).

---

---
_Source: https://npm.io/package/@dcl/linker-dapp · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
