Skip to Content
TachyonTachyon SDKAPI Reference

API Reference

Constructor

new Tachyon(options)

Creates a new Tachyon SDK instance.

const tachyon = new Tachyon({ apiKey: 'your-api-key', });

Parameters:

  • options.apiKey (string, required): Your Tachyon API key
  • options.baseURL (string, optional): Base URL for the Tachyon API

Methods

relay(params)

Submits a transaction for relay execution.

const txId = await tachyon.relay({ chainId: ChainId.BASE, to: '0x742d35cc6634C0532925a3b8D1C9b53e6aC3', value: '1000000000000000000', callData: '0x', label: 'My Transaction', gasLimit: '21000' });

Parameters:

  • chainId (number, required): The blockchain network ID
  • to (string, required): The recipient address
  • value (string, required): Amount to send in wei
  • callData (string, required): Transaction data
  • label (string, optional): Human-readable label for the transaction
  • gasLimit (string, optional): Gas limit for the transaction

Returns: Promise<string> - Transaction ID

Throws: Error if validation fails or submission fails


getRelayStatus(txId)

Gets the current status of a submitted transaction.

const status = await tachyon.getRelayStatus('tx_id_here');

Parameters:

  • txId (string, required): The transaction ID returned from relay()

Returns: Promise<RelayStatusBase> - Transaction status object

Status Object Properties:

  • id: Transaction ID
  • status: Current status (EXECUTED, FAILED, NOT_PICKED_UP, PENDING, NEEDS_TO_BE_RETRIED)
  • to: Recipient address
  • callData: Transaction data
  • value: Amount in wei
  • chainId: Network ID
  • executionTxHash: On-chain transaction hash (null if not executed)
  • timestamp: Submission timestamp
  • latency: Execution latency in milliseconds
  • costUSD: Execution cost in USD
  • error: Error message (if failed)

waitForExecutionHash(txId, timeoutMs?, pollIntervalMs?)

Polls for transaction execution and returns when complete.

const executedTx = await tachyon.waitForExecutionHash( 'tx_id_here', 30000, // 30 second timeout 1000 // poll every 1 second );

Parameters:

  • txId (string, required): Transaction ID
  • timeoutMs (number, optional): Maximum wait time in ms (default: 5000)
  • pollIntervalMs (number, optional): Polling interval in ms (default: 50)

Returns: Promise<RelayStatusBase> - Completed transaction status

Throws: Error if timeout reached or transaction fails


getSupportedChains()

Gets all supported blockchain networks.

const chains = await tachyon.getSupportedChains();

Returns: Promise<SupportedChainsResponse> - Array of supported chains

Chain Object Properties:

  • id: Chain ID
  • name: Chain name
  • iconUrl: Chain icon URL
  • isTestnet: Whether it’s a testnet
  • nativeCurrency: Native currency info
  • blockExplorers: Block explorer URLs

isChainSupported(chainId)

Checks if a specific chain is supported.

const isSupported = await tachyon.isChainSupported(ChainId.BASE);

Parameters:

  • chainId (number, required): Chain ID to check

Returns: Promise<boolean> - Whether the chain is supported


checkAccountInfo(address)

Gets account information for a wallet address.

const accountInfo = await tachyon.checkAccountInfo('0x742d35cc...');

Parameters:

  • address (string, required): Wallet address to query

Returns: Promise<AccountInfo> - Account information

Account Info Properties:

  • userId: User ID
  • address: Wallet address
  • availableBalance: Available balance
  • pendingBalance: Pending balance
  • defaultTachyonAccount: Default account details

getVersion()

Gets the current SDK version.

const version = tachyon.getVersion();

Returns: string - SDK version


Types and Enums

ChainId

Enum of supported blockchain network IDs:

enum ChainId { ETHEREUM = 1, OPTIMISM = 10, BSC = 56, POLYGON = 137, ARBITRUM_ONE = 42161, BASE = 8453, // ... and more }

TransactionStatus

Enum of possible transaction statuses:

enum TransactionStatus { NOT_PICKED_UP = 'NOT_PICKED_UP', PENDING = 'PENDING', EXECUTED = 'EXECUTED', FAILED = 'FAILED', NEEDS_TO_BE_RETRIED = 'NEEDS_TO_BE_RETRIED' }
Last updated on