The Onboard3 API lets you verify blockchain credentials in your own applications. Verification is always free and requires no API key. API keys unlock usage tracking, higher rate limits, and webhook notifications.
Base URL
https://blockuserve.vercel.app/api/v1
Format
JSON
Auth
Bearer token (optional)
The verify endpoint is public and requires no authentication. Add an API key to track usage and access higher rate limits.
curl https://blockuserve.vercel.app/api/v1/verify/OB3-TRADE-A7K2 \
-H "Authorization: Bearer ob3_live_sk_your_key_here"/v1/verify/{ob3_code}Verify any credential by its OB3 code. Returns credential details, current status, and blockchain proof if anchored.
ob3_codeThe OB3 code to verify
Format: OB3-[TYPE]-[4CHARS] · Example: OB3-TRADE-A7K2
curl https://blockuserve.vercel.app/api/v1/verify/OB3-MED-9XP1{
"verified": true,
"ob3_code": "OB3-MED-9XP1",
"status": "active",
"credential": {
"title": "Registered Nurse (RN)",
"holder_name": "Jane Smith",
"credential_type": "medical",
"credential_subtype": "Registered Nurse (RN)",
"issuing_organization": "State of Florida",
"issue_date": "2022-01-15",
"expiry_date": "2026-01-14"
},
"blockchain": {
"network": "polygon",
"tx_hash": "0xd6bf7f08853988...",
"block_number": 86347344,
"anchored_at": "2026-05-03T13:25:34Z",
"explorer_url": "https://polygonscan.com/tx/0xd6bf..."
},
"meta": {
"response_ms": 47,
"verified_at": "2026-05-03T14:00:00Z",
"version": "v1"
}
}{
"verified": false,
"ob3_code": "OB3-TRADE-XXXX",
"error": {
"code": "CREDENTIAL_NOT_FOUND",
"message": "No credential found with OB3 code OB3-TRADE-XXXX"
},
"meta": {
"response_ms": 23,
"version": "v1"
}
}| Status | verified | Description |
|---|---|---|
active | true | Valid and current |
expiring | true | Valid but expires within 30 days |
expired | false | Past expiry date |
revoked | false | Manually revoked |
pending | false | Awaiting payment |
| Plan | Monthly Verifications | Price |
|---|---|---|
| Public (no key) | 100/day | Free |
| Starter | 5,000/month | $99/mo |
| Growth | 50,000/month | $299/mo |
| Enterprise | Unlimited | Contact us |
const response = await fetch(
'https://blockuserve.vercel.app/api/v1/verify/OB3-TRADE-A7K2',
{
headers: {
'Authorization': 'Bearer ob3_live_sk_your_key'
}
}
)
const data = await response.json()
if (data.verified) {
console.log('Valid credential:', data.credential.holder_name)
console.log('Blockchain proof:', data.blockchain?.tx_hash)
} else {
console.log('Not verified:', data.error.message)
}import requests
response = requests.get(
'https://blockuserve.vercel.app/api/v1/verify/OB3-TRADE-A7K2',
headers={'Authorization': 'Bearer ob3_live_sk_your_key'}
)
data = response.json()
if data['verified']:
print(f"Valid: {data['credential']['holder_name']}")
else:
print(f"Not verified: {data['error']['message']}")$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
'https://blockuserve.vercel.app/api/v1/verify/OB3-TRADE-A7K2');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ob3_live_sk_your_key'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['verified']) {
echo "Valid: " . $response['credential']['holder_name'];
}Receive real-time notifications when credentials change status — expiring, expired, or revoked. Configure webhooks in your dashboard.
Coming Soon
Webhook subscriptions are available on Starter plan and above.