Uruk Docs
Partners

KYC for end users

Redirect, iframe, and direct-link flows partners can offer.

KYC for end users

Swaps require on-chain compliance (ComplianceRegistry.assert_user_compliant). Partners must ensure users are verified before calling swap.

Check status

GET /api/sdk/kyc/status/{address}
{ "compliant": false, "needsKyc": true, "status": "Unknown" }

Start a session

POST /api/sdk/kyc/session
Content-Type: application/json

{ "address": "G...", "providerKey": "didit", "mode": "iframe" }

Response includes:

FieldUse
startUrl / directLinkHosted provider flow (new tab)
embedUrlEmbed Uruk /kyc?embed=1 in an iframe
callbackUrlProvider return URL

Modes

  1. Redirect: window.open(startUrl) or navigate the user
  2. Iframe: <iframe src={embedUrl} /> (Uruk chrome is hidden inside iframes)
  3. Direct link: share startUrl in email/SMS

After approval, the Didit webhook attests on-chain. Poll status until compliant === true, then swap.

All partners' users go through the same ComplianceRegistry check. There is no partner KYC bypass.

On this page