API Documentation

zkorigoapi.com compliance validation endpoints

Base URL

https://api.zkorigoapi.com

Authentication

Include your API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Ethereum Validation Endpoint

POST /v1/chain/eth/validate

CURL Example

curl -X POST https://api.zkorigoapi.com/v1/chain/eth/validate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6",
    "modules": ["AML", "KYC"],
    "chain": "ethereum"
  }'

Request Parameters

Parameter Type Description
address string Ethereum address to validate
modules array Compliance modules: AML, ISO20022, RWA, ZK, KYC, CBP
chain string Blockchain network identifier

Response Example

{
  "status": "success",
  "address": "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6",
  "results": {
    "AML": {
      "status": "pass",
      "risk_score": 0.15,
      "flags": []
    },
    "KYC": {
      "status": "pass",
      "verified": true,
      "tier": "basic"
    }
  },
  "timestamp": "2025-11-08T03:35:28Z"
}

Supported Blockchains

Our API supports 6 blockchain networks. Each chain has a dedicated validation endpoint:

Ethereum

Endpoint: /v1/chain/eth/validate

Address format: 0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6

⚠️ Note: KYC module returns EXTERNAL_PROVIDER_REQUIRED status. Use external KYC providers (e.g., Sumsub) for identity verification.

curl -X POST https://api.zkorigoapi.com/v1/chain/eth/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"address":"0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6","modules":["AML","KYC"]}'

Bitcoin

Endpoint: /v1/chain/btc/validate

Address format: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

curl -X POST https://api.zkorigoapi.com/v1/chain/btc/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"address":"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa","modules":["AML"]}'

Polygon

Endpoint: /v1/chain/polygon/validate

Address format: 0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6

curl -X POST https://api.zkorigoapi.com/v1/chain/polygon/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"address":"0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6","modules":["RWA","ZK"]}'

Stellar

Endpoint: /v1/chain/stellar/validate

Address format: GDRXE2BQUC3AZNPVFSCEZ76NJ3WWL25FYFK6RGZGIEKWE4SOOHSUJUJ6

curl -X POST https://api.zkorigoapi.com/v1/chain/stellar/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"address":"GDRXE2BQUC3AZNPVFSCEZ76NJ3WWL25FYFK6RGZGIEKWE4SOOHSUJUJ6","modules":["CBP","ISO"]}'

XRP Ledger

Endpoint: /v1/chain/xrpl/validate

Address format: rN7n7otQDd6FczFgLdlqtyMVrn3HMfXoKk

curl -X POST https://api.zkorigoapi.com/v1/chain/xrpl/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"address":"rN7n7otQDd6FczFgLdlqtyMVrn3HMfXoKk","modules":["CBP","AML"]}'

Hedera

Endpoint: /v1/chain/hedera/validate

Address format: 0.0.123456

curl -X POST https://api.zkorigoapi.com/v1/chain/hedera/validate \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"address":"0.0.123456","modules":["KYC","AML"]}'

Code Examples

Python Using requests library

import requests

API_KEY = "your_api_key_here"
BASE_URL = "https://api.zkorigoapi.com"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "address": "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6",
    "modules": ["AML", "KYC"]
}

response = requests.post(
    f"{BASE_URL}/v1/chain/eth/validate",
    headers=headers,
    json=payload
)

print(response.json())

JavaScript Using fetch API

const API_KEY = "your_api_key_here";
const BASE_URL = "https://api.zkorigoapi.com";

async function validateAddress() {
  const response = await fetch(`${BASE_URL}/v1/chain/eth/validate`, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      address: "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6",
      modules: ["AML", "KYC"]
    })
  });
  
  const data = await response.json();
  console.log(data);
}

validateAddress();

PHP Using cURL

<?php
$apiKey = "your_api_key_here";
$baseUrl = "https://api.zkorigoapi.com";

$ch = curl_init("$baseUrl/v1/chain/eth/validate");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $apiKey",
    "Content-Type: application/json"
]);

$payload = json_encode([
    "address" => "0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6",
    "modules" => ["AML", "KYC"]
]);

curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);
?>

Rate Limits by Plan

Starter Plan

2,500

requests per month

10 requests per minute

Professional Plan

10,000

requests per month

100 requests per minute

Enterprise Plan

50,000

requests per month

1000 requests per minute

Error Codes

400 Bad Request - Invalid parameters
401 Unauthorized - Invalid API key
429 Rate Limit Exceeded
500 Internal Server Error

Support

Technical Support: support@zkorigoapi.com

Enterprise Sales: sales@zkorigoapi.com