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

# Get a transfer by ID

> Returns detailed information about a transfer.



## OpenAPI

````yaml openapi/gateway.yaml get /v1/transfer/{id}
openapi: 3.0.3
info:
  title: Circle Gateway
  version: 1.0.0
  description: >
    Circle Gateway allows you to create a chain-abstracted USDC balance and
    transfer it instantly to any supported destination chain.
servers:
  - url: https://gateway-api-testnet.circle.com
  - url: https://gateway-api.circle.com
security: []
tags:
  - name: Gateway
    description: >-
      Endpoints for getting a unified USDC balance and creating attestations for
      transfer
  - name: Gateway Batch
    description: Endpoints for batch processing of EIP-3009 authorizations
  - name: Gateway x402
    description: Endpoints for x402 payment protocol integration
  - name: Webhook Subscriptions
    description: Manage webhook subscriptions for Gateway event notifications.
paths:
  /v1/transfer/{id}:
    get:
      tags:
        - Gateway
      summary: Get a transfer by ID
      description: Returns detailed information about a transfer.
      operationId: GetTransferById
      parameters:
        - in: path
          name: id
          required: true
          schema:
            type: string
            format: uuid
          description: The unique identifier of the transfer.
          example: 123e4567-e89b-12d3-a456-426614174000
      responses:
        '200':
          description: Transfer retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferDetailsResponse'
        '400':
          $ref: '#/components/responses/DefaultError'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    TransferDetailsResponse:
      type: object
      description: Detailed information about a transfer
      properties:
        destinationDomain:
          $ref: '#/components/schemas/Domain'
        status:
          type: string
          enum:
            - pending
            - confirmed
            - finalized
            - failed
            - expired
          description: |
            Current status of the transfer:

            - `pending`: Transfer has been created but not yet confirmed
            onchain

            - `confirmed`: Transfer has been confirmed on the destination chain

            - `finalized`: Transfer has been finalized on the destination chain

            - `failed`: Transfer has failed (either onchain or during
            forwarding)

            - `expired`: Transfer attestation has expired
        burnIntents:
          type: array
          description: Summary of burn intents included in this transfer.
          items:
            $ref: '#/components/schemas/BurnIntentSummary'
        transactionHash:
          type: string
          description: >-
            Transaction hash of the mint transaction on the destination chain.
            Only present if the status is `confirmed`, `finalized`, or `failed`.
          example: '0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef'
        forwardingDetails:
          type: object
          description: Details about the Forwarding Service, if used.
          properties:
            forwardingEnabled:
              type: boolean
              description: Indicates whether the Forwarding Service was used.
            failureReason:
              type: string
              description: >-
                Reason for forwarding failure. Only present if the transfer
                status is `failed`.
          required:
            - forwardingEnabled
        fees:
          $ref: '#/components/schemas/FeeSummary'
        attestation:
          type: object
          description: >-
            Attestation data for manual submission to the minter contract. Only
            present when forwarding is disabled.
          properties:
            payload:
              $ref: '#/components/schemas/Hex'
              description: The byte-encoded transfer attestation or attestation set.
            signature:
              $ref: '#/components/schemas/Hex'
              description: The signature of the operator on the attestation.
            expirationBlock:
              type: string
              description: >-
                The block number on the destination chain after which this
                attestation expires.
          required:
            - payload
            - signature
            - expirationBlock
      required:
        - transferSpecHash
        - maxBlockHeight
        - maxFee
    Domain:
      type: integer
      enum:
        - 0
        - 1
        - 2
        - 3
        - 5
        - 6
        - 7
        - 10
        - 13
        - 14
        - 16
        - 19
        - 26
      description: |
        Circle domain identifiers for supported chains:

        - 0 - Ethereum
        - 1 - Avalanche
        - 2 - OP
        - 3 - Arbitrum
        - 5 - Solana
        - 6 - Base
        - 7 - Polygon PoS
        - 10 - Unichain
        - 13 - Sonic
        - 14 - World Chain
        - 16 - Sei
        - 19 - HyperEVM
        - 26 - Arc
    BurnIntentSummary:
      type: object
      description: Summary information for a single burn intent.
      properties:
        transferSpecHash:
          $ref: '#/components/schemas/Hex'
          description: Keccak256 hash of the encoded transfer specification.
        maxBlockHeight:
          $ref: '#/components/schemas/Uint256'
          description: The maximum block height at which the burn intent is valid.
        maxFee:
          $ref: '#/components/schemas/Uint256'
          description: The maximum fee the user is willing to pay.
      required:
        - transferSpecHash
        - maxBlockHeight
        - maxFee
    FeeSummary:
      type: object
      description: Aggregated fee information for a transfer request.
      properties:
        total:
          type: string
          description: Total fees from all burn intents across chains.
          example: '1.178'
        token:
          $ref: '#/components/schemas/Token'
          description: Token symbol.
          example: USDC
        perIntent:
          type: array
          items:
            $ref: '#/components/schemas/IntentFee'
          description: List of fee breakdowns for each burn intent.
        forwardingFee:
          type: string
          description: Forwarding fee charged for the transfer.
          example: '0.210000'
      required:
        - total
        - token
        - perIntent
    Hex:
      type: string
      pattern: ^0x[a-fA-F0-9]*$
      example: '0x1a2b3c4d'
      description: A hex string.
    Error:
      title: Error
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: Code that corresponds to the error.
        message:
          type: string
          description: Message that describes the error.
    Uint256:
      type: string
      description: A large integer value, represented as a string.
      example: '1000000000000000000'
    Token:
      type: string
      description: Supported tokens for Gateway
      enum:
        - USDC
    IntentFee:
      type: object
      description: Fee breakdown for a single burn intent.
      properties:
        transferSpecHash:
          $ref: '#/components/schemas/Bytes32'
          description: Keccak256 hash of the encoded transfer specification.
        domain:
          $ref: '#/components/schemas/Domain'
          description: >-
            The domain ID of the chain where the burn intent originated
            (uint32).
        baseFee:
          type: string
          description: Fixed gas fee charged for the burn transaction.
          example: '2'
        transferFee:
          type: string
          description: Variable fee based on transfer amount. Omitted for same-chain burns.
          example: '0.125'
      required:
        - transferSpecHash
        - domain
        - baseFee
    XRequestId:
      type: string
      format: uuid
      description: >-
        A unique identifier, which can be helpful for identifying a request when
        communicating with Circle support.
      example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
    Bytes32:
      type: string
      pattern: ^0x[a-fA-F0-9]{64}$
      example: '0x1234567890123456789012345678901234567890123456789012345678901234'
      description: A 32-byte hex string.
  responses:
    DefaultError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Error response
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
    NotFound:
      content:
        application/json:
          schema:
            type: object
            title: NotFoundResponse
            required:
              - code
              - message
            properties:
              code:
                type: integer
                description: Code that corresponds to the error.
              message:
                type: string
                description: Message that describes the error.
            example:
              code: 404
              message: Not found.
      description: Specified resource was not found.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
  headers:
    XRequestId:
      description: >
        Developer-provided header parameter or Circle-generated universally
        unique identifier (UUID v4). Useful for identifying a specific request
        when communicating with Circle Support.
      schema:
        $ref: '#/components/schemas/XRequestId'

````