Skip to main content

Vezgo API (1.0.0)

Download OpenAPI specification:Download

Welcome to Vezgo!

Vezgo is the easiest way for people to connect their crypto accounts to your app. It connects to any crypto exchange, wallet, protocol or account to retrieve balances, holdings and transactions.

To see a complete list of supported cryptocurrency exchanges and wallets, see our Dev Status page.

To sign up for Vezgo API, send an email to hello@vezgo.com.

After signing up, you will be provided with a Client ID and Client Secret for the API authentication.

Authentication

Get Authentication Token

This endpoint returns the authentication token referred as VEZGO_USER_TOKEN in this doc.

header Parameters
loginName
required
string
Examples: userid01 user@example.dev

The user's unique identification from your system (could be the username, id, or email).

Request Body schema: application/json
clientId
string
secret
string

Responses

Request samples

Content type
application/json
{
  • "clientId": "string",
  • "secret": "string"
}

Response samples

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

Account

Get accounts list

This endpoint returns the list of a user's connected accounts.

Authorizations:
VEZGO_USER_TOKEN

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get an account

This endpoint returns a specific account.

Authorizations:
VEZGO_USER_TOKEN
path Parameters
account_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "resource_type": "string",
  • "blockchain": "string",
  • "created_at": 0,
  • "updated_at": 0,
  • "status": "ok",
  • "status_details": {
    },
  • "error": {
    },
  • "fiat_value": "string",
  • "fiat_ticker": "string",
  • "provider": {
    },
  • "wallets": [
    ],
  • "balances": [
    ]
}

Remove an account

Removes a specific account and all of its data from a user

Authorizations:
VEZGO_USER_TOKEN
path Parameters
account_id
required
string

Responses

Get balance history

This endpoint returns the balance history for an account.
By default, data for the current year is returned.
NOTE: An account's balance history starts from the date the account was first connected to Vezgo.

Authorizations:
VEZGO_USER_TOKEN
path Parameters
account_id
required
string
query Parameters
from
string
to
string
wallet
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Sync

Sync an account

This endpoint triggers an account sync. Vezgo automatically synchronizes all accounts with providers once daily. You can also trigger an account sync at any time to get the latest data.

Authorizations:
VEZGO_USER_TOKEN
path Parameters
account_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "resource_type": "string",
  • "blockchain": "string",
  • "created_at": 0,
  • "updated_at": 0,
  • "status": "ok",
  • "status_details": {
    },
  • "error": {
    },
  • "fiat_value": "string",
  • "fiat_ticker": "string",
  • "provider": {
    },
  • "wallets": [
    ],
  • "balances": [
    ]
}

Transaction

Get transaction history

Returns the transaction history for an account

To fetch all transactions, we need to enable pagination and go page-by-page.

First make a request with an empty last (?last=) for the first page. Then use the last transaction's ID from the first page to query the next page ?last=LAST_TRANSACTION_ID, and so on.

See example code at https://vezgo.com/docs/examples#get-all-transactions

Notes:
  • The same ?from param must be provided in all requests.
  • If ?from is not passed, it defaults to the start of the current year. If you want to get all transactions including previous years, pass a very old date.
  • If ?limit is not passed, it defaults to 100. Maximum value of ?limit allowed is 1000.
  • sort can be only used when Pagination mode is not in use.

Due to trade reconciliation, ?limit doesn't guarantee the exact number of results to be returned. E.g. ?limit=10 might return 9 or fewer transactions, depending on how many times trade reconciliation happens within the 10 transactions queried from our DB.

Trade reconciliation is a process where 2 or more transactions that are originally part of a trade are combined into a single transaction_type: 'trade' transaction. This process is neccessary due to a current limitation in the Vezgo system, and will be removed in the next version of Vezgo API.

IMPORTANT: We have a hard limit of 6MB response size for transactions. If you are already passing ?limit then it should be good. But if you are passing in a large ?from=&to= range, or querying a very large account without passing in ?limit, any request returning more than 6MB of response will be dropped.

By default, transactions are sorted by transaction.initiated_at in ascending order.

When a last or limit is passed to the query, pagination mode is enabled. In this mode, transactions are sorted by their creation date (the date on which the transaction is added to the Vezgo system).

Authorizations:
VEZGO_USER_TOKEN
path Parameters
account_id
required
string
query Parameters
ticker
string
from
string
to
string
last
string
limit
number
wallet
string
sort
string
Enum: "asc" "desc"
exclude_fields
string

comma-separated list of fields to exclude from the response, for smaller response sizes.

types
Array of strings (TransactionType)
Items Enum: "deposit" "withdrawal" "trade" "staking" "unstaking" "reward" "bonus" "other"

comma-separated list of transaction types to filter by.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a specific transaction

Returns a specific transaction

Authorizations:
VEZGO_USER_TOKEN
path Parameters
account_id
required
string
tx_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "resource_type": "string",
  • "status": "string",
  • "transaction_type": "deposit",
  • "transaction_subtype": "onchain_deposit",
  • "transaction_hash": "string",
  • "fiat_calculated_at": 0,
  • "initiated_at": 0,
  • "confirmed_at": 0,
  • "wallet": "string",
  • "misc": {
    },
  • "parts": [
    ],
  • "fees": [
    ]
}

Provider

Get list of all supported providers.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get provider by name.

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]