MetaMask Agent Wallet, mm swap komut seti aracılığıyla aynı zincirdeki token'ları takas eder ve farklı zincirler arasında köprüler. Bir trader, ajanından token'ları işlem yapmasını veya taşımasını sade bir dille ister; ajan da bu isteği fiyat teklifi alan, rotaları karşılaştıran ve işlemi gerçekleştiren komutlara yönlendirir. Agent Wallet'ta sürekli vadeli işlem (perpetual futures) alım satımından farklı olarak; orada yalnızca teminat yatırma işlemi MetaMask'ın denetlediği bir EVM işlemidir, ancak takas veya köprüleme işleminin kendisi doğrudan bir işlemdir. Bu durum, bir trader'ın baştan belirtmesi gerekenleri ve MetaMask'ın cüzdan düzeyindeki kontrollerinin gerçekte neyi gördüğünü değiştirir.
İşte bu devir teslim noktası, ajan güdümlü alım satımı bir arayüzde tıklayarak işlem yapmaktan ayırır. Tek bir cümle, kayma toleransı, yönlendirme ve hedef zincir hakkında pek çok söylenmemiş varsayım barındırabilir. Bu yazı, açıkça belirtilmesi gereken ayrıntıları ele almaktadır.
Bu yazı, bir takas rehberi değil, alım satım mekaniği rehberidir. Kaymanın nasıl çalıştığını ve toleransın nasıl belirleneceğini öğrenmek için kayma (slippage) nedir sayfasına bakın. Piyasa ve limit emirlerinin karşılaştırması ve kayma toleransının AMM'deki limit emri karşılığı olduğu hakkında bilgi için kripto emir türleri sayfasına bakın. DEX'lerin, toplayıcıların ve cüzdan tabanlı takasların farklılıkları için 2026'nın en iyi kripto takas platformları sayfasına bakın. Cüzdan kategorisinin kendisi için ajansal cüzdan nedir ve ajansal cüzdanlar nasıl çalışır sayfalarına bakın. Teminat yatırma miktarlarını belirlemek ve farklı bir varlık sınıfında MetaMask'ın bir işlemin hangi adımını gerçekte denetlediğini öğrenmek için MetaMask Agent Wallet ile perp nasıl işlem yapılır sayfasına bakın.
Takas yüzeyi, ayrıntılı olarak
Bunlar, bir takas veya köprüleme iş akışının dayandığı komutlardır. Bu yüzeyi tanımak, isteğin amaçlandığı şekilde sonuçlanması için doğru ifadeyi bulmayı kolaylaştırır.
Ajana ne sorarsınız | Ne çalışır | Ne yapar |
"0,1 ETH'yi USDC'ye takas et" | mm swap quote
| Göndermeden aynı zincir takasını fiyatlandırır |
"10 USDC'yi Base'den Arbitrum'a köprüle" | mm swap quote --to-chain-id
| Göndermeden zincirler arası rotayı fiyatlandırır |
"Tüm rotaları maliyete göre sıralı göster" | mm swap quote --all-quotes
| Sıralanmış tüm aday rotaları döndürür |
"O teklifle devam et" | mm swap execute --quote-id
| Daha önce fiyatlandırılan işlemi gönderir |
"Takas et ve onay isteme" | mm swap quote --yes
| Onayı atlayarak anında fiyatlandırır ve gerçekleştirir |
"O takasla ne oluyor" | mm swap status --quote-id
| Gerçekleştirme durumunu kontrol eder |
Kaynak: MetaMask Agent Wallet komut referansı
Bu temel anlayışla birlikte, tokenize hisse senetleri ve diğer varlıklar (genellikle gerçek dünya varlıkları veya RWA olarak adlandırılır) dahil olmak üzere MetaMask Agent Wallet ile token takas etmek ve köprülemek için 9 ipucu aşağıda verilmiştir.
1. Önce teklif alın ve "kullanılamaz" yanıtını normal bir cevap olarak değerlendirin
mm swap quote, bir işlemi göndermeden fiyatlandırır. mm swap execute de aynı takas parametrelerini doğrudan alabilir ve tek bir çağrıda teklif alıp gerçekleştirebilir; ancak teklifi ayrı olarak önceden almak daha güvenli bir varsayılandır: herhangi bir şey imzalanmadan önce fiyatı, rotayı ve ücretleri görmenin tek yolu budur. Temel köprü veya DEX toplayıcısı bir rota bulamazsa, CLI sert bir hata vermez; bunun yerine reason (örneğin AMOUNT_TOO_LOW, SLIPPAGE_TOO_HIGH veya NO_QUOTES), message ve hint içeren yumuşak bir kind: "unavailable" sonucu döndürür.
Bu ayrım, bir isteme göre hareket eden ajan için önemlidir. Kullanılamaz bir teklif, aynen aktarılacak bir başarısızlık değil, üzerinde çalışılacak bir yanıttır; ajan kayma toleransını genişletebilir, miktarı ayarlayabilir veya farklı bir token deneyebilir. Tek istisna, geçici QUOTE_RETRY sinyalidir; bu, olduğu gibi yeniden denemeye değer gerçek bir sert hatadır. Her iki durumda da bir ajan, teklif kullanılamaz veya süresi dolmuş olarak döndükten sonra execute çağırmak için hiçbir zaman bir quoteId uydurmamalı veya yeniden kullanmamalıdır; execute adımı temiz bir şekilde başarısız olur, ancak bir tahmine dayalı olarak hiçbir işlem gönderilmez.
2. Varsayılana güvenmek yerine kayma toleransı belirleyin
mm swap quote, --slippage parametresini 0 ile 100 arasında bir yüzde olarak kabul eder ve atlandığında varsayılan değer %0,5'tir. Bu varsayılan makul bir orta yoldur; ancak token'ın likiditesinden bağımsız olarak her işleme uygulanan bir varsayılandır.
Kayma (slippage) nedir başlığında ele alındığı üzere, dar bir tolerans olumsuz doldurmalardan korur ancak oynak koşullarda daha fazla teklifin tamamen başarısız olmasına neden olur; geniş bir tolerans ise daha kötü bir fiyattan daha güvenilir biçimde doldurulur. ETH'den USDC'ye gibi derin likiditeye sahip bir çifti işlem yapan bir istem, %0,5 varsayılanına makul ölçüde güvenebilir; ince likiditeye sahip bir token'ı işlem yapan bir istem ise o token gözetilerek seçilmemiş bir sayıyı devralmak yerine, her iki yönde de toleransı açıkça belirtmek daha iyidir.
3. Zincirler arası köprüler için hedef zincir gereklidir ve yakıt ikmali (refuel) özel bir başarısızlık moduna sahiptir
--to-chain-id eklemek, aynı zincir takasını zincirler arası köprüye dönüştürür; atlandığında hedef, kaynak zincire varsayılan olarak ayarlanır. --to-address, çıktının imzalayanın kendi cüzdanı yerine başka bir yere ulaşmasını sağlar; ancak yalnızca zincirler arası rotalarda geçerlidir; kaynak ve hedef zincir aynı olduğunda hiçbir etkisi yoktur.
--refuel, zincirler arası bir teklife küçük miktarda hedef zincir yerel gazı ekler; bu, trader'ın henüz hedef zincirde gaz token'ı bulunmadığında işe yarar. Yalnızca isteğe bağlı ve zincirler arası kullanım içindir; özel bir başarısızlık modu vardır: hedef token zaten hedef zincirin yerel gaz varlığıysa (örneğin ETH'yi Arbitrum ETH'ye köprülemek) kullanıldığında NO_QUOTES döndürür. "USDC'yi Base'den Arbitrum'a köprüle ve orada çalışmak için biraz ETH olsun" gibi bir istem tam olarak bu bayrağı tanımlar; doğrudan bir zincirin yerel token'ına köprüleyen bir istem buna ihtiyaç duymaz ve yine de eklenirse başarısız olur.
4. Rotaları bilinçli olarak karşılaştırın, ardından belirli bir rotayı gerçekleştirin
--all-quotes, önerilen rota işaretlenmiş şekilde --strategy parametresine göre sıralanmış (virgülle ayrılmış cost, speed, impact, output; varsayılan cost,speed) tüm aday rotaları döndürür. Rotaları karşılaştırmak ve ardından belirli bir --quote-id gerçekleştirmek iki adımlı ve bilinçli bir süreçtir: --all-quotes, --yes ile birleştirilemez; dolayısıyla tüm rotaları görmeyi ve onayı atlamayı isteyen bir istem, CLI'ın aynı çağrıda yapmayacağı iki şey istemektedir.
Teklif verileri 24 saat sonra otomatik olarak temizlenir; bu nedenle bugün karşılaştırmaya değer bir rota, gelecek hafta gerçekleştirme için hâlâ geçerli olmayabilir.
5. Gassız gerçekleştirme ve toplu onaylar istek üzerine değil, otomatik olarak gerçekleşir
Cüzdanın yerel bakiyesi gazı karşılayamadığında, mm swap execute uygun, gaz dahil teklifleri EIP-7702 kullanarak gassız bir röle üzerinden otomatik olarak yönlendirir ve röle ücretini takas edilen token'ın kendisinden düşer. Bunun için herhangi bir bayrak yoktur; bu, CLI'ın uygun tekliflere kendi başına uyguladığı bir geri dönüş mekanizmasıdır, her düşük gazlı takasta bir garanti değildir.
Ayrıca uygun zincirler ve hesaplarda CLI, ERC-7821 toplu gerçekleştirme kullanarak ERC-20 onayını ve işlemi tek bir atomik çağrıda birleştirir; yanıt, bu gerçekleştiğinde route: "erc7821" olarak raporlar. Toplu işlem mevcut olmadığında CLI sıralı gönderime geri döner. Her iki davranışın da bir istemde talep edilmesi gerekmez; ancak gerçekte neyin gerçekleştiğini okurken her ikisini de bilmek önemlidir; toplu, gassız bir takas ile iki adımlı, gaz ödeyen bir takas aynı isteği karşılayabilir ve yanıt alanları hangisinin gerçekleştiğini anlamanın yoludur.
NOT: Gassız gerçekleştirme daha yüksek ücretlerle sonuçlanabilir.
6. Guard Mode'un denetlediğinin ayrı bir adım değil, takasın kendisi olduğunu bilin
Bu, Agent Wallet'ta sürekli vadeli işlem alım satımının tam tersi bir modeldir; orada bir Hyperliquid pozisyonu açmak veya kapatmak zincir dışında gerçekleşir ve yalnızca teminat yatırma işlemi MetaMask'ın değerlendirdiği bir EVM işlemidir. Takas veya köprülemede böyle bir ayrım yoktur: mm swap execute, işlemi doğrudan bir EVM işlemi olarak gönderir; dolayısıyla Guard Mode'un kayan 24 saatlik çıkış limitinin saydığı işlem budur ve MetaMask'ın tehdit taramasının ve ağ, adres ile token izin listelerinin doğrudan değerlendirdiği şey de budur.
2.000 dolarlık bir takas, onaylandığı anda kayan limite karşı 2.000 dolarlık bir çıkış sayılır; ister aynı zincir işlemi ister zincirler arası köprü olsun. Limiti aşarsa veya tehdit taraması işaretlerse, iş AWAITING_MFA durumunda 2 faktörlü kimlik doğrulama onayı için duraklar; QR ile oturum açmalar için MetaMask Mobile anlık bildirimi, tarayıcı ile oturum açmalar için e-posta bağlantısı gönderilir ve biri yanıt verene kadar ajan devam edemez. Bu, sunucu cüzdanı moduna uygulanır; işlem modları, kendi cüzdanını getir (bring-your-own-wallet) kurulumlarına uygulanmaz. Pratik sonuç: Bir takas isteminde boyutlandırma disiplini, perps yatırımında olduğu gibi cüzdanın zaten uyguladığı şeyden ayrı bir alışkanlık değildir; takas miktarının kendisi Guard Mode'un izlediği sayıdır.
7. Zaman aşımından sonra execute'u körü körüne yeniden çalıştırmayın
Bir takas, işlem hash'i oluşmadan önce 2 faktörlü kimlik doğrulama için duraklatılabilir ve bağlı bir yoklama kimliğiyle AWAITING_MFA durumuna girebilir. MFA yoklaması gassız bir röle bacağında veya sıralı bir sunucu cüzdanı bacağında zaman aşımına uğrarsa, bu RELAY_TIMEOUT veya JOB_TIMEOUT olarak ortaya çıkar; her ikisi de aynı kurtarma ipucunu taşır: hash'i almak için mm wallet requests watch komutunu çalıştırın ve orijinal iş hâlâ tamamlanabilecekken execute'u yeniden çağırmayın.
Bu süre zarfında execute'u yeniden çalıştırmak, herhangi bir şeyi düzeltmek yerine ikinci, gereksiz bir gönderim riskine yol açar. Bekleyen isteği onaylamak ve işi izlemek doğru kurtarma yoludur.
8. Takaslar için kuru çalıştırma yoktur; teklifleri karşılaştırmak en yakın eşdeğerdir
mm perps open'ın bir emri imzalamadan doğrulamak için --dry-run parametresini kabul etmesinin aksine, mm swap execute'un eşdeğer bir önizleme modu yoktur. Bir takası prova etmeye en yakın şey, teklif istemek ve rutin olmayan her şey için, birine bağlanmadan önce aday rotaların tam setini görmek amacıyla --all-quotes çekmektir. Her ikisi de katı anlamda kuru çalıştırmanın yerini tutmaz; bir teklif hâlâ bayatayabilir ve piyasa koşulları teklif alma ile gerçekleştirme arasında değişebilir; ancak herhangi bir şey imzalanmadan önce yanlış belirtilmiş bir isteği yakalamak için mevcut araç budur.
9. Teklif almadan önce zincir ve gassız desteği kontrol edin
mm chains list, zincir başına swap'ın orada desteklenip desteklenmediğini ve gassız rölenin mevcut olup olmadığını gösteren relaySupported bayrağını içeren bir features alanı döndürür. Bunu teklif almadan önce kontrol etmek gereksiz bir gidiş-dönüşü önler: takas desteği olmayan bir zincire karşı teklif isteği veya rölenin desteklenmediği bir zincirde gassız gerçekleştirmenin devreye gireceğine dair bir varsayım, önceden elenebilecek bir şey yerine ancak sonradan hata olarak ortaya çıkar.
Bu, tanımaya değer iki takasa özgü hata koduyla birleşir: GASLESS_UNSUPPORTED, rölenin o zincirde mevcut olmadığı anlamına gelir; INSUFFICIENT_GAS ise cüzdanın yerel bakiyesinin gazı karşılayamadığı ve gassız bir geri dönüşün uygulanmadığı anlamına gelir. Her ikisi de mm chains list'in önceden yanıtladığı aynı zincir desteği sorusuna dayanır.
Agent Wallet'ın takaslar için yapmadıkları
Sınırı açıkça belirtmek, daha geniş bir sınır ima etmekten daha yararlıdır.
Yerleşik yinelenen veya zamanlanmış takas yoktur; yerel bir dolar maliyet ortalaması (dollar-cost averaging) özelliği, portföy genelinde otomatik yeniden dengeleme veya merkezi bir borsanın sunabileceği gibi kalıcı bir limit emir defteri yoktur. Her mm swap çağrısı tek bir teklif al ve gerçekleştir döngüsüdür; yinelenen her şey, bu döngüyü bir programa göre çağıran bir betik veya ajan döngüsüdür, cüzdan özelliği değildir. Bu tür kalıcı mantık isteyen trader'lar bunu bir eklenti olarak oluşturabilir; bu, yüklü bir npm paketinin onay kapılı yetenekler altında CLI'a yeni komutlar eklemesine olanak tanıyan beta bir özelliktir; ancak bu, yerleşik bir yol değil, kendin yap yoludur.
Teklif adımının raporladığının ötesinde DEX'ler arası en iyi gerçekleştirme garantisi yoktur. --all-quotes ve --strategy sıralanmış adayları ortaya koyar; ancak sıralama, teklif zamanında mevcut rotaları yansıtır, birkaç an sonra daha iyi bir fiyatın çıkmayacağının garantisi değildir.
Kayma koruması, temel işlemin kötü bir fikir olmasına karşı koruma değil, kabul edilebilir fiyat hareketinin bir tavanıdır. Kayma toleransını geçen bir takas, trader'ın sonradan seçmeyeceği bir fiyattan yine de gerçekleşebilir; tolerans yalnızca doldurmayı tekliften ne kadar uzaklaşabileceğini sınırlar.
mm chains list, belirli bir CLI sürümü için yetkili ve güncel kümeyi döndürür; ayrıca her zincir başına swap desteğinin gösterildiği bir features alanı ve gassız işlem uygunluğu için bir relaySupported bayrağı içerir.
Hayır ve bu fark bilinmeye değer. Perps işlemlerinde MetaMask'ın kontrol ettiği tek EVM işlemi Hyperliquid yatırma adımıdır; pozisyon açma veya kapatma işleminin kendisi bu kapsama girmez. Swap veya bridge işlemlerinde ise böyle bir ayrım söz konusu değildir; mm swap execute doğrudan bir EVM işlemi olduğundan çıkış limiti, tehdit taraması ve allowlist kontrollerine doğrudan tabi tutulur.
Bu, bir köprü veya DEX'in işlem yapılabilir bir nedenle rota oluşturamaması durumunda CLI'ın normal yanıtıdır; yanıt kind: "unavailable", AMOUNT_TOO_LOW veya SLIPPAGE_TOO_HIGH gibi bir reason ve neyin ayarlanması gerektiğine dair bir hint içerir. Yalnızca geçici QUOTE_RETRY sinyali gerçek bir kritik hatadır.
Hayır. Bu özellik isteğe bağlıdır ve yalnızca zincirler arası işlemler için geçerlidir; hedef token zaten hedef zincirin yerel gas varlığı olduğunda NO_QUOTES hatasıyla başarısız olur, zira bu durumda yakıt ikmali yapılacak bir şey yoktur.
Doğrudan değil. mm swap execute komutunun dry-run bayrağı yoktur ve swap parametrelerini doğrudan alarak önceden bir fiyat teklifi almadan da işlemi gerçekleştirebilir. İşlemi onaylamadan önce yapılabilecek en yakın kontrol; önce bir fiyat teklifi talep etmek ve rutin olmayan her şey için --all-quotes ile rotaları karşılaştırmaktır.
Bir AWAITING_MFA durumuna girer ve buna bağlı bir polling ID eklenir. Gassız bir relay veya sıralı sunucu-cüzdan aşamasında bekleme süresi aşılırsa, bu durum RELAY_TIMEOUT veya JOB_TIMEOUT olarak görünür. Her iki durumda da bekleyen isteği onaylayın, ardından işlem hash'ini almak için mm wallet requests watch komutunu çalıştırın. Orijinal iş hâlâ tamamlanabilecekken execute komutunu yeniden çalıştırmak, sorunu çözmek yerine yinelenen bir gönderim riskine yol açar.
Hayır. Cüzdanın yerel bakiyesi gas ücretini karşılayamadığında, mm swap execute otomatik olarak uygun, gas dahil teklifleri gasless bir relay üzerinden yönlendirir ve ücreti takas edilen token'dan düşer; bu durum her düşük-gas swap işleminde garanti edilmez, yalnızca teklifin uygun olduğu işlemlerde geçerlidir. CLI, onay ve işlemi tek bir çağrıda toplu hâle getirdiğinde yanıt route: "erc7821" olarak raporlanır. Her iki davranış da flag ile kontrol edilmez.