Kite Gasless Integration
This page provides practical integration instructions for using Kite's Stablecoin Gasless Transfer service. It is intended for developers who want to implement gasless token transfers using signed authorizations (EIP-3009).
Design & Architecture - For protocol rationale, trust model, and design considerations, refer to Stablecoin Gasless Transfer – Design Guide Kite Stablecoin
Overview
Kite's Gasless Transfer service allows users to transfer supported stablecoins without holding native gas tokens. Instead, transactions are authorized off-chain using EIP-3009 signed messages, and executed on-chain by Kite's relayer infrastructure.
This model enables:
Gasless UX for users
Secure, replay-protected transfers
Wallet and agent-based payment flows
Enterprise-friendly stablecoin payments
Supported Networks
Testnet
Mainnet
Network selection is done via the request path:
Service endpoint - https://gasless.gokite.ai
API Reference
List Supported Tokens
Retrieve the list of tokens enabled for gasless transfers on each network.
Endpoint - GET /supported_tokens
Example Request:
Example Response:
Response Fields:
address: The contract address of the tokenbalance_threshold: The minimum balance required for the sender to use this service (in token's smallest unit)decimals: The number of decimals used by the tokeneip712_name: The EIP-712 domain name used for signature generationeip712_version: The EIP-712 domain version used for signature generationminimum_transfer_amount: The minimum transfer amount allowed (in token's smallest unit, e.g., wei)name: The display name of the tokensymbol: The token symbol
Submit Transfer Request
Submit a gasless transfer request using EIP-3009 signed authorization.
Endpoint: POST /testnet or POST /mainnet
Request Path:
Use
/testnetfor testnet network transfersUse
/mainnetfor mainnet network transfers
Request Method: POST
Request Body Example:
Request Parameters:
All parameters follow the EIP-3009 specification:
Network Path: Use
/testnetor/mainnetaccording to your target networktokenAddress: Must be a token address listed in the/supported_tokensAPI responsevalue: The transfer amount in the token's smallest unit (e.g., wei for 18-decimal tokens)validAfter: The timestamp after which the transfer is valid. Must be greater than the latest block timestamp of the associated Kite network, otherwise the transaction simulation will failvalidBefore: The timestamp before which the transfer must be executed. Currently, transfers are only accepted within 30 seconds from the current timenonce: A unique nonce for this transfer. Each nonce can only be used oncev,r,s: ECDSA signature components. See EIP-3009 for detailed signature generation instructions
Response Fields:
txHash: The transaction hash for the gasless transfer.
Implementation Reference
For a complete TypeScript implementation example demonstrating how to generate the EIP-3009 signature and submit the request, refer to: GitHub EIP-3009 example
Last updated
