Skip to main content

Welcome to the VAAS API Reference! (v1)

Download OpenAPI specification:Download

Overview

Here, you'll find documentation on all our VAAS REST API endpoints.

Authentication

Direct API calls

For direct API calls, VAAS uses API keys for authentication on all API calls.

Clients must include an Authorization header with the value Basic {base64_encoded_credentials} for every API request. The {base64_encoded_credentials} should be a base64-encoded string in the format apiTokenId:apiTokenSecret.

To obtain API keys, please contact support.

API calls from third-party integration

Learn more about here.

HTTP Status Code

  • 200 - OK - Request processed as expected.
  • 400 - INVALID_REQUEST - Request is not well-formed, violates schema or incorrect fields.
  • 401 - NOT_AUTHORIZED - The API key doesn't match or doesn't have permissions to perform the request.
  • 403 - FORBIDDEN - The API key's permissions doesn't match the needed permission to complete the request.
  • 404 - RESOURCE_NOT_FOUND - The requested resource doesn't exist.
  • 429 - RATE_LIMIT_REACHED - Too many requests. Blocked due to rate limiting.
  • 5XX - Something went wrong on VAAS' end

Wallet Screening

Operations about wallet screenings.

List screening history

Lists the screening history for your organization.

query Parameters
customerId
string

The ID associated with the organization's customer in screenings.

address
string^[A-Za-z0-9]+$

The screened wallet address.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 20

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new screening

Creates a new screening.

Request Body schema: application/json
required
customerId
string

The ID for organizations to associate the wallet owner with screenings.

address
required
string^[A-Za-z0-9]+$

The screened wallet address.

blockchains
required
Array of strings
Items Enum: "AVALANCHE" "BITCOIN" "BNB" "ETHEREUM" "POLYGON" "SOLANA"

Responses

Request samples

Content type
application/json
{
  • "customerId": "string",
  • "address": "string",
  • "blockchains": [
    ]
}

Response samples

Content type
application/json
{
  • "walletScreeningId": "string",
  • "score": 90,
  • "risk": "SEVERE",
  • "decision": "DENIED"
}

Find a screening by ID

Returns a screening by ID.

path Parameters
id
required
string

The ID of the screening to return.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "address": "string",
  • "blockchains": [
    ],
  • "customer": {
    },
  • "entity": {
    },
  • "entityType": {
    },
  • "engineAnalysis": {
    },
  • "flowOfFunds": {
    },
  • "status": "PENDING",
  • "deleted": true,
  • "creator": {
    },
  • "createdOn": "2019-08-24T14:15:22Z",
  • "updater": {
    },
  • "updatedOn": "2019-08-24T14:15:22Z",
  • "completeOn": "2019-08-24T14:15:22Z"
}

KYT

Operations about kyts.

List KYT history

Lists the kyt history for your organization.

query Parameters
customerId
string

The ID associated with the organization's customer in KYTs.

customerAddress
string^[A-Za-z0-9]+$

The wallet address associated with the organization's customer in the transaction and in KYT.

counterpartyAddress
string^[A-Za-z0-9]+$

The wallet address associated with the transaction counterparty on KYT.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 20

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new KYT

Creates a new KYT.

query Parameters
orgRequestId
string
Request Body schema: application/json
required
customerId
string

The ID for organizations to associate the wallet owner with transactions.

customerAddress
string^[A-Za-z0-9]+$

The wallet address associated with the organizations' customer.

counterpartyAddress
required
string^[A-Za-z0-9]+$

The wallet address associated with the counterparty.

txDirection
required
string
Enum: "DEPOSIT" "WITHDRAW"

Direction of the transaction given the organization's point of view.

txHash
string
txBlockNumber
string
txBlockHash
string
txBlockchain
required
string
Enum: "AVALANCHE" "BITCOIN" "BNB" "ETHEREUM" "POLYGON" "SOLANA"
txToken
string
tokenAmount
number <double>
txTimestamp
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "customerId": "string",
  • "customerAddress": "string",
  • "counterpartyAddress": "string",
  • "txDirection": "DEPOSIT",
  • "txHash": "string",
  • "txBlockNumber": "string",
  • "txBlockHash": "string",
  • "txBlockchain": "AVALANCHE",
  • "txToken": "string",
  • "tokenAmount": 0.1,
  • "txTimestamp": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "kytId": "string",
  • "score": 90,
  • "risk": "SEVERE",
  • "decision": "DENIED"
}

Find a KYT by ID

Returns a KYT by ID.

path Parameters
id
required
string

The ID of the KYT to return.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "orgId": "string",
  • "customer": {
    },
  • "counterparty": {
    },
  • "txDirection": "DEPOSIT",
  • "blockchainTx": {
    },
  • "engineAnalysis": {
    },
  • "status": "PENDING",
  • "deleted": true,
  • "creator": {
    },
  • "createdOn": "2019-08-24T14:15:22Z",
  • "updater": {
    },
  • "updatedOn": "2019-08-24T14:15:22Z",
  • "completeOn": "2019-08-24T14:15:22Z"
}

KYC

Operations about KYCs.

Create a new KYC Person

Creates a new KYC Person.

Request Body schema: application/json
required
customerId
required
string
name
string
cpf
required
string
phones
Array of strings
emails
Array of strings
registredOn
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "customerId": "string",
  • "name": "string",
  • "cpf": "string",
  • "phones": [
    ],
  • "emails": [
    ],
  • "registredOn": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "kycId": "string",
  • "score": 90,
  • "risk": "SEVERE",
  • "decision": "DENIED"
}

Create a new KYC Company

Creates a new KYC Company.

Request Body schema: application/json
required
customerId
required
string

The ID for organizations to associate the wallet owner with transactions.

name
string
cnpj
required
string
registredOn
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "customerId": "string",
  • "name": "string",
  • "cnpj": "string",
  • "registredOn": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "kycId": "string",
  • "score": 90,
  • "risk": "SEVERE",
  • "decision": "DENIED"
}

List KYC history

Lists the kyc history for your organization.

query Parameters
customerId
string

The ID associated with the organization's customer in KYCs.

page
integer >= 0
Default: 0

Zero-based page index (0..N)

size
integer >= 1
Default: 20

The size of the page to be returned

sort
Array of strings

Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Find a KYC by ID

Returns a KYC by ID.

path Parameters
id
required
string

The ID of the KYC to return.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "customer": {
    },
  • "registrationData": {
    },
  • "engineAnalysis": {
    },
  • "score": 90,
  • "risk": "SEVERE",
  • "timestamp": "2019-08-24T14:15:22Z"
}

Fireblocks

Operations about Fireblocks integration.

get

Responses

setup

Request Body schema: application/json
coSignerPublicKey
string

Public key of the Co-Signer. It will be used to validate requests sent by Fireblocks to the VAAS Callback Handler. It is mandatory for the setup to be completed, but it can be sent later in a separate request.

Responses

Request samples

Content type
application/json
{
  • "coSignerPublicKey": "string"
}

updateCoSignerPublicKey

path Parameters
id
required
string
Request Body schema: application/json
required
coSignerPublicKey
required
string

Public key of the Co-Signer. It will be used to validate requests sent by Fireblocks to the VAAS Callback Handler. It is mandatory for the setup to be completed.

Responses

Request samples

Content type
application/json
{
  • "coSignerPublicKey": "string"
}

Co-Signer Callback Handler

Handles the request sent by Fireblocks Co-Signer and returns an action taken by the VAAS KYT engine.

path Parameters
id
required
string
Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "requestId": "string",
  • "action": "APPROVE",
  • "rejectionReason": "string"
}