Inside Stableit SDK: Benchmarking CCTP v1 and v2 for Real-World Transfers

Inside Stableit SDK: Benchmarking CCTP v1 and v2 for Real-World Transfers

When you’re building cross-chain experiences, performance matters. Every second of delay in a token transfer adds friction, not just for end users, but for the apps that depend on fast settlement, smooth UX, and predictable behavior.

At Stableit, we’ve built our SDK directly on top of Circle’s Cross-Chain Transfer Protocol (CCTP), the native, burn-and-mint standard for moving USDC securely across chains. CCTP has evolved from v1 to v2, introducing changes in routing, approval flows, and how attestations are handled under the hood.

So we decided to put them to the test.

In this post, we break down performance data collected from hundreds of real transfers using the Stableit SDK. We measured and compared CCTP v1 vs v2, across different workflow types including permit-based approvals and gasless flows.

The goal? Understand where time is spent and how developers can build faster, more reliable USDC transfer flows using Stableit.

Let’s dive into what we found.

What We Tested

To understand where transfer time is spent and how different configurations perform, we ran nearly 300 of real USDC transfers using the Stableit SDK, covering a wide range of workflow combinations. Each run was logged with detailed timing data, allowing us to analyze how different factors impact performance.

We focused on comparing two major types of transfer corridors: the original CCTP v1 flow and the newer, more efficient CCTP v2 direct flow. Each route was tested under varying configurations, including gasless versus manual gas flows and traditional ERC-20 approval versus off-chain permit signatures.

Across all combinations, we measured five key timing stages:

  • time_to_approve_ms — time to approve or sign the permit
  • time_to_transfer_sent_ms — time until the transfer is broadcast
  • time_to_transfer_confirmed_ms — time until the transaction is confirmed
  • time_to_transfer_received_ms — time until funds are fully received on the destination chain
  • total_duration_ms — the end-to-end time for the full pipeline

All transfers were executed through the Stableit SDK in a live environment, ensuring that the benchmarks reflect real-world behavior, not simulations or mocked data.

Results and Key Insights

After running and timing hundreds of cross-chain transfers, the differences between CCTP v1 and v2 became immediately clear.

CCTP v2 consistently outperformed v1 in overall speed and reliability. Transfers using v2 had shorter total durations, faster confirmations, and fewer delays in relaying or settlement. In particular, flows that used off-chain permit signatures saw noticeable gains in speed, cutting out entire transaction steps.

Gasless transfers added a small amount of overhead during the execution phase, especially on v1 routes, but that tradeoff came with a significantly improved user experience, as users didn’t need to hold native tokens on the destination chain.

Here's what stood out:

  • v2 direct transfers were the fastest across the board, especially when combined with permit signing.
  • Permit-based approvals reduced total duration by avoiding the need for an extra on-chain approval transaction.
  • Gasless flows were slightly slower, but still performed well on v2 and offered a smoother UX.
  • Relayer performance was consistently fast (typically under 2 seconds), meaning most of the delay in v1 flows came from confirmation and settlement stages, not the relayer itself.

The chart below shows a breakdown of average timing across different workflow types, highlighting the time spent at each stage of the transfer pipeline.

What this data tells us is simple: using CCTP v2 and permit signing, especially through the Stableit SDK, is currently the fastest and most efficient way to move USDC across chains.

Optimizing for What’s Next

Cross-chain performance isn’t just about infrastructure, it’s about the experience you deliver to your users. These benchmarks show that CCTP v2, combined with permit signing and Stableit’s abstractions, leads to faster, smoother, and more reliable transfers.

As the ecosystem continues to evolve, our goal at Stableit is to make cross-chain USDC movement effortless for developers. We’ll keep refining the SDK, surfacing insights like these, and supporting the builders shaping the next wave of interoperable finance.

Ready to Move Faster?

Explore the Stableit SDK and start building today.

→ Explore the docs

→ Try the bridge

→ Reach out to us