Introduction
The assets group of endpoints provides information about the assets available on the platform, as well as the networks and rails used to transfer them.
Assets
Assets represent the various financial instruments available on the platform, categorized by their type and features.
Asset shape
An asset has the following properties:
Types of assets
There are different types of assets available on the platform:
Features
Each asset has a unique code
and a set of features. These features determine the type of transactions that can be performed with the asset:
buy
: The ability to purchase the asset, that is, when it’s specified as thedestination
in a transaction (e.g., asset associated with the destination node) and theorigin
node has a different asset.transfer
: The ability to transfer the asset, that is, when theorigin
anddestination
node assets are the same.sell
: The ability to sell the asset, that is, when it’s specified as theorigin
node in a transaction (e.g., asset associated to the account) and the destination node asset is different.deposit
: The ability to perform a deposit of the asset when specified as origin node of a transaction (e.g., through an external account).withdraw
: The ability to perform a withdrawal of the asset when specified as origin node of a transaction (e.g., through an external account).
Please note that these features can be contextualized with a user, meaning that a user may have access to some features of an asset and not others.
Networks
Networks are the underlying protocol in which the transfer of certain assets are made.
Network shape
A network has the following base properties:
type
. For example, the network above has two more properties named exampleAddress
and explorer
, which are available for networks of type crypto
.Types of networks
There are different types of networks available on the platform:
Rails
A rail is a combination of an asset and a network, which together define whether a deposit or a withdrawal of a given asset under that network is possible.
Rail shape
A rail has the following base properties:
type
. For example, the rail above has one more property named contractAddress
, which is available for rails of type crypto
.In some rare cases, the decimals
property on the rail is different than the decimals
defined in the asset. If you are initiating a deposit or a withdrawal transaction, use the decimals
of the corresponding rail to truncate or round the decimal places in the user interface.
Types of rails
There are different types of rails available on the platform, which are analogous to the types of networks:
Features and deposits / withdrawals
A deposit is possible if:
- The rail has the
deposit
feature. - The origin asset has the
deposit
feature. - The destination asset has:
- The
transfer
feature if the origin and destination assets are the same. - The
buy
feature if converting between assets.
- The
A withdrawal is possible if:
- The rail has the
withdraw
feature. - The origin asset has:
- The
transfer
feature if the origin and destination assets are the same. - The
sell
feature if converting between assets.
- The
- The deposit asset has the
withdraw
feature.