Developers
Build on Abraxas verification
Server-side credential verify, registry lookup, and asset monitoring webhooks. passport-grade trust without rebuilding KYC.
Integrate
One API key. No KYC stack to rebuild.
DEVELOPER PATH
→ npm install @abraxas/verify-client
→ abx_live_ API key
→ embed in your app
→ abx_live_ API key
→ embed in your app
Start here
- 1. Read /docs/relying-party-verify. one verify call → proof → independent check
- 2. Issue abx_live_ key with verify:credential scope
- 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://abraxas-app.vercel.app/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://abraxas-app.vercel.app/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://abraxas-app.vercel.app/api/v1/decisions/${decisionId}/status`,
{ headers: { "X-API-Key": process.env.ABRAXAS_PARTNER_API_KEY } }
);