> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.adid.dev/llms.txt.
> For full documentation content, see https://docs.adid.dev/llms-full.txt.

# Issuer Onboarding

#### When to use

Your organisation wants to issue verifiable credentials on IDA. Onboarding is a one-time process that captures organisation details, KYB (Know-Your-Business) documents, and binds an issuer DID to your account.

#### Before you begin

* A signed-in IDA account (any role).
* A government-issued business registration document (PDF, ≤ 5 MB).
* An optional compliance document (e.g., GDPR DPO statement, ISO 27001 certificate).

#### Steps

1. Navigate to `/issuer/onboarding`.
   2\. **Step 1 — Organisation details**:
   * Legal name.
   * Trading name (optional).
   * Country of incorporation.
   * Tax ID / VAT number.
   * Industry (dropdown).
   * Public website.
2. **Step 2 — Issuer DID**:
   * Pick an existing DID from your account, or click **Create new** (calls [§3.1.2](#create-did) inline).
   * This DID becomes the `issuer` field on every credential you sign.
3. **Step 3 — KYB documents**:
   * Upload business registration PDF.
   * (Optional) Upload compliance docs.
   * Documents are encrypted at rest with the platform's HSM-backed master key.
4. **Step 4 — Authorised signatories**:
   * Add the legal representatives who can issue on behalf of the organisation. Each signatory is identified by their IDA account email.
5. **Step 5 — Review & submit**:
   * Confirm all details. Click **Submit for review**.
   * The platform sets your account state to `issuer_pending`. Approval is typically within one business day.
6. After approval, you receive an in-app notification and an email. Your role becomes `issuer`. The Issuer Portal sidebar group becomes visible.

#### API

The portal page wires through the standard auth/profile endpoints plus an onboarding-specific endpoint group that is not yet documented in this draft. Once confirmed, this section will document `POST /api/v1/issuers/onboarding` (or similar) end-to-end.

#### Verify

After approval:

```bash
curl https://adid.dev/api/v1/auth/me \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

returns `{ "user": { "role": "issuer", "issuerProfile": { "legalName":"...", "did":"did:adi:0xUniv...", "approvedAt":"..." } } }`.

#### Troubleshooting

| Symptom                                | Cause                   | Fix                                      |
| -------------------------------------- | ----------------------- | ---------------------------------------- |
| Submission rejected                    | KYB document unreadable | Re-upload a higher-quality scan.         |
| Stuck on `pending` >2 business days    | Manual review queue     | Contact `support@adid.dev`.              |
| **Issue credential** button greyed out | Role not yet `issuer`   | Sign out / sign in to refresh JWT roles. |