Supported Currencies
AkashicPay currently supports three Networks/Chains: Ethereum, Tron and BNB Smart Chain (BSC). Support for other blockchains such as Bitcoin is planned for the near future.
Note that whenever a network parameter is required in the SDK, this specifies the blockchain the transaction uses (e.g. Ethereum, Tron or BSC). Which currency (ETH, USDT-ERC20, TRX, USDT-TRC20, BNB, BSC-USD-BEP20) is transacted is decided by the token parameter - which is left out (null or undefined or similar) for native transactions. See below for more detail and examples.
Tron
On the Tron network, AkashicPay supports transactions involving native coins (TRX) and the Tether stablecoin token (USDT-TRC20). Below are examples of doing payouts in the two currencies using the SDK. All other functions that accept network and token parameters work in the same way.
TRX
const { l2Hash } = await akashicPay.payout(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  NetworkSymbol.Tron
);$result = $akashicPay->payout(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  NetworkSymbol::TRON
);APPayoutResult result = akashicPay.payout(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  APNetworkSymbol.TRX,
  APTokenSymbol.NATIVE // or exclude this argument
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  TronNetworkSymbol.Value,
  ApTokenSymbol.Native // Or exclude this argument
);ap.Payout("user123",
    "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
    "100",
    akashicpay.Tron,
    "")const { l2Hash } = await akashicPay.payout(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  NetworkSymbol.Tron,
  TokenSymbol.USDT // Note the token here
);$result = $akashicPay->payout(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  NetworkSymbol::TRON,
  TokenSymbol::USDT // Note the token here
);APPayoutResult result = akashicPay.payout(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  APNetworkSymbol.TRX,
  APTokenSymbol.USDT // Note the token here
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
  "100",
  TronNetworkSymbol.Value,
  ApTokenSymbol.Usdt // Note the token here
);ap.Payout("user123",
    "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
    "100",
    akashicpay.Tron,
    akashicpay.USDT) // Note the token hereEthereum
Similarly to Tron, AkashicPay supports transactions involving native coins (ETH), the Tether stablecoin token (USDT-ERC20) and the Circle stablecoin token (USDC-ERC20). Below are examples of doing payouts in the two currencies using the SDK. All other functions that accept network and token parameters work in the same way.
ETH
const { l2Hash } = await akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol.Ethereum_Mainnet
);$result = $akashicPay->payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol::ETHEREUM_MAINNET
);APPayoutResult result = akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  APNetworkSymbol.ETH,
  APTokenSymbol.NATIVE // or exclude this argument
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  EthNetworkSymbol.Value,
  ApTokenSymbol.Native // Or exclude this argument
);ap.Payout("user123",
    "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
    "100",
    akashicpay.Ethereum_Mainnet,
    "")const { l2Hash } = await akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol.Ethereum_Mainnet,
  TokenSymbol.USDT // Note the token here
);$result = $akashicPay->payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol::ETHEREUM_MAINNET,
  TokenSymbol::USDT // Note the token here
);APPayoutResult result = akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  APNetworkSymbol.ETH,
  APTokenSymbol.USDT // Note the token here
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  EthNetworkSymbol.Value,
  ApTokenSymbol.Usdt // Note the token here
);ap.Payout("user123",
    "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
    "100",
    akashicpay.Ethereum_Mainnet,
    akashicpay.USDT) // Note the token hereconst { l2Hash } = await akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol.Ethereum_Mainnet,
  TokenSymbol.USDC // Note the token here
);$result = $akashicPay->payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol::ETHEREUM_MAINNET,
  TokenSymbol::USDC // Note the token here
);APPayoutResult result = akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  APNetworkSymbol.ETH,
  APTokenSymbol.USDC // Note the token here
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  EthNetworkSymbol.Value,
  ApTokenSymbol.Usdc // Note the token here
);ap.Payout("user123",
    "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
    "100",
    akashicpay.Ethereum_Mainnet,
    akashicpay.USDC) // Note the token hereBNB Smart Chain (BSC)
BNB
const { l2Hash } = await akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol.Binance_Smart_Chain_Mainnet
);$result = $akashicPay->payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol::BINANCE_SMART_CHAIN_MAINNET
);APPayoutResult result = akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  APNetworkSymbol.BNB,
  APTokenSymbol.NATIVE // or exclude this argument
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  BnbNetworkSymbol.Value,
  ApTokenSymbol.Native // Or exclude this argument
);ap.Payout("user123",
    "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
    "100",
    akashicpay.Binance_Smart_Chain_Mainnet,
    "")USDT ()
const { l2Hash } = await akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol.Binance_Smart_Chain_Mainnet,
  TokenSymbol.USDT // Note the token here
);$result = $akashicPay->payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol::BINANCE_SMART_CHAIN_MAINNET,
  TokenSymbol::USDT // Note the token here
);APPayoutResult result = akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  APNetworkSymbol.BNB,
  APTokenSymbol.USDT // Note the token here
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  BnbNetworkSymbol.Value,
  ApTokenSymbol.Usdt // Note the token here
);ap.Payout("user123",
    "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
    "100",
    akashicpay.Binance_Smart_Chain_Mainnet,
    akashicpay.USDT) // Note the token hereconst { l2Hash } = await akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol.Binance_Smart_Chain_Mainnet,
  TokenSymbol.USDC // Note the token here
);$result = $akashicPay->payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  NetworkSymbol::BINANCE_SMART_CHAIN_MAINNET,
  TokenSymbol::USDC // Note the token here
);APPayoutResult result = akashicPay.payout(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  APNetworkSymbol.BNB,
  APTokenSymbol.USDC // Note the token here
);var trxPayoutResult = await sdk.PayoutAsync(
  "user123",
  "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
  "100",
  BnbNetworkSymbol.Value,
  ApTokenSymbol.Usdc // Note the token here
);ap.Payout("user123",
    "0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
    "100",
    akashicpay.Binance_Smart_Chain_Mainnet,
    akashicpay.USDC) // Note the token hereTestnets
For testing purposes, e.g. on a develop or staging environment, AkashicPay supports testnets associated with each mainnet. For Ethereum, the associated testnet is called "Sepolia", for Tron the testnet is "Shasta", while for BNB Smart Chain (BSC) the testnet is "BNB Smart Chain Testnet".
All functionality is identical to performing operations on the mainnets, but you would replace the "NetworkSymbols" in the code to:
NetworkSymbol.Tron_Shasta // Instead of NetworkSymbol.Tron
NetworkSymbol.Ethereum_Sepolia // Instead of NetworkSymbol.Ethereum_Mainnet
NetworkSymbol.Binance_Smart_Chain_Testnet // Instead of NetworkSymbol.Binance_Smart_Chain_MainnetNetworkSymbol::TRON_SHASTA // Instead of NetworkSymbol::TRON
NetworkSymbol::ETHEREUM_SEPOLIA // Instead of NetworkSymbol::ETHEREUM_MAINNET
NetworkSymbol::BINANCE_SMART_CHAIN_TESTNET // Instead of NetworkSymbol::BINANCE_SMART_CHAIN_MAINNETAPNetworkSymbol.TRX_SHASTA // Instead of APNetworkSymbol.TRX
APNetworkSymbol.SEP // Instead of APNetworkSymbol.ETH
APNetworkSymbol.tBNB // Instead of ApNetworkSymbol.BNBTronShastaNetworkSymbol.Value // Instead of TronNetworkSymbol.Value
EthSepNetworkSymbol.Value // Instead of EthNetworkSymbol.Value
TBnbNetworkSymbol.Value // Instead of BnbNetworkSymbol.Valueakashicpay.Tron_Shasta // Instead of akashicpay.Tron
akashicpay.Ethereum_Sepolia // Instead of akashicpay.Ethereum_Mainnet
akashicpay.Binance_Smart_Chain_Testnet // Instead of akashicpay.Binance_Smart_Chain_MainnetNote: USDT is also supported on SEP and Shasta testnets (USDT-TRC20 and USDT-ERC20). No change is needed from how they are used on the mainnets. I.e. keep using
TokenSymbol.USDTfor JS/TS and similarly for other languages.USDC is supported on SEP and BNB-Testnet. Use
TokenSymbol.USDCand similar for other languages.
Last updated
Was this helpful?
