Skip to main content
Synchronous transaction methods wait for the final result instead of returning a task ID. These methods are specifically designed for fast chains and chains with Flashblocks enabled, where transaction confirmation times are minimal.

Overview

MethodReturnsUse Case
sendTransactionTask IDFire and forget, poll status separately
sendTransactionSyncFinal statusWait for result in one call

How It Works

  1. Single Call - Submit transaction and receive final status in one API call
  2. Built-in Waiting - SDK handles polling internally until transaction completes or times out
  3. Immediate Feedback - Returns transaction receipt on success, or error details on failure
  4. Timeout Protection - Configurable timeout prevents indefinite waiting

Code Example

import { createGelatoEvmRelayerClient, sponsored, StatusCode } from '@gelatocloud/gasless';

const relayer = createGelatoEvmRelayerClient({ apiKey, testnet: true });

const status = await relayer.sendTransactionSync({
  chainId: 84532,
  to: '0xContract',
  data: '0xCalldata',
  payment: sponsored(),
  timeout: 30000
});

if (status.status === StatusCode.Included) {
  console.log('TX hash:', status.receipt.transactionHash);
}

Additional Resources