Ethereum üzerindeki hesap soyutlamasında ezberlemeye değer iki kanonik adres vardır. EntryPoint v0.6, 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 adresinde bulunur. 2024'ün başlarında dağıtılan EntryPoint v0.7 ise 0x0000000071727De22E5E9d8BAf0edAc6f37da032 adresindedir. Ana ağda, Arbitrum, Optimism, Base, Polygon ve diğer EVM zincirlerinin çoğunda gerçekleşen her ERC-4337 işlemi bu iki tekil sözleşmeden biri üzerinden yönlendirilir. Bu sözleşmelerin ne yaptığını ve çevrelerindeki diğer beş rolü anlarsanız ERC-4337'ü de anlarsınız.
Bu, Akıllı Hesaplar serimizin 2. bölümü. 1. bölümde EOA'ların neden varsayılan olarak kötü bir tercih olduğunu ele aldık. Bu bölümde işin iç yüzüne bakıyoruz: altı rol, UserOperation yapısı, akıllı hesaptan token takası yaptığınızda gerçekte neler olduğu, v0.6'dan v0.7'ye değişiklikler, paymaster'lar, herkese açık alternatif bellek havuzları ile özel bundler'lar ve beklemeniz gereken ek maliyet.
Altı rol, tek diyagramda
ERC-4337, bir EOA'nın tek adımda yaptıklarını birlikte çalışan altı aktöre böler. Bunların hiçbiri Ethereum'da hard fork gerektirmedi; sistemin tamamı sözleşmelerden ve zincir dışı altyapıdan oluşur.
- Gönderen (akıllı hesap): Varlıklarınızı tutan ve
validateUserOpuygulayan bir sözleşme cüzdanı. Etkileşim kurduğu her DApp açısındanmsg.senderrolünü üstlenir. Örnekler: Safe, Kernel, Biconomy Nexus, Coinbase Smart Wallet ve Alchemy'nin Light Account'u. - UserOperation: Gönderenin yapmak istediği işlemi açıklayan, sözde işlem niteliğindeki bir yapı (gerçek bir Ethereum işlemi değildir). Kullanıcılar işlem imzalamaz; UserOp imzalar.
- Bundler: Bellek havuzundan UserOp'ları toplayan, simüle eden, tek bir
handleOpsçağrısında birleştiren ve L1 gas ücretini ödeyen zincir dışı bir düğüm. Bundler'lar, gönderenin (veya paymaster'ın) kendilerine geri ödediği tutarla doğrulayıcıya ödedikleri tutar arasındaki farkı kazanır. - EntryPoint: Paketin üzerindeki işlemleri sırayla yürüten, her gönderenin
validateUserOpişlevini çağıran, çağrı verisini yürüten, iadeleri ve geri almaları yöneten güvenilir tekil sözleşme. Her zincirde, her sürüm için tam olarak bir EntryPoint bulunur. - Paymaster (isteğe bağlı): Gönderen adına gas ücretini ödemeyi kabul eden sözleşme. Ücreti sponsor olarak üstlenebilir (kullanıcıya ücretsizdir) veya USDC gibi bir ERC-20 karşılığında ödeyebilir.
- Toplayıcı (isteğe bağlı): Tek bir imza kontrolüyle çok sayıda UserOp'u doğrulayan sözleşme. BLS şemaları veya zk kanıtları için kullanışlıdır. Günümüzde üretim ortamlarında nadiren dağıtılır.
Bu rolleri aklınızda tutun. Makalenin geri kalanı bu altı rolün birbiriyle iletişiminden ibaret.
UserOperation yapısı
UserOperation, imzalandıktan sonra L1'e henüz işlem göndermeden niyeti ifade eden, JSON-RPC ile kullanılabilen alanlardan oluşan bir pakettir. v0.7 düzeninde 11 mantıksal alan bulunur:
sender— akıllı hesap adresi.nonce— üstteki 192 biti bir anahtar (paralel nonce hattı), alttaki 64 biti ise bir sıra numarası olan 256 bitlik değer. Böylece ERC-4337, her şeyi sıraya koyan EOA'ların aksine paralel nonce'ları destekler.factoryvefactoryData— ilk dağıtımda CREATE2 üzerinden kullanılır; dağıtımdan sonra null olur.callData— doğrulama tamamlandıktan sonra akıllı hesabın yapacağı çağrı.callGasLimit,verificationGasLimit,preVerificationGas— üç ayrı gas bütçesi.maxFeePerGas,maxPriorityFeePerGas— normal bir işlemle aynı EIP-1559 semantiği.paymasterAndData(v0.6), v0.7'depaymaster,paymasterVerificationGasLimit,paymasterPostOpGasLimit,paymasterDataolarak ayrıldı.signature— akıllı hesabın kendivalidateUserOp'ında yorumladığı opak baytlar.
İmza şemasını cüzdan belirler. secp256k1 üzerinde ECDSA yaygındır; ancak P-256/passkey doğrulaması, çoklu imza, sosyal kurtarma eşikleri ve oturum anahtarı imzacıları da aynı arayüzün arkasında çalışır. Esnekliğin tüm amacı budur.
Baştan sona: Akıllı hesap USDC'yi ETH ile takas ettiğinde neler olur?
Rollerin sırayla devreye girdiği gerçek bir takası izleyelim.
- Kullanıcı cüzdan arayüzünde “Takas” düğmesine dokunur. Cüzdan, Uniswap'i hedefleyen bir UserOperation oluşturur:
sender = 0xUserSafe,callData = swapUSDCforETH(amount). - Gas tahmini. Cüzdan, bundler RPC'sinde
eth_estimateUserOperationGasçağrısını yapar. Bundler, işlemi EntryPoint'e göre simüle eder ve üç gas limitini döndürür. - Kullanıcı imzalar. Cüzdan, UserOp'un hash'ini EntryPoint adresi ve zincir kimliğiyle birlikte hesaplar, kullanıcıdan imza ister (passkey, donanım anahtarı veya başka bir yöntemle) ve imzayı ekler.
- Gönderim. İmzalı UserOp,
eth_sendUserOperationaracılığıyla bir veya daha fazla bundler'a gönderilir. Ethereum'un normal işlem bellek havuzundan ayrı bir P2P ağı olan alternatif bellek havuzuna girer. - Bundler simülasyonu. Bundler,
eth_callilesimulateValidationüzerinde yeniden simülasyon yapar. ERC-7562 depolama erişimi kurallarını denetler: Doğrulama sırasında UserOp yalnızca kendi depolama alanına erişebilir. Aksi durumda bundler, kötüye kullanılarak zarara uğrama riski taşır. - Pakete ekleme. Bundler, bu UserOp'u en fazla ~10 başka UserOp ile birlikte tek bir
handleOps([...userOps], beneficiary)çağrısında EntryPoint'e gönderilmek üzere paketler. - Zincir üstünde yürütme. EntryPoint, her işlemi sırayla ele alır: gönderen üzerinde
validateUserOpçağrısını yapar, ön ödemeyi düşer ve ardındancallDataişlemini yürütür. Uniswap takası akıllı hesaptan gerçekleşir. - İade. EntryPoint, kullanılmayan gas ücretini gönderene (veya paymaster'a) iade eder ve bundler'ın alıcı adresine ödeme yapar.
Eğer 5. adım başarısız olursa bundler işlemi düşürür ve kullanıcı bir AAxx hata kodu görür. En yaygın olanlar şunlardır: AA21 (ön ödemeyi yapmadı), AA23 (imza hatası), AA25 (nonce geçersiz), AA33 (paymaster işlemi geri aldı) ve AA40 (doğrulama gas limiti aşıldı). Bu tabloyu aklınızda tutun; bu hatalarla karşılaşacaksınız.
EntryPoint v0.6 ve v0.7 karşılaştırması
v0.6, Mart 2023'te 0x5FF1…2789 adresinde kullanıma sunuldu. Çalışıyordu ancak can sıkan üç sorunu vardı: üç gas boyutunu tek bir paymasterAndData içinde birleştiriyordu, initCode paketlemesi zahmetliydi ve gas hesabı gönderenlerden fazla ücret alıyordu. v0.7 bu üç sorunu da çözdü.
v0.7'de bilmeniz gereken başlıca değişiklikler:
- Adres:
0x0000000071727De22E5E9d8BAf0edAc6f37da032(baştaki sıfırlara dikkat edin: bu adres, calldata gas ücretini düşürmek için özel olarak seçildi. Sıfır bayt başına 4 gas, sıfır olmayan bayt başına ise 16 gas ödenir). - Paymaster alanlarının ayrılması:
paymaster,paymasterVerificationGasLimit,paymasterPostOpGasLimitvepaymasterDataartık ayrı alanlardır. Tahmin etmek kolaylaşır ve bir bütçeyi unutmak zorlaşır. - Factory alanlarının ayrılması: Aynı yaklaşımla
factoryvefactoryData, paketlenmiş tek birinitCodeyerine ayrı alanlar oldu. - Kullanılmayan gas için ceza: Gönderenlerden, kullanılmayan
callGasLimit/paymasterPostOpGasLimittutarının %10'u alınır. Böylece işlemler için gerekenden çok daha yüksek tahminler yapılması önlenir. - EIP-7702 uyumluluk kancaları: v0.7, normal bir EOA'nın geçici olarak akıllı hesap uygulamasına yetki devretmesini sağlayan altyapıyı ekledi. Bu altyapı, Pectra'da kullanıma sunulan EIP-7702 yükseltme yolunun temelini oluşturdu.
v0.6 hâlâ yayında ve kullanılıyor; birçok cüzdan v0.7 uyumlu modülü ancak 2024'ün ilerleyen dönemlerinde kullanıma sundu. Çoğu zincir, iki EntryPoint'i de yıllarca paralel olarak çalıştırır.
Paymaster'lar: gas ücretini kim öder?
Paymaster, EntryPoint'te ETH stake'i tutan ve politikasına uyan UserOp'ların gas ücretlerini karşılamayı kabul eden bir sözleşmedir. Üç tür öne çıkar:
- Doğrulayıcı paymaster (sponsorlu). Arka uç, zincir dışında bir onay imzalar; paymaster bu imzayı zincir üzerinde doğrular ve ödemeyi yapar. Gas ücreti olmadan kullanıcı kazanmak isteyen uygulamalar kullanır: Coinbase Smart Wallet, Farcaster Frames ve çoğu NFT basımı.
- ERC-20 paymaster. Kullanıcı USDC, USDT veya DAI ile ödeme yapar; paymaster arka uçta ETH'ye takas eder (veya ETH stoğu tutar). Pimlico, Biconomy ve Stackup'ın herkese açık paymaster'ları vardır.
- İzinli token paymaster'ı. Kullanıcının hem UserOp'u hem de token harcama iznini tek imzayla imzalamasını sağlamak için EIP-2612 iznini kullanır.
Paymaster'ın validatePaymasterUserOp işlevi, EntryPoint'in doğrulama aşamasında çalışır. İşlem geri alınırsa AA33 hatası alırsınız. Stake'i tükenirse EntryPoint stake'ini keser ve zararı bundler üstlenir; bundler'ların paymaster itibar listeleri tutmasının nedeni budur. ERC-7562, bundler bellek havuzunun spam'e dayanıklı kalması için bu itibar kurallarını standartlaştırır. Aynı temel ilkeler, DeFi onaylarının ve çoklu imza güvenliğinin neden 4337 dünyasına kolayca aktarıldığını açıklar: tehditler aynı, sarmalayıcı farklı.
Herkese açık alt-mempool ve özel bundler
UserOp’ı zincire göndermenin iki yolu vardır.
Herkese açık alt-mempool: ERC-7562 uyumlu bundler’lar, UserOp’ları libp2p ağı üzerinden birbirlerine duyurur. Pimlico, Stackup, Alchemy, Etherspot veya Voltaire düğümü çalıştıran herkes sizin UserOp’ınızı alabilir. Bu yöntem izinsiz ve sansüre dayanıklıdır; ancak normal Ethereum işlemlerindeki MEV risklerine de açıktır: arama yapanlar, işleminizi zincire eklenmeden önce görebilir.
Özel bundler: eth_sendUserOperation doğrudan bir sağlayıcının RPC’sine gönderirsiniz. Sağlayıcı işlemi simüle eder, bir pakete ekler ve özel olarak gönderir (çoğu zaman Flashbots üzerinden). Bu yöntem daha hızlıdır ve MEV’e karşı koruma sağlar; ancak bundler’ın işleminizi sansürlemeyeceğine veya önden işlem yapmayacağına güvenirsiniz. 2026’da tüketici cüzdanlarının çoğu varsayılan olarak özel bundler kullanır.
Bu tercih, normal işlemlerdeki herkese açık mempool ile Flashbots Protect arasındaki tercihe benzer. L1 döneminden beri altta yatan işlem yaşam döngüsünü incelemediyseniz, bundler devreye girdiğinde nelerin değiştiğini bu giriş yazısı açıklıyor.
Aggregator’lar, benimsenme ve tüm bunların maliyeti
Aggregator’lar, işlem gruplarını tek bir imza kontrolüyle doğrulayan sözleşmelerdir. Bunun temel kullanım alanı BLS’tir: BLS ile imzalanmış 50 UserOp toplar, imzaları tek bir eşleştirme kontrolünde birleştirir ve imza gas ücretinden yaklaşık %95 tasarruf edersiniz. BLS imzalayan cüzdanlar geliştirmek zor olduğundan ve gas tasarrufu ancak yüksek hacimlerde sağlandığından, benimsenme yavaş ilerlemiştir. 2026 ortası itibarıyla ana ağdaki UserOp’ların %1’inden azı aggregator kullanıyor.
Benimsenme verileri (bundlebear.com’un 2026’nın ilk çeyreğine ait verileri): Tüm zincirlerde toplam yaklaşık 380 milyon UserOp gerçekleştirilmiştir; çoğunluğu Base, Polygon ve Arbitrum oluşturur. Ana ağın payı yaklaşık %6–8’dir; hacim bakımından en küçük, aktarılan değer bakımından ise en büyük paya sahiptir. Tüketici işlemlerinde Coinbase Smart Wallet, Farcaster ve Argent öne çıkar.
Ek maliyet: v0.7 UserOp, eşdeğer EOA işleminden yaklaşık 30.000–40.000 gas daha fazla tutar. Bu fark, EntryPoint döngüsü, doğrulama ve paket yönetimi masraflarından kaynaklanır. Ana ağda 20 gwei üzerinden hesaplandığında, işlem başına bir doların küçük bir bölümüne denk gelir. factoryData ile hesabı ilk kez dağıtmak buna yaklaşık 250.000 gas daha ekler. Calldata’nın başlıca maliyet kalemi olduğu L2’lerde ek yük oranı tek hanelidir. Sponsorlu UserOp’larda bu maliyeti dApp üstlenir; bu nedenle tüketici uygulamalarında işlemler ücretsizken ciddi DeFi uygulamalarında ücretsiz değildir. Daha kapsamlı işlem ücretleri rehberi, bu ek yükün farklı ücret piyasalarına nasıl yansıdığını açıklar.
Özetle: ERC-4337; altı rol (gönderen, UserOp, bundler, EntryPoint, paymaster, aggregator), tek bir yapı, ezberlemeniz gereken iki EntryPoint adresi ve gelişigüzel imza şemaları, gas sponsorluğu, gruplama ve paralel nonce’lar karşılığında yaklaşık 30–40 bin gas ek yük demektir. Bu serinin 3. bölümünde EIP-7702’ye geçiyoruz. Pectra’nın bu paralel yolu, mevcut EOA’nızın adresini değiştirmeden aynı mekanizmalardan yararlanmasını sağlar.



