---
title: "Issue a wallet-org adopt challenge (first-class-orgs)"
method: POST
path: "/orgs/v1/adopt/challenge"
tags: ["Org"]
---

# Issue a wallet-org adopt challenge (first-class-orgs)

`POST /orgs/v1/adopt/challenge`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/orgs/v1/adopt/challenge`
- Auth: API key in header `SIGN-IN-WITH-X`

Issues a single-use nonce the wallet must sign to adopt the org it owns into the caller's human identity. Reveals nothing about the wallet's orgs (control is proven only at adopt time). Requires a control-plane session (auth only — no step-up; step-up is enforced on the adopt itself).

## Headers

- `SIGN-IN-WITH-X` string, required

## Request body

- object
  - `wallet` string, required: 0x EVM address of the wallet whose org is being adopted.

## Response `201`

The challenge nonce to sign

- object
  - `challenge_id` string, uuid
  - `nonce` string
  - `expires_at` string, date-time

## Other responses

- `400`: wallet must be a 0x EVM address (VALIDATION_FAILED)

---

[API](https://skmtc.dev/run402/apis/run402-api.md) · [All operations](https://skmtc.dev/run402/apis/run402-api/llms.txt) · [OpenAPI document](https://skmtc.dev/run402/apis/run402-api/revisions/893607557f50?raw)
