GET /apiv2/screening/price
The price of one check from one provider, and whether your balance covers it.
This is the version 2 contract. It replaces GET /apiv2/aml/price, which keeps working.
Endpoint URL
GET https://netts.io/apiv2/screening/price?provider=ellipticRequest Headers
| Header | Required | Description |
|---|---|---|
| X-API-KEY | Yes | Your API key from the Netts dashboard |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| provider | string | Yes | elliptic or bitok. There is no default |
In version 1 this parameter defaults to elliptic, so a caller who omitted it was quoted a price for a provider they had not named. The body of a check has the same rule.
Example Request
curl "https://netts.io/apiv2/screening/price?provider=elliptic" \
-H "X-API-KEY: your_api_key"Response
{
"schema_version": 2,
"provider": "elliptic",
"price_usdt": "0.98",
"price_trx": "2.884881",
"available": true,
"networks": ["trx", "eth", "btc", "..."],
"score_scale": { "min": 0, "max": 10 },
"trx_rate_usd": "0.339702",
"balance_trx": "113.910000",
"can_afford": true
}| Field | Type | Description |
|---|---|---|
| provider | string | The provider asked about |
| price_usdt | string | List price of one check, in USDT |
| price_trx | string | null | The same price converted at the current rate |
| available | boolean | Whether checks can be ordered right now |
| reason | string | Present only when available is false. Currently quota_exhausted |
| networks | array | Network tickers this provider covers |
| score_scale | object | min and max of the provider's own score scale |
| trx_rate_usd | string | null | Rate used for the conversion |
| balance_trx | string | Your TRX balance |
| can_afford | boolean | balance_trx is at least price_trx |
can_afford is a convenience, not a reservation. The rate moves and the balance can be spent elsewhere between this call and the check. The authoritative answer is the check itself, which refuses with 1004 and states the amounts.
Amounts are quoted to six decimal places — that is the precision at which TRX is actually taken from the balance, not a display choice. They are decimal strings for the reason set out in Numbers are strings.
Sub-user markup is included in price_trx, exactly as it is included in the amount charged.
Errors
RFC 9457, application/problem+json.
| Code | HTTP | When |
|---|---|---|
4001 | 400 | provider missing or not a known provider |
4002 | 403 | The provider exists but is not open for your account — see below |
4010 / 4011 | 401 | No API key, or a key or IP that is not accepted |
5030 | 503 | The provider is temporarily unavailable |
{
"type": "https://doc.netts.io/api/v2/errors/provider-unavailable-for-account",
"title": "Provider is not available for your account",
"status": 403,
"detail": "BitOK is not available for your account. Please use Elliptic.",
"instance": "/apiv2/screening/price",
"code": 4002
}BitOK is granted per account, not to everyone. An account without access does not see it in GET /apiv2/screening/providers or in GET /apiv2/pricing either, so this error only reaches you if you asked for the provider by name. Contact support to request access. Elliptic is available to every account.
Rate Limits
Shared with every other AML path: 5 requests per second, 150 per minute.