Developers

Build on Abraxas verification

One verification. Faster onboarding. Fewer forms. Partner Flow, Passport, and signed receipts are available in beta. Consented passwordless partner accounts and optional email/newsletter scopes are in development — not live.

Integrate

One API key. No KYC stack to rebuild.

DEVELOPER PATH
npm install @abraxas/verify-client
abx_live_ API key
embed in your app

Start here

  • 1. Read /docs/relying-party-verify — one verify call, proof, independent check
  • 2. Operators may issue production API credentials after approval and conformance — not via a self-serve dashboard
  • 3. Implement server-side POST /api/credentials/verify at your transaction gate
  • 4. Confirm GET /api/proof/{proof_id} returns signature_valid: true
  • 5. First approved production verify logs toward the external RP mainnet gate

Quick integration

// 1) Check if user meets your policy before an action
const check = await fetch("https://abraxasworld.xyz/api/verification/check-level", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ sui_address: walletAddress, action: "book_asset" }),
});
const level = await check.json();
if (level.needsDeepVerification) {
  // Prompt ID check — user completes Veriff once
}

// 2) Partner flow: create request → user consents → get decision
const req = await fetch("https://abraxasworld.xyz/api/v1/verification-requests", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-API-Key": process.env.ABRAXAS_PARTNER_API_KEY,
  },
  body: JSON.stringify({
    policy_id: "abraxas-rwa-us-v1",
    requested_action: "subscribe_to_offering",
  }),
});
const { request_id, consent_url } = await req.json();

// 3) Re-check decision before settlement
const status = await fetch(
  `https://abraxasworld.xyz/api/v1/decisions/${decisionId}/status`,
  { headers: { "X-API-Key": process.env.ABRAXAS_PARTNER_API_KEY } }
);

API reference