> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eco.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Queue ERC-3009 gasless transfer

> Submit a signed `TransferWithAuthorization` for the operator wallet to broadcast. Single onchain tx, USDC-native. For a quoted vault, `value` must cover the quoted `amount` and the quote must not be expired.



## OpenAPI

````yaml /gateway_fast_deposits_openapi.json post /circle-gateway/v1/gasless/transferWithAuthorization
openapi: 3.0.0
info:
  title: Circle Gateway Fast Deposits API
  version: 2.0.0
  description: >-
    REST API for creating quoted Circle Gateway deposit vaults, queueing gasless
    funding via ERC-3009, polling vault and job status.
servers:
  - url: https://api.eco.com
    description: Mainnet
security: []
tags:
  - name: Circle Gateway
  - name: Gasless funding
paths:
  /circle-gateway/v1/gasless/transferWithAuthorization:
    post:
      tags:
        - Gasless funding
      summary: Queue ERC-3009 gasless transfer
      description: >-
        Submit a signed `TransferWithAuthorization` for the operator wallet to
        broadcast. Single onchain tx, USDC-native. For a quoted vault, `value`
        must cover the quoted `amount` and the quote must not be expired.
      operationId: queueGaslessTransferWithAuthorization
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferWithAuthorizationDTO'
      responses:
        '202':
          description: Job queued
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GaslessJobResponse'
components:
  schemas:
    TransferWithAuthorizationDTO:
      type: object
      required:
        - chainId
        - from
        - to
        - value
        - validAfter
        - validBefore
        - nonce
        - signature
      properties:
        chainId:
          type: integer
          minimum: 1
        from:
          $ref: '#/components/schemas/EvmAddress'
          description: Token owner (signer)
        to:
          $ref: '#/components/schemas/EvmAddress'
          description: Quoted vault address that will receive the tokens
        value:
          type: string
          description: >-
            Raw token units. For a quoted vault, must be at least the quoted
            amount.
        validAfter:
          type: string
          description: Unix seconds
        validBefore:
          type: string
          description: Unix seconds
        nonce:
          $ref: '#/components/schemas/Hex32'
        signature:
          $ref: '#/components/schemas/Hex65'
          description: ERC-3009 signature
    GaslessJobResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/GaslessJob'
    EvmAddress:
      type: string
      pattern: ^0x[a-fA-F0-9]{40}$
      description: EIP-55 / lowercase hex 20-byte address
      example: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb'
    Hex32:
      type: string
      pattern: ^0x[a-fA-F0-9]{64}$
      description: 0x-prefixed 32-byte hex (64 hex chars)
    Hex65:
      type: string
      pattern: ^0x[a-fA-F0-9]{130}$
      description: 0x-prefixed 65-byte hex (130 hex chars)
    GaslessJob:
      type: object
      properties:
        id:
          type: string
        status:
          $ref: '#/components/schemas/GaslessJobStatus'
        permitTxHash:
          type: string
          nullable: true
        transferTxHash:
          type: string
          nullable: true
        intentHash:
          type: string
          nullable: true
        amount:
          type: string
          nullable: true
        error:
          type: string
          nullable: true
    GaslessJobStatus:
      type: string
      enum:
        - PENDING
        - PERMIT_SENT
        - COMPLETED
        - FAILED

````