Demo to preview the settings
Live Demo: https://zeroqode-demo-27.bubbleapps.io/vezgo
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 texthttps://connect.vezgo.com/connect?client_id=YOUR_CLIENT_ID&token=USER_TOKEN
Or with a preselected provider:
plain texthttps://connect.vezgo.com/connect/bitcoin?client_id=YOUR_CLIENT_ID&token=USER_TOKEN
To reconnect account:
plain texthttps://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 texthttps://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 texthttps://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 texthttps://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:
Connect Example to provider:
Vezgo API Call
1. Get token: Private connection
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
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.
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, alwaysnull
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:username
,password
,token
,key
,secret
,wallet
,code
.fiat_ticker
- The fiat currency in which the accountsfiat_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'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, alwaysnull
for now.asset_type
- The asset's type or book-keeping model (e.g."utxo"
).NOTE: not yet implemented, alwaysnull
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 whichfiat_value
is reported.fiat_value
- The fiat value of the asset (string representation of a number).fiat_asset_is_verified
- Whether the asset'sfiat_value
is verified.false
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, alwaysnull
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, ornull
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 benull
.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 whichfiat_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, alwaysnull
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.
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, alwaysnull
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:username
,password
,token
,key
,secret
,wallet
,code
body fiat_ticker
- The fiat currency in which the account'sfiat_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'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
for now.asset_type
- The asset's type or book-keeping model (e.g."utxo"
).NOTE: not yet implemented, alwaysnull
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 whichfiat_value
is reportedfiat_value
- The fiat value of the asset (string representation of a number).fiat_asset_is_verified
- Whether the asset'sfiat_value
is verified.false
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, alwaysnull
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, ornull
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 benull
.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 whichfiat_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, alwaysnull
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.
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, alwaysnull
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:username
,password
,token
,key
,secret
,wallet
,code
body fiat_ticker
- The fiat currency in which the account'sfiat_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'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
for now.asset_type
- The asset's type or book-keeping model (e.g."utxo"
).NOTE: not yet implemented, alwaysnull
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 whichfiat_value
is reportedfiat_value
- The fiat value of the asset (string representation of a number).fiat_asset_is_verified
- Whether the asset'sfiat_value
is verified.false
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
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, ornull
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 benull
.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 whichfiat_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, alwaysnull
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, alwaysnull
for now.status
- The provider's service status.NOTE: not yet implemented, alwaysnull
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:username
,password
,token
,key
,secret
,wallet
,code
.available_scopes
- The scopes of access allowed by the provider.NOTE: not fully implemented, scope objects (if available) contain onlyname
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, alwaysnull
for now.
body status
- The provider's service status.NOTE: not yet implemented, alwaysnull
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:username
,password
,token
,key
,secret
,wallet
,code
8. Remove an account
This endpoint removes a specific account and all of its data from a user.
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.
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.
Parameters:
- account_id - The Vezgo account identifier.
- Authorization -
Bearer ${token}
.
Return values:
- body (list)
id
- The Vezgo transaction identifierstatus
- The account's connection statustransaction_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 provideramount
- The asset amount involved in this transaction part (string representation of a number)asset_is_verified
- Whether the transaction'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
for now.fiat_ticker
- The fiat currency in whichfiat_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
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
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 blockchainmisc 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_value
,amount
,ticker
,fees
.fiat_calculated_at
- The date whenfiat_value
s 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 benull
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, alwaysnull
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'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, alwaysnull
for now.fiat_ticker
- The fiat currency in whichfiat_value
is reported.fiat_value
- The fiat value of the transaction fee (string representation of a number).fiat_asset_is_verified
- Whether the fee'sfiat_value
is verified.false
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
for now.resource_type
- Resource type for this object (which is"transaction_fee"
)
11. Transaction: Get a specific transaction
This endpoint returns a transaction.
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 provideramount
- The asset amount involved in this transaction part (string representation of a number)asset_is_verified
- Whether the transaction'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, alwaysnull
for now.fiat_ticker
- The fiat currency in whichfiat_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
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in a wrong format).NOTE: not yet implemented, alwaysnull
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_value
,amount
,ticker
,fees
.
body fiat_calculated_at
- The date whenfiat_value
s 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 benull
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.
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 identifierstatus
- The account's connection statustransaction_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 provideramount
- The asset amount involved in this transaction part (string representation of a number)asset_is_verified
- Whether the transaction'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
for now.fiat_ticker
- The fiat currency in whichfiat_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
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
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 blockchainmisc 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_value
,amount
,ticker
,fees
.fiat_calculated_at
- The date whenfiat_value
s 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 benull
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, alwaysnull
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'samount
is verified.false
meansamount
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
for now.fiat_ticker
- The fiat currency in whichfiat_value
is reported.fiat_value
- The fiat value of the transaction fee (string representation of a number).fiat_asset_is_verified
- Whether the fee'sfiat_value
is verified.false
meansfiat_value
comes "as-is" from the provider without being processed by Vezgo (could be in the wrong format).NOTE: not yet implemented, alwaysnull
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. |