# Yalnızca USDC geçer ve on beş dakika sürer

> Planların çoğu söylemeden birden fazla zinciri kapsıyor. Her birini iki kısıt şekillendiriyor ve ikisi de şaşırtıyor.

- Source: https://defiloops.com/tr/blog/only-usdc-crosses-and-it-takes-fifteen-minutes
- Published: 2026-06-23
- Category: Architecture
- Tags: bridging, multi-chain, cctp, execution
- Author: DeFiLoops

---
"Cüzdanımda Base'de 1.000 USDC, Ethereum'da 1.000 ve Arbitrum'da 1.000 var. Her birini bir
kredi havuzuna ver."

"Base'de 100 USDC al ve Ethereum'dan XAUT satın al."

İkisi de gerçek istek. Birincisinin köprüye ihtiyacı yok; ikincisi ondan kaçamaz. Bunları
ayırt etmek, cümleniz ile bir işlem arasında olan şeyin çoğudur ve cevabın biçimini iki kısıt
belirler.

## Birinci kısıt: yalnızca USDC geçer

Katalogdaki geçiş Circle'ın CCTP'si ve CCTP USDC taşır. WETH değil, cbBTC değil,
tokenleştirilmiş altın değil.

Bu tek gerçek planları yeniden yazar. Altın isteğini ele alın: Base'de dolarınız var,
Ethereum'da yaşayan bir varlık istiyorsunuz. Prensipte iki biçim mevcut —

<Compare left="Burada al, varlığı köprüle" right="Doları köprüle, orada al" verdict>
  <Fragment slot="left">
    Base'de USDC'yi XAUT'a çevirin, sonra XAUT'u Ethereum'a taşıyın.

    İfade edilemez. XAUT için geçiş yoktur, yani bu plan yazıldığı anda reddedilir.
  </Fragment>
  <Fragment slot="right">
    USDC'yi Ethereum'a taşıyın, sonra orada çevirin.

    Var olan tek biçim; dolayısıyla düşünmüş olun ya da olmayın, aldığınız bu.
  </Fragment>
</Compare>

<Callout type="danger" title="WETH üreten bir takastan boyutlandırılan köprü reddedilir">
  Dikkatli davrananları şaşırtan sürüm bu. Daha önceki bir adım WETH üretiyorsa ve geçişi
  ondan boyutlandırırsanız doğrulama reddeder — doğru biçimde, çünkü geçiş WETH taşıyamaz.
  Cümle USDC'den söz etmemişti, dolayısıyla ret hiçbir yerden gelmiş gibi hissettirir.
</Callout>

## İkinci kısıt: on beş dakika ve acele ettirilemez

Geçiş, biraz uzun süren bir işlem değildir. Değer bir zincirden ayrılır, zaman geçer ve
değer başka bir zincire varır. Yaklaşık on beş dakika; süreyi Circle belirler, biz değil.

Aşağıdaki her şey bundan çıkar.

<Spec title="Beklemenin plana yaptığı" rows={[
  ['Karşı taraftaki adımlar erken başlayamaz', 'Plan, umut etmek yerine boşluğun etrafına kurulur'],
  ['Çalışma anındaki bir tutar bunu geçemez', 'Köprüden sonraki bir adım "takasın döndürdüğü her ne ise"yi harcayamaz — ikisi farklı zincirlerde, farklı işlemlerde'],
  ['Çalışmanın bunu atlatması gerekir', 'On beş dakika, çalışma ortasında güncelleme yayınlamamıza yetecek kadar uzun; bu yüzden ilerleme bir sürecin belleğinde değil veritabanında yaşar'],
  ['Köprüler mümkün olduğunca sona', 'Tek tarafta yapılabilecek her şey beklemeden önce yapılır, sonra değil'],
]} />

<Callout type="warn" title="Veri yolu bir işlemi geçemez">
  Tek bir işlemin içinde bir adım, önceki adımın ürettiğinin tam olarak kendisini harcayabilir.
  Bir geçişin ötesinde harcayamaz — sayının yaşayacağı ortak bir an yoktur. Bunu deneyen bir
  plan `NothingDelivered` bildirir; doğru ret ve nedenini bilene kadar kafa karıştırıcı bir
  hata.
</Callout>

## Sıralamanın gerçekte yaptığı

Bu iki kısıt verildiğinde, çok zincirli bir plan "sıraladığınız adımlar, sıraladığınız
sırayla" değildir.

Baştaki üç cüzdanlı isteği ele alın. Base'de kredi vermenin Arbitrum'da kredi vermeye bağlı
hiçbir yanı yok, dolayısıyla sıraya girmezler — aynı anda çalışırlar. Hiç geçiş gerekmez,
çünkü para zaten olması gereken yerde. O cümle için doğru planda köprü yoktur ve "çok
zincirli, köprü demektir" varsayan bir sistem gereksiz üç geçiş ekler ve bunun parasını
alırdı.

Şimdi gerçekten geçmesi gereken bir planı ele alın:

<Steps>
  <Step title="Katlanabileni katlayın">
    Bir işlemi paylaşabilecek adımlar birleştirilir. "İzin ver, sonra yatır" tek işlem olunca,
    izin başarısız bir yatırmayı aşıp ortada kalamaz.
  </Step>
  <Step title="Zincire göre kümeleyin">
    Base'de yapılabilecek her şey gruplanır, böylece plan yapabileceği en az sayıda geçer.
  </Step>
  <Step title="Geçişleri geç koyun">
    Geçiş en yavaş ve en pahalı adımdır. Beklemeden önce olabilecek her şey olur.
  </Step>
  <Step title="Değerin taşınamadığı yerde kırın">
    Çalışma anındaki bir tutarın sonraki adıma ulaşamadığı yerde yeni bir işlem başlar. Pano
    bunu, siz onaylamadan önce kesik çizgi olarak gösterir.
  </Step>
</Steps>

## Ne tutar

Sabit; bu da yüzdeden daha önemli.

<StatRow>
  <Stat value="0,50 $" label="geçiş başına" note="Sabit, büyüklükten bağımsız." />
  <Stat value="%0,1" label="geçiş ücreti" note="Gönderilen tutarın." />
  <Stat value="~15 dk" label="geçiş başına" accent note="Circle belirler. Acele ettirilemez." />
</StatRow>

Ücret sabit olduğu için küçük bir planda baskın, büyük bir planda yok olur. 1.000 dolarlık bir
planda üç geçiş 1,50 dolar köprü ücretidir — yaklaşık %0,15, yani bir kredi pozisyonunda bir
aylık getiri. Aynı üç geçiş 100.000 dolarda %0,0015'tir ve o noktada takaslardaki kayma
köprülerden çok daha önemlidir.

<Callout type="note" title="Gası asla köprülemezsiniz">
  Bizim ayrı bir anahtarımız her zincirde ağ ücretlerini öder ve planın zaten tuttuğu bir
  varlıktan geri alınır. Hiç kullanmadığınız bir zincirin yerel parasını tutmanız gerekmez ki
  çok zincirli işin genelde en can sıkıcı kısmı budur.
</Callout>

## Planlamadan önce sorun

Kısıtlar belirli olduğu için "bunu yapabilir miyim?" genelde aslında "bunu **o zincirde**
yapabilir miyim?" demektir — ve bunların cevapları yeterince sık farklıdır.

Hangi varlıkların, zincirlerin ve işlemlerin var olduğunu sormak hiçbir şeye mal olmaz ve tek
soru sürer. Planı yazdıktan sonra cevabı bir doğrulama hatasından öğrenmektense, otuz saniyeyi
çok daha iyi kullanmış olursunuz.