Supported Currencies
AkashicPay currently supports four Networks/Chains: Ethereum, Tron, BNB Smart Chain (BSC) and Solana. 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, BSC or Solana). Which currency (ETH, USDT-ERC20, TRX, USDT-TRC20, BNB, BSC-USD-BEP20, SOL, USDT-SPL) 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
- TypeScript
- PHP
- Java
- C#
- Go
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 payoutResult = await sdk.PayoutAsync(
"user123",
"TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
"100",
TronNetworkSymbol.Value,
ApTokenSymbol.Native // Or exclude this argument
);
ap.Payout("user123",
"TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
"100",
akashicpay.Tron,
"")
USDT (TRC20)
- TypeScript
- PHP
- Java
- C#
- Go
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 payoutResult = 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 here
Ethereum
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
- TypeScript
- PHP
- Java
- C#
- Go
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 payoutResult = await sdk.PayoutAsync(
"user123",
"0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
"100",
EthNetworkSymbol.Value,
ApTokenSymbol.Native // Or exclude this argument
);
ap.Payout("user123",
"0x352ad0b65ccaaddd2c3e3b1a78be555171c239f3",
"100",
akashicpay.Ethereum_Mainnet,
"")
USDT (ERC20)
- TypeScript
- PHP
- Java
- C#
- Go
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 payoutResult = 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 here
USDC (ERC20)
- TypeScript
- PHP
- Java
- C#
- Go
const { 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 payoutResult = 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 here
BNB Smart Chain (BSC)
BNB
- TypeScript
- PHP
- Java
- C#
- Go
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 payoutResult = 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 (BSC-USD)
- TypeScript
- PHP
- Java
- C#
- Go
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 payoutResult = 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 here
USDC (BSC-USD)
- TypeScript
- PHP
- Java
- C#
- Go
const { 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 payoutResult = 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 here
Solana
SOL
- TypeScript
- PHP
- Java
- C#
- Go
const { l2Hash } = await akashicPay.payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
NetworkSymbol.Solana
);
$result = $akashicPay->payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
NetworkSymbol::SOLANA
);
APPayoutResult result = akashicPay.payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
APNetworkSymbol.SOL,
APTokenSymbol.NATIVE // or exclude this argument
);
var payoutResult = await sdk.PayoutAsync(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
SolanaNetworkSymbol.Value,
ApTokenSymbol.Native // Or exclude this argument
);
ap.Payout("user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
akashicpay.Solana,
"")
USDT (SPL)
- TypeScript
- PHP
- Java
- C#
- Go
const { l2Hash } = await akashicPay.payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
NetworkSymbol.Solana,
TokenSymbol.USDT // Note the token here
);
$result = $akashicPay->payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
NetworkSymbol::SOLANA,
TokenSymbol::USDT // Note the token here
);
APPayoutResult result = akashicPay.payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
APNetworkSymbol.SOL,
APTokenSymbol.USDT // Note the token here
);
var payoutResult = await sdk.PayoutAsync(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
SolanaNetworkSymbol.Value,
ApTokenSymbol.Usdt // Note the token here
);
ap.Payout("user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
akashicpay.Solana,
akashicpay.USDT) // Note the token here
USDC (SPL)
- TypeScript
- PHP
- Java
- C#
- Go
const { l2Hash } = await akashicPay.payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
NetworkSymbol.Solana,
TokenSymbol.USDC // Note the token here
);
$result = $akashicPay->payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
NetworkSymbol::SOLANA,
TokenSymbol::USDC // Note the token here
);
APPayoutResult result = akashicPay.payout(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
APNetworkSymbol.SOL,
APTokenSymbol.USDC // Note the token here
);
var payoutResult = await sdk.PayoutAsync(
"user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
SolanaNetworkSymbol.Value,
ApTokenSymbol.Usdc // Note the token here
);
ap.Payout("user123",
"8Yza6M8SfB3JWoyhmCL35aWBiEKz7wepWq19fHxcZ9mN",
"100",
akashicpay.Solana,
akashicpay.USDC) // 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", for Tron the testnet is "Shasta", for BNB Smart Chain (BSC) the testnet is "BNB Smart Chain Testnet", while for Solana the testnet is Solana Devnet.
All functionality is identical to performing operations on the mainnets, but you would replace the "NetworkSymbols" in the code to:
- TypeScript
- PHP
- Java
- C#
- Go
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_Mainnet
NetworkSymbol.Solana_Devnet // Instead of NetworkSymbol.Solana
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_MAINNET
NetworkSymbol::SOLANA_DEV // Instead of NetworkSymbol::SOL
APNetworkSymbol.TRX_SHASTA // Instead of APNetworkSymbol.TRX
APNetworkSymbol.SEP // Instead of APNetworkSymbol.ETH
APNetworkSymbol.tBNB // Instead of ApNetworkSymbol.BNB
APNetworkSymbol.SOL_DEV // Instead of ApNetworkSymbol.SOL
TronShastaNetworkSymbol.Value // Instead of TronNetworkSymbol.Value
EthSepNetworkSymbol.Value // Instead of EthNetworkSymbol.Value
TBnbNetworkSymbol.Value // Instead of BnbNetworkSymbol.Value
SolanaDevNetworkSymbol.Value // Instead of SolanaNetworkSymbol.Value
akashicpay.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_Mainnet
akashicpay.Solana_Devnet // Instead of akashicpay.Solana
Note: USDT is also supported on SEP, Shasta, SOL (Dev) and BNB testnets (USDT-TRC20, USDT-ERC20 and USDT-BEP20). 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, SOL (Dev) and BNB-Testnet. Use
TokenSymbol.USDCand similar for other languages.