Vezgo multi-crypto integrations

Demo to preview the settings

Introduction

This plugin is the easiest way for users to connect their crypto accounts to their app through the Vezgo platform. You can connect to Atomic Wallet, Binance, Bitcoin, Bitfinex, Binance Smart Chain, Coinbase, Dogecoin, Etherium, Metamask, and many others. Check the full list of supported integrations here: https://vezgo.com/status

How to setup

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 the 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.

1. How to connect

You can load the Vezgo Connect URL using your own method (redirect from the current page or open in a new window)
plain text
https://connect.vezgo.com/connect?client_id=YOUR_CLIENT_ID&token=USER_TOKEN
Or with a preselected provider:
plain text
https://connect.vezgo.com/connect/bitcoin?client_id=YOUR_CLIENT_ID&token=USER_TOKEN
To reconnect account:
plain text
https://connect.vezgo.com/reconnect/ACCOUNT_ID?client_id=YOUR_CLIENT_ID&token=USER_TOKEN

2. Custom Redirect URI

You can pass in the Vezgo Connect URL a custom redirect_uri so that it redirects to this uri at the end of the process.
For example, load the following Vezgo Connect URL:
plain text
https://connect.vezgo.com/connect?client_id=YOUR_CLIENT_ID&token=USER_TOKEN&redirect_uri=https://myapp.test/crypto&state=APP_STATE_BEFORE_CONNECTION_IN_BASE64
After the user finishes connecting an account, it will redirect to:
plain text
https://myapp.test/crypto?account=ACCOUNT_ID&code=ACCOUNT_ID&state=APP_STATE_BEFORE_CONNECTION_IN_BASE64
Or if the connection failed or the user closes the process, it will redirect to:
After the user finishes connecting an account, it will redirect to:
plain text
https://myapp.test/crypto?error_type=400&message=Invalid+credentials&state=APP_STATE_BEFORE_CONNECTION_IN_BASE64
The Redirect URI must be registered first before it can be used. You can register multiple Redirect URIs for your team (for your development, staging or production urls). Contact Vezgo team if you need to register your Redirect URIs.

Connect Example:

Image without caption

Connect Example to provider:

Image without caption

Vezgo API Call

1. Get token: Private connection

Image without caption
Image without caption
The token is short-lived and you will need to obtain a new one when it expires. Currently the default token lifetime is 20 minutes.
Authentication is required for user data endpoints / actions in the form of a Vezgo user token.
API clients (both frontend and backend) will need to obtain a token before making user data API calls for or opening the Vezgo Connect Widget.
The token must be included in the Authorization: Bearer ${token} header in your Vezgo API request, or in the ?token= query string in the Vezgo Connect Widget URL.

2. Get token: Public connection

Image without caption
The token is short-lived and you will need to obtain a new one when it expires. Currently the default token lifetime is 20 minutes.
Authentication is required for user data endpoints / actions in the form of a Vezgo user token.
API clients (both frontend and backend) will need to obtain a token before making user data API calls for or opening the Vezgo Connect Widget.
The token must be included in the Authorization: Bearer ${token} header in your Vezgo API request, or in the ?token= query string in the Vezgo Connect Widget URL.

3. Account: Get list

This endpoint returns the list of a user's connected accounts.
Image without caption
Parameters:
  • Hash - Random string.
  • Authorization - Bearer ${token} .
Return values:
  • Body (list)
    • id - The Vezgo account identifier.
    • provider resource_type - Resource type for this object (which is "provider").
    • provider name - The provider's unique name is used as identification within the Vezgo system.
    • provider display_name - The provider's human-friendly name, to be used for display purpose.
    • provider logo - The logo URL for the provider.
    • provider auth_type - The provider's authentication type.
    • provider status - The provider's service status.NOTE: not yet implemented, always null for now.
    • provider is_beta - Whether the Vezgo support for this provider is still beta. See https://vezgo.com/status for up-to-date development status on all providers.
    • provider connect_notice - Notes regarding the provider's connection process.
    • provider credentials - List of credential information requested by the provider, as an array of the following possible values: usernamepasswordtokenkeysecretwalletcode.
    • fiat_ticker - The fiat currency in which the accounts fiat_value is reported.
    • fiat_value - Total fiat value of the account (string representation of a number).
  • Balance (list):
    • ticker - Ticker symbol for the asset reported by this balance.
    • provider_ticker - Ticker symbol for the asset, as reported by the account's provider.
    • name - The asset name.
    • asset_is_verified - Whether the asset's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, always null for now.
    • asset_type - The asset's type or book-keeping model (e.g. "utxo").NOTE: not yet implemented, always null for now.
    • amount - The current balance of the asset (string representation of a number).
    • decimals - The number of decimal places for the asset's lowest denominator (e.g. 8 for Bitcoin).
    • fiat_ticker - The fiat currency in which fiat_value is reported.
    • fiat_value - The fiat value of the asset (string representation of a number).
    • fiat_asset_is_verified - Whether the asset's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, always null for now.
    • wallet - ID of the wallet in which this balance is reported.
    • logo - The logo URL for the asset if it's a cryptocurrency, or null if it's a fiat currency.
    • updated_at - The balance's last updated date (milliseconds since Epoch).
    • misc - Miscellaneous information for the balance. Non standardized and could be null .
    • resource_type - Resource type for this object (which is "balance").
  • Wallets (list):
    • id - Unique identifier for a wallet within an account.
    • name - Wallet name, for display purpose. Not always available.
    • address - The wallet address, for display purpose. Not always available.
    • fiat_ticker - The fiat currency in which fiat_value is reported.
    • fiat_value - The total fiat value of the wallet (string representation of a number).
  • blockchain - (wallet accounts only) The blockchain holding the account. null for accounts coming from a cryptocurrency exchange.NOTE: not yet implemented, always null for now.
  • created_at - The Vezgo account's creation date (milliseconds since Epoch).
  • updated_at - The Vezgo account's last updated date (milliseconds since Epoch).

4. Account: sync one by ID

This endpoint triggers an account sync.
Image without caption
Parameters:
  • account_id - The Vezgo account identifier.
  • Authorization - Bearer ${token} .
Return values:
  • body id - The Vezgo account identifier.
  • body provider resource_type - Resource type for this object (which is "provider")
  • body provider name - The provider's unique name that is used as identification within the Vezgo system.
  • body provider display_name - The provider's human-friendly name, to be used for display purpose
  • body provider logo - The logo URL for the provider.
  • body provider auth_type - The provider's authentication type.
  • body provider status - The provider's service status.NOTE: not yet implemented, always null for now.
  • body provider is_beta - Whether the Vezgo support for this provider is still beta. See https://vezgo.com/status for up-to-date development status on all providers.
  • body provider connect_notice - Notes regarding the provider's connection process.
  • body provider credentials - List of credential information requested by the provider, as an array of the following possible values: usernamepasswordtokenkeysecretwalletcode
  • body fiat_ticker - The fiat currency in which the account's fiat_value is reported.
  • body fiat_value - Total fiat value of the account (string representation of a number).
  • body balances (list) :
    • ticker - Ticker symbol for the asset reported by this balance.
    • provider_ticker - Ticker symbol for the asset, as reported by the account's provider.
    • name - The asset name.
    • asset_is_verified - Whether the asset's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
    • asset_type - The asset's type or book-keeping model (e.g. "utxo").NOTE: not yet implemented, always null for now.
    • amount - The current balance of the asset (string representation of a number).
    • decimals - The number of decimal places for the asset's lowest denominator (e.g. 8 for Bitcoin).
    • fiat_ticker - The fiat currency in which fiat_value is reported
    • fiat_value - The fiat value of the asset (string representation of a number).
    • fiat_asset_is_verified - Whether the asset's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, always null for now.
    • wallet - ID of the wallet in which this balance is reported.
    • logo - The logo URL for the asset if it's a cryptocurrency, or null if it's a fiat currency.
    • updated_at - The balance's last updated date (milliseconds since Epoch).
    • misc - Miscellaneous information for the balance. Non-standardized and could be null .
    • resource_type - Resource type for this object (which is "balance").
  • body wallets (list):
    • id - Unique identifier for a wallet within an account.
    • name - Wallet name, for display purpose. Not always available.
    • address - The wallet address, for display purpose. Not always available.
    • fiat_ticker - The fiat currency in which fiat_value is reported.
    • fiat_value - The total fiat value of the wallet (string representation of a number).
  • body blockchain - (wallet accounts only) The blockchain holds the account. null for accounts coming from a cryptocurrency exchange.NOTE: not yet implemented, always null for now.
  • body created_at - The Vezgo account's creation date (milliseconds since Epoch)
  • body updated_at - The Vezgo account's last updated date (milliseconds since Epoch).
  • body status - The account's connection status.
  • body resource_type - Resource type for this object (which is "account").

5. Account: Get one by ID

This endpoint returns a specific account.
Image without caption
Parameters:
  • account_id - The Vezgo account identifier.
  • Authorization - Bearer ${token} .
Return values:
  • body id - The Vezgo account identifier.
  • body provider resource_type - Resource type for this object (which is "provider")
  • body provider name - The provider's unique name is used as identification within the Vezgo system.
  • body provider display_name - The provider's human-friendly name, to be used for display purpose
  • body provider logo - The logo URL for the provider.
  • body provider auth_type - The provider's authentication type.
  • body provider status - The provider's service status.NOTE: not yet implemented, always null for now.
  • body provider is_beta - Whether the Vezgo support for this provider is still beta. See https://vezgo.com/status for up-to-date development status on all providers.
  • body provider connect_notice - Notes regarding the provider's connection process.
  • body provider credentials - List of credential information requested by the provider, as an array of the following possible values: usernamepasswordtokenkeysecretwalletcode
  • body fiat_ticker - The fiat currency in which the account's fiat_value is reported.
  • body fiat_value - Total fiat value of the account (string representation of a number).
  • body balances (list) :
    • ticker - Ticker symbol for the asset reported by this balance.
    • provider_ticker - Ticker symbol for the asset, as reported by the account's provider.
    • name - The asset name.
    • asset_is_verified - Whether the asset's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
    • asset_type - The asset's type or book-keeping model (e.g. "utxo").NOTE: not yet implemented, always null for now.
    • amount - The current balance of the asset (string representation of a number).
    • decimals - The number of decimal places for the asset's lowest denominator (e.g. 8 for Bitcoin).
    • fiat_ticker - The fiat currency in which fiat_value is reported
    • fiat_value - The fiat value of the asset (string representation of a number).
    • fiat_asset_is_verified - Whether the asset's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
    • wallet - ID of the wallet in which this balance is reported.
    • logo - The logo URL for the asset if it's a cryptocurrency, or null if it's a fiat currency.
    • updated_at - The balance's last updated date (milliseconds since Epoch).
    • misc - Miscellaneous information for the balance. Non-standardized and could be null .
    • resource_type - Resource type for this object (which is "balance").
  • body wallets (list):
    • id - Unique identifier for a wallet within an account.
    • name - Wallet name, for display purpose. Not always available.
    • address - The wallet address, for display purpose. Not always available.
    • fiat_ticker - The fiat currency in which fiat_value is reported.
    • fiat_value - The total fiat value of the wallet (string representation of a number).
  • body blockchain - (wallet accounts only) The blockchain holds the account. null for accounts coming from a cryptocurrency exchange.NOTE: not yet implemented, always null for now.
  • body created_at - The Vezgo account's creation date (milliseconds since Epoch)
  • body updated_at - The Vezgo account's last updated date (milliseconds since Epoch).
  • body status - The account's connection status.
  • body resource_type - Resource type for this object (which is "account").

6. Providers: Get list

Parameters:
  • none
Return values:
  • body (list):
    • resource_type - Resource type for this object (which is "provider").
    • name - The provider's unique name is used as identification within the Vezgo system.
    • display_name - The provider's human-friendly name, is to be used for display purposes.
    • logo - The logo URL for the provider.
    • auth_type - The provider's authentication type.
    • available_currencies - The list of currencies supported by the provider.NOTE: not yet implemented, always null for now.
    • status - The provider's service status.NOTE: not yet implemented, always null for now.
    • is_beta - Whether the Vezgo support for this provider is still beta. See https://vezgo.com/status for up-to-date development status on all providers.
    • connect_notice - Notes regarding the provider's connection process.
    • credentials - List of credential information requested by the provider, as an array of the following possible values: usernamepasswordtokenkeysecretwalletcode.
    • available_scopes - The scopes of access allowed by the provider.NOTE: not fully implemented, scope objects (if available) contain only name for now
      • name .

7. Provider: Get one by Name

Parameters:
  • none
Return values:
  • body resource_type - Resource type for this object (which is "provider")
  • body name - The provider's unique name is used as identification within the Vezgo system.
  • body display_name - The provider's human-friendly name, to be used for display purpose
  • body logo - The logo URL for the provider.
  • body auth_type - The provider's authentication type.
  • bodyavailable_currencies - The list of currencies supported by the provider.NOTE: not yet implemented, always null for now.
  • body status - The provider's service status.NOTE: not yet implemented, always null for now.
  • body is_beta - Whether the Vezgo support for this provider is still beta. See https://vezgo.com/status for up-to-date development status on all providers.
  • body connect_notice - Notes regarding the provider's connection process.
  • body credentials - List of credential information requested by the provider, as an array of the following possible values: usernamepasswordtokenkeysecretwalletcode

8. Remove an account

This endpoint removes a specific account and all of its data from a user.
Image without caption
Parameters:
  • account_id - The Vezgo account identifier.
  • Authorization - Bearer ${token} .
Return values:
  • body

9. Balance: Get balance history

This endpoint returns the balance history for an account.
Image without caption
NOTE: An account's balance history starts from the date the account was first connected to Vezgo.
Parameters:
  • account_id - The Vezgo account identifier.
  • Authorization - Bearer ${token} .
Return values:
  • body (list)
    • id - The Vezgo history entry identifier.
    • date - The date when the history entry was recorded (milliseconds since Epoch).
    • wallet - ID of the account wallet recorded in this history entry..
    • account - The Vezgo account identifier.
    • fiat_ticker - The fiat currency in which fiat_value is reported.
    • fiat_value - The total fiat value of the wallet (string representation of a number).

10. Transaction: Get transaction history

This endpoint returns the transactions history for an account.
Image without caption
Parameters:
  • account_id - The Vezgo account identifier.
  • Authorization - Bearer ${token} .
Return values:
  • body (list)
    • id - The Vezgo transaction identifier
    • status - The account's connection status
    • transaction_type - The transaction type.
    • parts (list): - One or more transaction parts.
      • direction - The financial direction for this transaction part.
      • ticker - Ticker symbol for the asset involved in this transaction part.
      • provider_ticker -Ticker symbol for the asset, as reported by the account's provider
      • amount - The asset amount involved in this transaction part (string representation of a number)
      • asset_is_verified - Whether the transaction's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
      • fiat_ticker - The fiat currency in which fiat_value is reported.
      • fiat_value - The fiat value of the transaction part (string representation of a number).
      • fiat_asset_is_verified - Whether the transaction's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
    • wallet - ID of the wallet in which this transaction is reported.
    • account - The Vezgo account identifier.
    • misc origin_id - Original transaction id if it comes from an exchange, or transaction hash if from a blockchain
    • misc incomplete (list) - List of attributes that are incomplete and thus should not be trusted. This should be empty in most cases but if it isn't, it might be indicative of an error in our connector and should be reported to the Vezgo team. Possible values: fiat_valueamounttickerfees.
    • fiat_calculated_at - The date when fiat_values from the transaction parts were calculated (milliseconds since Epoch)
    • initiated_at - The date when the transaction was initiated (milliseconds since Epoch)
    • confirmed_at - The date when the transaction was confirmed (milliseconds since Epoch). Could be null if the transaction hasn't been confirmed.
    • resource_type - Resource type for this object (which is "transaction").
    • fees (list)
      • type - The fee type (or source of fee) for the transaction.NOTE: not yet implemented, always null for now.
      • ticker - Ticker symbol for the asset charged in this transaction fee.
      • provider_ticker - Ticker symbol for the asset, as reported by the account's provider.
      • amount - The asset amount charged in this transaction fee (string representation of a number).
      • asset_is_verified - Whether the fee's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, always null for now.
      • fiat_ticker - The fiat currency in which fiat_value is reported.
      • fiat_value - The fiat value of the transaction fee (string representation of a number).
      • fiat_asset_is_verified - Whether the fee's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
      • resource_type - Resource type for this object (which is "transaction_fee")

11. Transaction: Get a specific transaction

This endpoint returns a transaction.
Image without caption
Parameters:
  • account_id - The Vezgo account identifier.
  • transaction_ID - The Vezgo transaction identifier
  • Authorization - Bearer ${token} .
Return values:
  • body id - The Vezgo transaction identifier
  • body status - The account's connection status
  • body transaction_type - The transaction type.
  • body parts (list): - One or more transaction parts.
    • direction - The financial direction for this transaction part.
    • ticker - Ticker symbol for the asset involved in this transaction part.
    • provider_ticker -Ticker symbol for the asset, as reported by the account's provider
    • amount - The asset amount involved in this transaction part (string representation of a number)
    • asset_is_verified - Whether the transaction's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, always null for now.
    • fiat_ticker - The fiat currency in which fiat_value is reported.
    • fiat_value - The fiat value of the transaction part (string representation of a number).
    • fiat_asset_is_verified - Whether the transaction's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, always null for now.
  • body wallet - ID of the wallet in which this transaction is reported.
  • body account - The Vezgo account identifier.
  • body misc origin_id - Original transaction id if it comes from an exchange, or transaction hash if from a blockchain
  • body misc incomplete (list) - List of attributes that are incomplete and thus should not be trusted. This should be empty in most cases but if it isn't, it might be indicative of an error in our connector and should be reported to the Vezgo team. Possible values: fiat_valueamounttickerfees.
  • body fiat_calculated_at - The date when fiat_values from the transaction parts were calculated (milliseconds since Epoch)
  • body initiated_at - The date when the transaction was initiated (milliseconds since Epoch)
  • body confirmed_at - The date when the transaction was confirmed (milliseconds since Epoch). Could be null if the transaction hasn't been confirmed.
  • body resource_type - Resource type for this object (which is "transaction").

12. Transaction: Get all transactions

To fetch all transactions, we need to enable pagination and go page-by-page.
Image without caption
Parameters:
  • account_id - The Vezgo account identifier.
  • from - The start date of the period to perform the query. This cannot be a date after to date. Defaults to start of the current year.
  • to - The end date of the period to perform the query. This cannot be a date before from date. Defaults to today.
  • Authorization - Bearer ${token} .
Return values:
  • body (list)
    • id - The Vezgo transaction identifier
    • status - The account's connection status
    • transaction_type - The transaction type.
    • parts (list): - One or more transaction parts.
      • direction - The financial direction for this transaction part.
      • ticker - Ticker symbol for the asset involved in this transaction part.
      • provider_ticker -Ticker symbol for the asset, as reported by the account's provider
      • amount - The asset amount involved in this transaction part (string representation of a number)
      • asset_is_verified - Whether the transaction's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
      • fiat_ticker - The fiat currency in which fiat_value is reported.
      • fiat_value - The fiat value of the transaction part (string representation of a number).
      • fiat_asset_is_verified - Whether the transaction's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
    • wallet - ID of the wallet in which this transaction is reported.
    • account - The Vezgo account identifier.
    • misc origin_id - Original transaction id if it comes from an exchange, or transaction hash if from a blockchain
    • misc incomplete (list) - List of attributes that are incomplete and thus should not be trusted. This should be empty in most cases but if it isn't, it might be indicative of an error in our connector and should be reported to the Vezgo team. Possible values: fiat_valueamounttickerfees.
    • fiat_calculated_at - The date when fiat_values from the transaction parts were calculated (milliseconds since Epoch)
    • initiated_at - The date when the transaction was initiated (milliseconds since Epoch)
    • confirmed_at - The date when the transaction was confirmed (milliseconds since Epoch). Could be null if the transaction hasn't been confirmed.
    • resource_type - Resource type for this object (which is "transaction").
    • fees (list)
      • type - The fee type (or source of fee) for the transaction.NOTE: not yet implemented, always null for now.
      • ticker - Ticker symbol for the asset charged in this transaction fee.
      • provider_ticker - Ticker symbol for the asset, as reported by the account's provider.
      • amount - The asset amount charged in this transaction fee (string representation of a number).
      • asset_is_verified - Whether the fee's amount is verified. false means amount comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
      • fiat_ticker - The fiat currency in which fiat_value is reported.
      • fiat_value - The fiat value of the transaction fee (string representation of a number).
      • fiat_asset_is_verified - Whether the fee's fiat_value is verified. false means fiat_value comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, always null for now.
      • resource_type - Resource type for this object (which is "transaction_fee")

Errors

The Vezgo API uses the following error codes:
Error Code
Meaning
400
Bad Request -- Your request is invalid.
401
Unauthorized -- Your token is missing, invalid or has expired.
404
Not Found -- The specified resource could not be found.
500
Internal Server Error -- We had a problem with our server. Try again later.
503
Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Changelogs