---
title: "Link a wallet to an email organization"
method: POST
path: "/orgs/v1/{org_id}/wallets"
tags: ["Billing"]
---

# Link a wallet to an email organization

`POST /orgs/v1/{org_id}/wallets`

## Request

- Base URL: `https://api.run402.com`
- URL: `https://api.run402.com/orgs/v1/{org_id}/wallets`
- Auth: one of:
  - API key in header `SIGN-IN-WITH-X`
  - API key in header `x-admin-key`

Adds a wallet to an existing email organization for hybrid Stripe + x402 access. The caller must prove ownership of the wallet being linked via a SIWX header signed by that wallet (or pass an admin key). Fails with 409 if the wallet is already linked to another organization.

## Path parameters

- `org_id` string, required

## Request body

- object
  - `wallet` string, required

## Response `200`

Wallet linked

- BillingWalletLinkResponse
  - `status` 'linked', required
  - `org_id` string, required
  - `wallet` string, required

## Other responses

- `401`: Missing or invalid SIWX header (and no admin key)
- `403`: SIWX header wallet does not match the wallet being linked
- `404`: Organization not found
- `409`: Wallet already linked

---

[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)
