AkashicPay
English
English
  • Introduction
    • Overview
    • Fee Structure
    • Transaction Times
    • Terminology
  • Dashboard
    • Dashboard
    • Account
    • Transfer
    • Settings
    • Developers
  • SDK
    • Getting Started
    • Payment Flow
    • SDKs & Toolkits
    • Functions
      • getDepositAddress
      • getDepositUrl
      • Identifier & ReferenceId
      • Requested amount & currency
      • payout
      • Payout callback
      • Deposit callback
      • getTransfers
      • getBalance
      • getTransactionDetails
      • Errors
    • Supported Currencies
  • Secure Callback Endpoint
  • Guides
    • Quick Guide
    • Recommended integration flow
Powered by GitBook
On this page
  • Tron
  • Ethereum
  • Testnets

Was this helpful?

  1. SDK

Supported Currencies

PreviousErrorsNextSecure Callback Endpoint

Last updated 2 months ago

Was this helpful?

AkashicPay currently supports two : Ethereum and Tron. 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 or Tron). Which currency (ETH, USDT-ERC20, TRX, USDT-TRC20) 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 (TRX) and the Tether stablecoin (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
);

USDT (USDT-TRC20)

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
);

Ethereum

Similarly to Tron, AkashicPay supports transactions involving native coins (ETH) and the Tether stablecoin token (USDT 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
);

USDT (USDT-ERC20)

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
);

Testnets

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", while for Tron the testnet is "Shasta".

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::TRON_SHASTA // Instead of NetworkSymbol::TRON
NetworkSymbol::ETHEREUM_SEPOLIA // Instead of NetworkSymbol::ETHEREUM_MAINNET
APNetworkSymbol.TRX_SHASTA // Instead of APNetworkSymbol.TRX
APNetworkSymbol.SEP // Instead of APNetworkSymbol.ETH
TronShastaNetworkSymbol.Value // Instead of TronNetworkSymbol.Value
EthSepNetworkSymbol.Value // Instead of EthNetworkSymbol.Value

Note! USDT is also supported on both testnets (USDT-TRC20 and USDT-ERC20). No change is needed from how they are used on the mainnets. I.e. keep using TokenSymbol.USDT for JS/TS and similarly for other languages.

Networks/Chains
native coins
token