ACArya Crypto
Home
PricingAPI DocsBlogAboutContact
ACArya Crypto
Home
PricingAPI DocsBlogAboutContact
  1. Home
  2. /API Docs
v1 · stable

API documentation

Authentication, pricing, networks, address checks (Pro mode), check completion webhooks, KYT monitoring, error codes, and Swagger

AuthenticationPricingBalanceResponse languageSupported networksAddress and transaction checkAddress-check webhooks (AML)Automatic monitoring (KYT)Identity verification (KYC)Business verification (KYB)Error codesSwagger — live explorer

Contents

  1. 1Authentication
  2. 2Pricing
  3. 3Balance
  4. 4Response language
  5. 5Supported networks
  6. 6Address and transaction check
  7. 7Address-check webhooks (AML)
  8. 8Automatic monitoring (KYT)
  9. 9Identity verification (KYC)
  10. 10Business verification (KYB)
  11. 11Error codes
  12. 12Swagger — live explorer

Authentication

After creating an account, issue an API key from the API Keys section and include it in the header of every request.

  1. Sign up or sign in to the user panel.
  2. Open API Keys and create a new key.
  3. Send the key value in the X-API-Key header.

Authentication header

X-API-Key: ak_live_...
Note: Store the API key on the server side only. Do not embed it in client-side code.

Base URL: https://api.aryacrypto.net

Create API key

Pricing

The amounts below are loaded from the pricing service and update automatically when tariffs change.

ServiceCost
Per address or transaction check…
Per automatic KYT monitor run…
Per personal KYC verification request…
Per business KYB verification request…

For programmatic access, call GET /v1/pricing.

Balance

Returns the account token balance. Requires the X-API-Key header and does not debit credits.

GEThttps://api.aryacrypto.net/v1/account/balance

Alias path: GET /v1/balance

curl -s "https://api.aryacrypto.net/v1/account/balance" \
  -H "X-API-Key: ak_live_..."

Response fields

NameDescription
resultIndicates whether the request completed successfully
balanceRemaining token balance
messageDescriptive message in the selected locale

Response language

Set message and report language with the locale parameter in the query string or request body. Ten languages are supported.

Allowed values

localeDescription
enEnglish
arArabic
ruRussian
faPersian
trTurkish
esSpanish
deGerman
zhChinese
koKorean
kaGeorgian
?locale=fa  ·  ?locale=en  ·  ?locale=ar  ·  ?locale=ru  ·  ?locale=tr
?locale=es  ·  ?locale=de  ·  ?locale=zh  ·  ?locale=ko  ·  ?locale=ka
body: {"locale":"ru"}

Supported networks

Active networks available through the API. For address checks, send the network symbol in the asset parameter.

Note: Full: Pro analytical report. Limited: entity and sanctions screening without full clustering.
GET/v1/chainsLive list from GET /v1/chains

Loading…

Address and transaction check

The supported report mode is Pro. Submit a check with POST /v1/check; the response is typically pending and includes a uid. Retrieve the completed result with POST /v1/checks/status, or register an address-check webhook to be notified automatically when analysis finishes.

Cost per check request: 1 token(s).

Procedure

  1. Send POST /v1/check with the X-API-Key header and the asset and hash parameters.
  2. Store data.uid from the response. The initial status is typically pending.
  3. Poll POST /v1/checks/status with the uid until data.status is success — or register a webhook via the API Keys page / API so we POST the same result when done (events check.completed / check.failed, signed with X-AML-Signature).

Submit request

POSThttps://api.aryacrypto.net/v1/check

Content-Type: application/json · multipart/form-data · application/x-www-form-urlencoded

Parameters

NameRequiredDescription
assetYesNetwork symbol (for example BTC, ETH, TRX)
hashYesWallet address or transaction identifier
typeNoaddress or tx; if omitted, the type is detected automatically
localeNoResponse language — one of: fa, en, ar, ru, tr, es, de, zh, ko, ka

chain may be used instead of asset, and input instead of hash. The supported flow value is pro. Body may be JSON or form-data / x-www-form-urlencoded (Postman form-data is supported).

Request example

curl -s -X POST "https://api.aryacrypto.net/v1/check" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ak_live_..." \
  -d '{"asset":"BTC","hash":"bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh","locale":"fa"}'

data.status values

data.statusDescription
pendingProcessing in progress; resubmit the status request or wait for the webhook.
successResult is ready.
failedDeep analysis failed permanently (status response or check.failed webhook event).

Submit response fields

NameDescription
resultIndicates whether the request completed successfully
balanceRemaining token balance
flowReport mode (pro)
data.uidUnique check identifier for status retrieval
data.statusProcessing status: pending, success, or failed
data.addressChecked address
data.assetNetwork symbol
data.networkNetwork under review
data.hasBlackListFlagIndicates a blacklist association
data.counterpartyEntity or cluster identity when identified
data.timestampRequest registration time

Retrieve result

Repeat the status request while data.status is pending. After success, Pro report fields are returned in data. Status polling does not consume additional credits. If you have an enabled webhook, you can wait for the delivery POST instead of continuous polling.

POSThttps://api.aryacrypto.net/v1/checks/status

Equivalent GET method: GET /v1/checks/status?uid=...

Parameters

NameRequiredDescription
uidYesCheck identifier (data.uid from the submit response)
localeNoResponse language — one of: fa, en, ar, ru, tr, es, de, zh, ko, ka

Status request example

curl -s -X POST "https://api.aryacrypto.net/v1/checks/status" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ak_live_..." \
  -d '{"uid":"00481233","locale":"fa"}'

Pro report fields (after success)

After processing completes, the following fields are returned in data.

NameDescription
data.riskscoreRisk score in the range 0 to 1
data.signalsRelative distribution of risk sources
data.counterpartyCounterparty details, including connections and inbound/outbound signals
data.counterparty.connections[]Entities that interacted with the address
data.connections[]Connections list at the data level
data.received_fiat_amountTotal received amount in USD cents
data.sent_fiat_amountTotal sent amount in USD cents
data.extrasSupplementary Pro-mode information
data.pdfReportURL of the PDF report

When available, the PDF URL is provided in data.pdfReport.

Address-check webhooks (AML)

When Pro analysis finishes (success or permanent failure), we POST JSON to your registered URL so you do not need to keep polling /v1/checks/status. This webhook is for address checks, not KYC.

You can manage the webhook from the API Keys page in the user panel.

What we POST to you

After a successful finish (including pdfReport when ready) or a permanent analysis failure, we POST to your enabled URL with Content-Type: application/json. The body matches the status envelope, plus an event field.

eventDescription
check.completedPro analysis completed successfully; data.status is success and report fields are in data.
check.failedAnalysis failed permanently; data.status is failed and data.error may explain the failure.

Delivery payload fields

Fields we send to your endpoint:

NameDescription
eventNotification type: check.completed or check.failed
resultIndicates whether the request completed successfully
balanceRemaining token balance
flowReport mode (pro)
data.uidUnique check identifier for status retrieval
data.statusFinal status in data: success or failed
data.addressChecked address
data.assetNetwork symbol
data.networkNetwork under review
data.hasBlackListFlagIndicates a blacklist association
data.riskscoreRisk score in the range 0 to 1
data.signalsRelative distribution of risk sources
data.counterpartyCounterparty details, including connections and inbound/outbound signals
data.pdfReportURL of the PDF report
data.errorError detail on failure (optional)
data.timestampRequest registration time
{
  "event": "check.completed",
  "result": true,
  "balance": 42.5,
  "flow": "pro",
  "data": {
    "uid": "00481233",
    "status": "success",
    "asset": "BTC",
    "network": "BTC",
    "address": "bc1q...",
    "hasBlackListFlag": false,
    "riskscore": 0.12,
    "pdfReport": "/v1/reports/pdf/...",
    "timestamp": "2026-07-25 12:00:00",
    "flow": "pro"
  }
}

Signature verification

If you set a secret for the webhook in the panel, the X-AML-Signature header is the hex-encoded HMAC-SHA256 of the raw request body using that secret. Verify the signature on your server before processing.

# X-AML-Signature = hex(HMAC-SHA256(request_body, secret))
# Verify with the raw POST body bytes and your webhook secret from the panel.

Automatic monitoring (KYT)

Periodic address monitoring. After registration, use the monitor identifier to retrieve details and snapshots.

Approximate cost per automatic run: 0.2 token(s).

Single registration

POSThttps://api.aryacrypto.net/v1/kyt/monitors
NameRequiredDescription
chainYesNetwork id from the networks table
addressYesMonitored address
labelNoOptional label
interval_hoursNoInterval between analyses in hours (minimum 2)
curl -s -X POST "https://api.aryacrypto.net/v1/kyt/monitors" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ak_live_..." \
  -d '{"chain":"tron","address":"TXYZ...","label":"Hot wallet","interval_hours":6}'

Bulk registration

Submit multiple addresses in the items array. The response includes created, failed, and skipped counts.

POST/v1/kyt/monitors/bulk

List, detail, and delete

Use the monitor identifier to list, inspect, retrieve snapshots, or delete monitors.

GET/v1/kyt/monitors
GET/v1/kyt/monitors/:id
GET/v1/kyt/monitors/:id/snapshots
DELETE/v1/kyt/monitors/:id

Identity verification (KYC)

B2B identity verification: create a business in the panel with a callback URL to get an 8-digit business_code, create a request via API, send verification_url to the end user, and receive the result on your callback.

Each request costs approximately 5 token(s) under the active tariff (charged on a final state: completed, cancelled, or expired).

Flow

  1. In the panel KYC section, create a business (name + callback_url) and store the business_code.
  2. POST /v1/kyc-service/requests with X-API-Key and give the returned verification_url to the end user.
  3. The user has 30 minutes to submit documents in the verification web app.
  4. When finished (accept, reject, review, cancel, or expiry), we POST JSON to your business callback_url.
Note: verification_url works only while the request is in progress. After the timer ends, approval, rejection, or cancellation, the same link returns HTTP 403 access denied.
Note: After extracting the name from the document, the person is screened against sanctions lists (OFAC/UN/EU/UK/CA), crime/fraud lists (FBI + OpenSanctions crime), and politically exposed persons (OpenSanctions PEP). Strong sanctions/crime matches usually reject; PEP matches usually go to manual review. risk_score is the match confidence percentage.

Create request and link

POSThttps://api.aryacrypto.net/v1/kyc-service/requests

Content-Type: application/json

Parameters

NameRequiredDescription
business_codeYes8-digit business code from the panel
external_refNoYour internal reference (e.g. user id in your system)
doc_typeNoDocument type: id_card, passport, or driver_license (optional)
return_urlNoEnd-user return URL after finishing (separate from the webhook callback)
curl -s -X POST "https://api.aryacrypto.net/v1/kyc-service/requests" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ak_live_..." \
  -d '{"business_code":"90593008","external_ref":"user-42","doc_type":"id_card","return_url":"https://example.com/kyc/done"}'

Create response

The response includes the request object and verification_url. Credits are not deducted at create time; they are charged on a final state.

{
  "request": {
    "id": "a1b2c3d4-....",
    "status": "pending",
    "external_ref": "user-42",
    "doc_type": "id_card",
    "expires_at": "2026-07-27T13:00:00Z",
    "cost_credits": 10
  },
  "verification_url": "https://kyc.aryacrypto.net/v/a1b2c3d4-...."
}

Status and cancel

Fetch request status with GET, or cancel with POST cancel from the business side (cancel is also billable).

GEThttps://api.aryacrypto.net/v1/kyc-service/requests/{id}
POSThttps://api.aryacrypto.net/v1/kyc-service/requests/{id}/cancel

Result webhook (callback)

When the request reaches a final state, we POST to the business callback_url with Content-Type: application/json.

NameDescription
eventAlways kyc.completed
request_idRequest id
external_refThe external_ref you sent
statusFinal status: completed, cancelled, or expired
decisionaccept, review, reject, cancelled, or expired
match_scoreMatch score 0–100 when available
risk_scoreWatchlist screening result including risk_score and risk_level
risk_levelclear / low / medium / high / unknown
screeningWatchlist screening result including risk_score and risk_level
completed_atCompletion time when available
{
  "event": "kyc.completed",
  "request_id": "a1b2c3d4-....",
  "external_ref": "user-42",
  "status": "completed",
  "decision": "reject",
  "match_score": 62,
  "risk_score": 95,
  "risk_level": "high",
  "screening": {
    "risk_score": 95,
    "risk_level": "high",
    "lists_available": true,
    "hit_count": 1,
    "hits": [
      {
        "source": "OFAC",
        "category": "sanction",
        "matched_name": "VLADIMIR PETROV",
        "score": 95
      }
    ]
  },
  "completed_at": "2026-07-27T12:45:00Z"
}

If the business has a callback secret, X-AML-Signature is the hex-encoded HMAC-SHA256 of the raw body.

Business verification (KYB)

KYB verification service: create a business with a callback in the panel, create a request via API, submit company/UBO data directly, and receive the result via webhook.

Each request is charged on a final status (approved, rejected, or cancelled) at about 25 tokens (kyb_verify tariff).

How it works

  1. In the panel under «Business verification KYB», create a business (name + callback_url) and store the business_code.
  2. With X-API-Key, POST /v1/kyb-service/requests and share form_url with the company representative (or include company_name and ubos in the same request).
  3. The public form is valid for up to 7 days; after submit, international screening runs and status becomes review.
  4. Approve or reject with POST review; then event=kyb.completed is sent to your callback and tokens are deducted.

Create request / form link

POSThttps://api.aryacrypto.net/v1/kyb-service/requests

Content-Type: application/json

NameRequiredDescription
business_codeYesEight-digit KYB business id from the panel
external_refNoYour internal reference
return_urlNoReturn URL after form submit
company_nameNoIf sent with ubos, screening runs immediately
ubosNoArray of beneficial owners (full_name, ownership_pct, role, …)
curl -s -X POST "https://api.aryacrypto.net/v1/kyb-service/requests" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ak_live_..." \
  -d '{"business_code":"90593008","external_ref":"corp-42","return_url":"https://example.com/kyb/done"}'

Create response

{
  "request": { "id": "....", "status": "pending", "cost_credits": 25, "expires_at": "..." },
  "form_url": "https://my.aryacrypto.net/kyb/form/...."
}

Track, report, review, cancel

GEThttps://api.aryacrypto.net/v1/kyb-service/requests/{id}
GEThttps://api.aryacrypto.net/v1/kyb-service/requests/{id}/report
POSThttps://api.aryacrypto.net/v1/kyb-service/requests/{id}/review
POSThttps://api.aryacrypto.net/v1/kyb-service/requests/{id}/cancel

KYB result webhook

On a final status we POST event=kyb.completed to your callback_url.

{
  "event": "kyb.completed",
  "request_id": "....",
  "external_ref": "corp-42",
  "status": "approved",
  "decision": "clear",
  "risk_score": 18,
  "edd_required": false,
  "company_name": "Acme Ltd",
  "lei": "....",
  "completed_at": "2026-07-29T12:00:00Z"
}

When callback_secret is set, X-AML-Signature is the hex HMAC-SHA256 of the raw body.

Error codes

On failure, the response is typically JSON containing an error field.

CodeMeaningRecommended action
400Invalid requestReview parameters and input format
401Authentication failedVerify the X-API-Key header value
402Insufficient creditsIncrease the account balance
403Access deniedThe verification link expired or is no longer in progress
404Not foundVerify the request or resource identifier
429Rate limit exceededRetry after the period indicated by Retry-After
500Internal service errorContact support if the issue persists

Swagger — live explorer

Open the Swagger UI on a separate page to register your API key and call endpoints live.

Open Swagger UI

/zh/docs/swagger

ACArya Crypto

The complete crypto analytics & compliance platform — sanctions screening, entity attribution and automated monitoring across 43 blockchain networks.

Product

KYC serviceKYB serviceAML KYT serviceReady exchange platformReady prop platformPricingAPI Docs

Company

AboutContactTerms of Service

Resources

BlogServices
© Arya Crypto 2026 — All rights reserved.
OFACEU FSFUN SCUK OFSI