For the complete documentation index, see llms.txt. This page is also available as Markdown.

Addresses

Screen blockchain addresses and manage the screening results.

Get Address Verification Details

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
addressstringRequired
chainstringRequired
Responses
200

The verification and custody state held for this address.

application/json
anyOptional
get/api/v2/analytics/chains/{chain}/addresses/{address}/details
GET /api/v2/analytics/chains/{chain}/addresses/{address}/details HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "success",
  "data": {
    "address": "1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k",
    "chain": "bitcoin",
    "is_validated": true,
    "is_self_hosted": true,
    "is_verified": true,
    "is_customer": true,
    "reference_id": "acct-orig-1042"
  }
}

List Wallet Verification Evidence

get

Retrieve the retained wallet-control verification evidence for an address: for each redemption attempt, the exact challenge string that was signed, its nonce, the signature and the envelope it was produced under, the address form, and — on bitcoin — the public key. This is the record a VASP files with a supervisor for a self-hosted-wallet transfer, and it is independently re-verifiable without Ospree.

A signature proves control of the signing key for this address at the recorded instant. It does not prove that the wallet is self-hosted (a custodian can sign on a user's behalf), and it does not identify the tenant's customer, whom the challenge never names.

Wallets verified before evidence retention shipped return an empty list: nothing was retained for them and nothing can be reconstructed.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
chainstringRequired

Blockchain network name.

Example: bitcoin
addressstringRequired

Unique blockchain identifier.

Example: 1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k
Responses
200

Retained wallet-control evidence for this address, newest first.

application/json

summary: Api success response model

statusstringOptionalDefault: success
dataany · nullableOptional
get/api/v2/analytics/chains/{chain}/addresses/{address}/verifications
GET /api/v2/analytics/chains/{chain}/addresses/{address}/verifications HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "success",
  "data": {
    "address": "1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k",
    "chain": "bitcoin",
    "verifications": [
      {
        "id": "018f5e3a-8d4c-7f6a-9e5f-3a8d4c7f6a10",
        "chain": "bitcoin",
        "address": "1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k",
        "address_form": "p2pkh",
        "status": "verified",
        "message": "Acme Exchange wants you to sign with your bitcoin account: 1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k\n\nDomain: verify.ospree.io\nURI: https://verify.ospree.io/address/verification\nNonce: 9f2c1d7e4b0a6835\nIssued at: 2026-08-31:09:18:44",
        "nonce": "9f2c1d7e4b0a6835",
        "signature": "H1kR8mQ2vZ7pYxT4nC6bA9wE3sD5fG8hJ0kL2mN4oP6qR8sT0uV2wX4yZ6aB8cD0eF2gH4iJ6kL8mN0oP2q=",
        "signature_format": "bip137",
        "pubkey": "02a1633cafcc01ebfb6d78e39f687a1f0995c62fc95f51ead10a02ee0be551b5dc",
        "verified_at": "2026-08-31T09:20:11+00:00",
        "challenge_issued_at": "2026-08-31T09:18:44+00:00",
        "verifier_version": "acv-2"
      }
    ]
  }
}

Retrieve Address

get

Returns an screening result for the requesting address hash or referral id.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
chainstringRequired

Blockchain network name.

Example: bitcoin
addressstringRequired

Unique blockchain identifier.

Example: 1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k
Responses
200

The most recent screening result held for this address.

application/json
anyOptional
get/api/v2/analytics/chains/{chain}/addresses/{address}
GET /api/v2/analytics/chains/{chain}/addresses/{address} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "success",
  "data": {
    "address": "0x88c6c46ebf353a52bdbab708c23d0c81daa8134a",
    "chain": "ethereum",
    "symbol": "ETH",
    "is_self_hosted": false,
    "financial_data": {
      "balance": 1.24830533458673,
      "balance_usd": 41.241
    },
    "risk_data": [
      {
        "provider_name": "RDBIG",
        "risk_ratio": 39,
        "risk_descriptors": [
          "exchange_client",
          "binance_client_deposit"
        ],
        "vasp_name_legal": "Binance",
        "vasp_name_business": "binance",
        "vasp_website": "https://www.binance.com",
        "vasp_category": "exchange",
        "created": "2026-08-31T09:14:22.418293+00:00"
      }
    ],
    "created": "2026-08-31T09:14:22.418293"
  }
}

Screen Address

post

Screen address hashes to identify potential irregularities or suspicious activities within the blockchain ecosystem, gaining detailed insights into associated entities and flagged risk indicators.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
chainstring · min: 3Required

Blockchain network name.

Example: bitcoin
addressstring · min: 3Required

Unique blockchain identifier.

Example: 1JjYpRXfPntVEJqAjxsYmvFjjJBdJyaJ2k
Body
scan_for_riskboolean · nullableOptional

Whether to scan for risk when creating new address

Default: false
provider_namestring · nullableOptional

The name of the risk provider

is_self_hostedboolean · nullableOptional

Whether the wallet is self-hosted

Default: false
account_ref_idstring · nullableOptional

The reference ID of the account

link_typeinteger · nullableOptional

The type of link

Default: 1
Responses
200

The address was screened and recorded.

application/json
anyOptional
post/api/v2/analytics/chains/{chain}/addresses/{address}
POST /api/v2/analytics/chains/{chain}/addresses/{address} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 80

{
  "scan_for_risk": false,
  "is_self_hosted": false,
  "account_ref_id": "acct-orig-1042"
}
{
  "status": "success",
  "data": {
    "address": "0x88c6c46ebf353a52bdbab708c23d0c81daa8134a",
    "chain": "ethereum",
    "symbol": "ETH",
    "is_self_hosted": false,
    "financial_data": {
      "balance": 1.24830533458673,
      "balance_usd": 41.241
    },
    "risk_data": [
      {
        "provider_name": "RDBIG",
        "risk_ratio": 39,
        "risk_descriptors": [
          "exchange_client",
          "binance_client_deposit"
        ],
        "vasp_name_legal": "Binance",
        "vasp_name_business": "binance",
        "vasp_website": "https://www.binance.com",
        "vasp_category": "exchange",
        "created": "2026-08-31T09:14:22.418293+00:00"
      }
    ],
    "created": "2026-08-31T09:14:22.418293"
  }
}

List Addresses

get

Retrieve the paginated list of address screening results based on the requesting business identity

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
chainstringRequired

Blockchain network name.

Example: {"all":{"summary":"All networks","description":"All networks","value":"all"},"bitcoin":{"summary":"Bitcoin network","description":"Bitcoin network","value":"bitcoin"}}
Query parameters
pageinteger · min: 1OptionalDefault: 1
sizeinteger · min: 1 · max: 100OptionalDefault: 30
sortstring · nullableOptional
start_rangestring · date · nullableOptional
end_rangestring · date · nullableOptional
Responses
200

A page of screened addresses for the requesting business.

application/json
anyOptional
get/api/v2/analytics/chains/{chain}/addresses
GET /api/v2/analytics/chains/{chain}/addresses HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "success",
  "data": {
    "items": [
      {
        "id": "b7029c9d-1f8d-4bd0-81fc-ec1fa74c0caf",
        "address": "0x88c6c46ebf353a52bdbab708c23d0c81daa8134a",
        "chain": "ethereum",
        "dti": "4H95J0R2X",
        "is_self_hosted": false,
        "risk_ratio": 39,
        "balance_usd": 41.241,
        "balance": 1.24830533458673,
        "symbol": "ETH",
        "last_modified": "2026-08-31T10:14:47.278398+00:00",
        "created": "2026-08-31T09:14:19.671922+00:00"
      }
    ],
    "pagination": {
      "total": 1,
      "size": 50,
      "page": 1
    }
  }
}

Last updated