Supported Currencies

Overview

The Living Assets platform supports trading in most native cryptocurrencies and ERC20 tokens. It is straightforward to add support for further native cryptos or ERC20 tokens, as long as they live in EVM compatible blockchains. Just contact us if interested.

Trades for each asset are initiated in one single chosen currency, uniquely identified by a currencyId. All potential buyers of that particular asset will need to pay in that currency.

Cryptocurrencies

Main query

The allSupportedCryptocurrencies query is the entry point to retrieve info about the full list of cryptocurrencies currently supported by the Living Assets network. As new currencies are enabled, they can be activated in different universes as per universe owner request.

{
  allSupportedCryptocurrencies{
    nodes {
      currencyId
      symbol 
      erc20ContractAddress
      paymentsContractAddress
      networkName
      nodeUrl
      confirmationBlocks
    }
  }
}

Check the get supported cryptos example for more info.

Return parameters

The returned data contains, first, the smart contract that operates the payments:

  • paymentsContractAddress

Then, a set of descriptors about the accepted currency:

  • currencyId: the currency's unique identifier;

  • symbol: the short symbol used by the currency's coin;

  • isErc20: (bool) if true, the accepted currency is an ERC20 token, otherwise, it's the native currency of the underlying blockchain;

  • erc20ContractAddress: if isErc20 == true, the query returns the address where the ERC20 token contract is deployed in the underlying blockchain.

Finally, a set of descriptors of the underlying blockchain where the escrow contract is deployed:

  • networkName: the short name of the blockchain, e.g. Ethereum;

  • chainID: the underlying blockchain chainId, e.g. 100;

  • bluecoinSymbol: the symbol of the cryptocurrency native to the underlying blockchain. If isErc20 == false, then symbol == bluecoinSymbol.

  • nodeUrl: the address of a public node of the underlying blockchain to which TXs can be sent;

  • confirmationBlocks: the recommended number of mined blocks to wait after before a transaction can be considered as final in the underlying blockchain.

Cryptocurrencies per Universe

Universe owners can set which currencies to enable trading assets in the universe they manage. The following query returns the list of currently enabled cryptocurrencies per universe:

{
  allUniversesSupportedCryptocurrencies(condition: {universeId: 0}) {
      nodes {
        currencyId
    }
  }
}

Fiat Currencies

Main queries

The allSupportedFiatcurrencies query is the entry point to retrieve info about supported fiat currencies. The following example returns information such as the currency ID, currency symbol, and provider ID. As new currencies are enabled, they can be activated in different universes as per universe owner request.

query {
  allSupportedFiatcurrencies {
    nodes {
      currencyId
      symbol
      providerId
    }
  }
}

Likewise, the getFiatCurrencies query can additionally provide information on a per-universe basis. The following example returns information such as the currency ID, provider ID, currency symbol, and various fee percentages, expressed in Basis Points (BPS) units.

query {
  getFiatCurrencies(input: {universeId: 0}) 
  {
    currencies {
      currencyId
      providerId
      symbol
      freeverseFeePercentBps
      clientFeePercentBps
    }
  }
}

This query needs the proper b2b auth token to be included in the headers.

The single input parameter is an object with one single field:

  • universeId (required): The ID of the universe for which to retrieve fiat currencies.

Return parameters

The getFiatCurrencies query returns an object with a single field called currencies, which is an array of fiat currency objects. Each currency object has the following fields:

  • currencyId: The ID of the fiat currency.

  • providerId: The ID of the provider that supports the fiat currency.

  • symbol: The symbol of the fiat currency (e.g., USD, EUR).

  • freeverseFeePercentBps: The fee percentage (in Basis Points) charged by Freeverse for trading an asset.

  • clientFeePercentBps: The fee percentage (in Basis Points) charged by the universe owner for trading an asset.

For quick reference, Basis Points are equivalent to one-hundredth of 1 percentage point. For example: 5% = 500BPS, and 1BPS = 0.01%.

The price/amount value

When specifying amounts, always use an integer, interpreted as the smallest unit allowed by the coin, regardless of whether it is in fiat, native crypto or ERC20. For example:

  • in Euros, the amount 125 would correspond to €1.25, i.e. 1 Euro and 25 cents;

  • in MATIC, the amount 1000000000, interpreted as Wei, would correspond to 1 GWei, equivalent to 1e-9 MATIC.

Last updated

freeverse.io