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.
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
- Payload
{- "clientId": "string",
- "secret": "string"
}
Response samples
- 200
{- "token": "string"
}
Get accounts list
This endpoint returns the list of a user's connected accounts.
Authorizations:
Responses
Response samples
- 200
[- {
- "id": "string",
- "resource_type": "string",
- "blockchain": "string",
- "created_at": 0,
- "updated_at": 0,
- "status": "ok",
- "status_details": {
- "wallets": "ok",
- "balances": "ok",
- "transactions": "ok"
}, - "error": {
- "name": "LoginFailedError",
- "message": "string"
}, - "fiat_value": "string",
- "fiat_ticker": "string",
- "provider": {
- "resource_type": "string",
- "name": "string",
- "display_name": "string",
- "logo": "string",
- "auth_type": "password",
- "available_scopes": [
- "string"
], - "available_currencies": [ ],
- "status": "string",
- "is_beta": true,
- "connect_notice": "string",
- "credentials": [
- "username"
], - "instructions": {
- "en": "string",
- "fr": "string"
}, - "misc": { },
- "features": {
- "account": true,
- "positions": true,
- "transactions": true,
- "nfts": true,
- "streaming": true
}
}, - "wallets": [
- {
- "id": "string",
- "name": "string",
- "address": "string",
- "fiat_value": "string",
- "fiat_ticker": "string"
}
], - "balances": [
- {
- "resource_type": "string",
- "ticker": "string",
- "ticker_address": "string",
- "provider_ticker": "string",
- "name": "string",
- "provider_ticker_name": "string",
- "asset_type": "string",
- "amount": "string",
- "decimals": 0,
- "asset_is_verified": { },
- "fiat_value": "string",
- "fiat_ticker": "string",
- "fiat_asset_is_verified": { },
- "logo": "string",
- "updated_at": 0,
- "wallet": "string",
- "misc": { }
}
]
}
]
Get an account
This endpoint returns a specific account.
Authorizations:
path Parameters
account_id required | string |
Responses
Response samples
- 200
{- "id": "string",
- "resource_type": "string",
- "blockchain": "string",
- "created_at": 0,
- "updated_at": 0,
- "status": "ok",
- "status_details": {
- "wallets": "ok",
- "balances": "ok",
- "transactions": "ok"
}, - "error": {
- "name": "LoginFailedError",
- "message": "string"
}, - "fiat_value": "string",
- "fiat_ticker": "string",
- "provider": {
- "resource_type": "string",
- "name": "string",
- "display_name": "string",
- "logo": "string",
- "auth_type": "password",
- "available_scopes": [
- "string"
], - "available_currencies": [ ],
- "status": "string",
- "is_beta": true,
- "connect_notice": "string",
- "credentials": [
- "username"
], - "instructions": {
- "en": "string",
- "fr": "string"
}, - "misc": { },
- "features": {
- "account": true,
- "positions": true,
- "transactions": true,
- "nfts": true,
- "streaming": true
}
}, - "wallets": [
- {
- "id": "string",
- "name": "string",
- "address": "string",
- "fiat_value": "string",
- "fiat_ticker": "string"
}
], - "balances": [
- {
- "resource_type": "string",
- "ticker": "string",
- "ticker_address": "string",
- "provider_ticker": "string",
- "name": "string",
- "provider_ticker_name": "string",
- "asset_type": "string",
- "amount": "string",
- "decimals": 0,
- "asset_is_verified": { },
- "fiat_value": "string",
- "fiat_ticker": "string",
- "fiat_asset_is_verified": { },
- "logo": "string",
- "updated_at": 0,
- "wallet": "string",
- "misc": { }
}
]
}
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:
path Parameters
account_id required | string |
query Parameters
from | string |
to | string |
wallet | string |
Responses
Response samples
- 200
[- {
- "id": "string",
- "date": 0,
- "wallet": "string",
- "fiat_ticker": "string",
- "fiat_value": "string"
}
]
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:
path Parameters
account_id required | string |
Responses
Response samples
- 202
{- "id": "string",
- "resource_type": "string",
- "blockchain": "string",
- "created_at": 0,
- "updated_at": 0,
- "status": "ok",
- "status_details": {
- "wallets": "ok",
- "balances": "ok",
- "transactions": "ok"
}, - "error": {
- "name": "LoginFailedError",
- "message": "string"
}, - "fiat_value": "string",
- "fiat_ticker": "string",
- "provider": {
- "resource_type": "string",
- "name": "string",
- "display_name": "string",
- "logo": "string",
- "auth_type": "password",
- "available_scopes": [
- "string"
], - "available_currencies": [ ],
- "status": "string",
- "is_beta": true,
- "connect_notice": "string",
- "credentials": [
- "username"
], - "instructions": {
- "en": "string",
- "fr": "string"
}, - "misc": { },
- "features": {
- "account": true,
- "positions": true,
- "transactions": true,
- "nfts": true,
- "streaming": true
}
}, - "wallets": [
- {
- "id": "string",
- "name": "string",
- "address": "string",
- "fiat_value": "string",
- "fiat_ticker": "string"
}
], - "balances": [
- {
- "resource_type": "string",
- "ticker": "string",
- "ticker_address": "string",
- "provider_ticker": "string",
- "name": "string",
- "provider_ticker_name": "string",
- "asset_type": "string",
- "amount": "string",
- "decimals": 0,
- "asset_is_verified": { },
- "fiat_value": "string",
- "fiat_ticker": "string",
- "fiat_asset_is_verified": { },
- "logo": "string",
- "updated_at": 0,
- "wallet": "string",
- "misc": { }
}
]
}
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:
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
- 200
[- {
- "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": {
- "origin_id": "string",
- "origin_type": "string",
- "is_swap": true,
- "incomplete": [
- "fiat_value"
]
}, - "parts": [
- {
- "id": "string",
- "direction": "sent",
- "ticker": "string",
- "provider_ticker": "string",
- "ticker_address": "string",
- "amount": "string",
- "asset_is_verified": true,
- "fiat_ticker": "string",
- "fiat_value": "string",
- "fiat_asset_is_verified": true,
- "to_address": "string",
- "from_address": "string",
- "other_parties": [
- "string"
]
}
], - "fees": [
- {
- "id": "string",
- "resource_type": "string",
- "type": "string",
- "ticker": "string",
- "provider_ticker": "string",
- "amount": "string",
- "asset_is_verified": { },
- "fiat_value": "string",
- "fiat_ticker": "string",
- "fiat_asset_is_verified": true
}
]
}
]
Get a specific transaction
Returns a specific transaction
Authorizations:
path Parameters
account_id required | string |
tx_id required | string |
Responses
Response samples
- 200
{- "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": {
- "origin_id": "string",
- "origin_type": "string",
- "is_swap": true,
- "incomplete": [
- "fiat_value"
]
}, - "parts": [
- {
- "id": "string",
- "direction": "sent",
- "ticker": "string",
- "provider_ticker": "string",
- "ticker_address": "string",
- "amount": "string",
- "asset_is_verified": true,
- "fiat_ticker": "string",
- "fiat_value": "string",
- "fiat_asset_is_verified": true,
- "to_address": "string",
- "from_address": "string",
- "other_parties": [
- "string"
]
}
], - "fees": [
- {
- "id": "string",
- "resource_type": "string",
- "type": "string",
- "ticker": "string",
- "provider_ticker": "string",
- "amount": "string",
- "asset_is_verified": { },
- "fiat_value": "string",
- "fiat_ticker": "string",
- "fiat_asset_is_verified": true
}
]
}
Response samples
- 200
[- {
- "resource_type": "string",
- "name": "string",
- "display_name": "string",
- "logo": "string",
- "auth_type": "password",
- "available_scopes": [
- "string"
], - "available_currencies": [ ],
- "status": "string",
- "is_beta": true,
- "connect_notice": "string",
- "credentials": [
- "username"
], - "instructions": {
- "en": "string",
- "fr": "string"
}, - "misc": { },
- "features": {
- "account": true,
- "positions": true,
- "transactions": true,
- "nfts": true,
- "streaming": true
}
}
]
Response samples
- 200
[- {
- "resource_type": "string",
- "name": "string",
- "display_name": "string",
- "logo": "string",
- "auth_type": "password",
- "available_scopes": [
- "string"
], - "available_currencies": [ ],
- "status": "string",
- "is_beta": true,
- "connect_notice": "string",
- "credentials": [
- "username"
], - "instructions": {
- "en": "string",
- "fr": "string"
}, - "misc": { },
- "features": {
- "account": true,
- "positions": true,
- "transactions": true,
- "nfts": true,
- "streaming": true
}
}
]