---
title: "Create authentication request"
method: POST
path: "/requests"
tags: ["Requests"]
---

# Create authentication request

`POST /requests`

Creates a new authentication request that can be executed by the auth dapp.

**Important:**
- The `authChain` field is **required** and will be validated.
- Signature validation is performed using `@dcl/crypto` Authenticator.
- The `dcl_personal_sign` method is rejected, as is signing a Decentraland ephemeral message
  under any other method. Ordinary `personal_sign` / `eth_sign` requests are accepted.
- The request will expire after the configured expiration time (default: 5 minutes).

## Request body

- object
  - `method` string, required — Wallet method to execute (e.g., 'eth_sendTransaction', 'personal_sign')
  - `params` unknown[], required — Method parameters (any JSON-serializable type)
    - unknown
  - `authChain` object[], required — Authentication chain of the wallet owner. **Required** — the signature is validated and the owner address is stored as the request `sender`.
    - `type` string, required — Auth link type (e.g., SIGNER, ECDSA_EPHEMERAL)
    - `payload` string, required — Link payload
    - `signature` string, required — Link signature

## Response `201`

Request created successfully

- object
  - `requestId` string, uuid, required — Unique request identifier
  - `expiration` string, date-time, required — Request expiration time (ISO 8601). Request must be consumed before this time.
  - `code` number, required — Random verification code (0-99) for visual confirmation on both client and auth dapp

## Other responses

- `400` — Invalid request (missing required fields, invalid authChain, signature validation failed)

---

[API](https://skmtc.net/decentraland/apis/realm-provider-api.md) · [All operations](https://skmtc.net/decentraland/apis/realm-provider-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/decentraland/realm-provider-api/revisions/d94e0e0f1821/schema)
