Kapatmak için ESC'ye basın

DEX ve CEX Arbitraj Rehberi: Manuel Spread Trading Nasıl Yapılır?

Spread Anatomisi: DEX ve CEX Neden Asla Tam Senkronize Olamaz?

DEX ve CEX arasındaki arbitrajı, sadece %2'lik farkı yakalayıp coin'leri oradan oraya transfer ederek para basma düğmesi sanıyorsanız, sizi sert bir gerçekle yüzleştirelim. Borsalar arası spread (fiyat farkı) bedava para demek değildir; ilikitide, altyapı gecikmeleri ve risk priminin bir bedelidir.

CEX'lerde (Binance, Bybit, EXMON) fiyat emrim tahtasında (Limit Order Book) oluşur. Buradaki likidite son derece dinamiktir: piyasa yapıcılar (market maker) emir ızgarasını mikrosaniyeler içinde kaydırır, algoritmalar ise vadeli işlem indekslerine göre adil değeri (fair value) sürekli yeniden hesaplar.

DEX'lerde ise (Uniswap, Raydium, PancakeSwap) fiyat, likidite havuzunun matematiksel eğrisine bağlıdır. Klasik bir AMM v2 (x · y = k) yapısında fiyat, yalnızca havuza fiziksel olarak bir işlem girdiğinde değişir. Eğer Binance'te büyük bir satıcı yüzünden X coin'inin fiyatı bir saniyede %5 düşerse, Uniswap'taki havuz şu iki şart gerçekleşene kadar eski ve yüksek fiyatında çakılı kalır:

  • Arbitraj botunun işlemi ağa düşene kadar.
  • Bu işlem blokta doğrulanma (validasyon) aşamasını geçene kadar.

İşte tam bu zaman aralığında (hızlı ağlarda birkaç saniyeden Ethereum'da birkaç bloğa kadar) spread doğar.

Anatomik Bakış: Manuel Spread Fırsatı Nereden Çıkar?

Özel RPC nodlarında çalışan, aynı bloğa girmek (backrunning) için Flashbots üzerinden doğrulayıcılara rüşvet/bahşiş ödeyen HFT botları ve MEV arayıcılarıyla elle yarışmanız imkansızdır. ETH veya BTC'deki %0.2–%0.5'lik mikro spread'leri algoritmalar saniyenin binde birinde silip süpürür.

Ancak manuel bir trader çok daha farklı sapmaların peşine düşer:

  • Orta ölçekli (Mid-cap) altcoin'lerde ani pump/dump hareketleri. DEX havuzuna bir "balina" dalar ve 50.000$'lık satış koyar. Çok derin olmayan bir havuzda fiyat anında %4–%7 çöker. CEX'teki botlar bu düşüşü hemen toplayamaz çünkü CEX'teki tahta derindir ve orada fiyat henüz kıpırdamamıştır.
  • Ağ tıkanıklığı ve Gas ücreti sıçramaları. Piyasadaki sert fırtınalar sırasında mempool aşırı yüklenir. MEV botları geçici olarak devre dışı kalır veya devasa işlem ücretleri talep eder; bu yüzden DEX'teki spread'ler 2–5 dakika boyunca açık kalabilir.
  • Eşzamansız listelemeler ve çekim askıya almaları (Deposit/Withdrawal Halt). Borsa, düğüm (node) güncellemesi nedeniyle belirli bir ağda token giriş veya çıkışını kapatır. DEX ile CEX arasındaki likidite akışı kökten kesilir. CEX'te "kapalı bir tahta" oluşur ve fiyat DEX'ten %15 bile saparak kendi kafasına göre takılmaya başlar.

Çalışma Alanı Mimarisi ve Sermaye Dağılımı

Yeni başlayanların yaptığı en büyük hata: DEX'te spread'i görürler, CEX'ten alırlar, "Cüzdana Çek" butonuna basıp ağın işlemi onaylamasını 15 dakika boyunca beklerler. Coin'ler cüzdana ulaşana kadar spread kapanmakla kalmaz, işlemi garantili bir zararla kapatmış olursunuz.

Manuel spread ticareti, delta-nötr bir dağılım veya önceden hazırlanmış bir bakiye bölünmesi gerektirir.

"Çift Kaldıraç" Modeli (Split Balance)

İşlem sırasındaki platformlar arası transferleri unutun. Transferler mesai başlamadan önce yapılır.

Kasanız iki eşit parçaya bölünür:

Total Deposit
 

Bu senaryoda emirleri eşzamanlı olarak yürütürsünüz:

  • Eğer DEX'te token 1.10$, CEX'te ise 1.00$ ise: Anında DEX'te ARB satarsınız (1.10$'ı cebe koyarsınız) ve CEX'te ARB alırsınız (1.00$'dan).
  • Fiziksel bir coin transferi yok. Komisyonlar hariç %10'luk delta farkını 3 saniyede cebe indirdiniz.
  • Cüzdan ve borsa arasındaki bakiyeyi dengeleme (rebalancing) işlemi ise daha sonra, piyasa sakinleştiğinde ve ağ ücretleri dip seviyeye indiğinde yapılır.

İşlemin Matematiği: Net Spread ve Başa Baş Noktası Hesabı

Ekranda %3'lük tatlı bir fark görüp bunu anında garanti kâr sanmak, çiçeği burnunda arbitrajcıların kasayı sıfırlamasındaki bir numaralı nedendir. "Brüt" spread (Gross Spread) hiçbir şey ifade etmez. Bizim tek odaklanmamız gereken, her bir altyapının kestiği irili ufaklı tüm komisyonlar çıktıktan sonra cebimize kalan Net Spread'dir.

Net Karlılık Hesaplama Formülü

Net_Profit = (Psell · V) - (Pbuy · V) - FeeCEX - FeeDEX - Gas - Impact

Buradaki değişkenler:

  • Psell ve Pbuy - Emirlerin gerçekleştiği reel fiyatlar (sitenin başındaki Mid-Price değil, tahtanın derinliği dikkate alınarak hesaplanan ağırlıklı ortalama fiyatlar).
  • V - Baz varlık veya stablecoin cinsinden işlem hacmi.
  • FeeCEX - Borsanın taker emri için kestiği komisyon (genelde %0.05–%0.1 arası).
  • FeeDEX - Havuz komisyonu (havuz katmanına göre %0.01, %0.05, %0.3 veya %1).
  • Gas - İşlemin bloğa girmesi için ödenen madenci/ağ ücretinin USD karşılığı.
  • Impact - Kendi işlem hacminizin AMM havuzundaki fiyatı ne kadar kaydırdığı (Price Impact).

En Büyük Düşman: DEX'teki Price Impact

CEX tahtasında $1.00 fiyattan 10,000 coin gördüyseniz, komisyon hariç hepsini tam olarak $1.00'dan toplarsınız. Ancak Constant Product (x · y = k) mekanizmasıyla çalışan bir DEX'te aldığınız her bir coin, bir öncekinden daha pahalıya patlar.

x · y = k havuzunda x tokenini y tokenine satarken oluşan fiyat formülü şöyledir:

yout = (yreserve · xin · (1 - fee)) / (xreserve + xin · (1 - fee))

$100,000 likiditesi olan bir havuza $5,000'lık emir bocalarsanız, havuzun fiyatını tek hamlede ~%5 kaydırırsınız. Kağıt üstündeki %3'lük net spread'iniz, işlem henüz bloğa bile girmeden anında %2 zarara dönüşür.

Farklı İşlem Hacimlerinde Reel Spread Tablosu ($50k Havuz, %2.5 Brüt Spread)

İşlem Hacmi ($)Price Impact (%)Komisyonlar (Gas + Fees)Net Spread (%)İşlem Sonucu
$100~%0.2~$1.50 (%1.5)+%0.8Ufak Kâr
$500~%1.0~$1.50 (%0.3)+%1.2Optimum Kâr
$2,000~%3.8~$1.50 (%0.075)-%1.375Price Impact Kaynaklı Zarar

Özetle: Her havuz büyüklüğünün matematiksel olarak katı bir işlem hacmi tavanı vardır. Parayı basıp hacmi fazla büyütmek, kendi matematiğinizi baltalamaktır.

Fırsat Takibini Otomatize Etmek: Python ile Otomatik Monitör Yazıyoruz

Tarayıcıyı açıp DexScreener sekmelerini ve borsa tahtasını elle yenilemek tam anlamıyla bir ameleliktir. Manuel trade atan bir botter, yazılımı işlemleri otomatik girsin diye değil (zaten orada MEV botlarıyla yarışamazsınız); anlık bir fiyat uyumsuzluğu yakalandığında Telegram'a veya konsola anında sesli/yazılı alarm düşsün diye kullanır.

Aşağıda Python 3.10+ ile yazılmış, tak çalıştır full bir script bulacaksınız. Script, PancakeSwap v2 (BNB Chain) havuzunun canlı rezervlerini RPC üzerinden dinler ve bunları CEX emri tahtasıyla (örnekte Binance REST API kullanıldı, EXMON veya başka borsaya kolayca uyarlanabilir) anlık olarak kıyaslar. Tabii ki basit bir mimari, üstüne mimari koyup geliştirmek size kalmış ama temel işi canavar gibi yapar.

Rezerv ve Komisyon Odaklı Spread Taraması Kod Bloğu

import sys
import time
import requests
from web3 import Web3
# ============================================================
# CONFIG
# ============================================================
BSC_RPC = "https://bsc-dataseed1.binance.org"
POOL_ADDRESS = Web3.to_checksum_address(
    "0x16b9a82891338f9bA80E2D6970FddA79D1eb0daE"
)
BINANCE_DEPTH_URL = (
    "https://api.binance.com/api/v3/depth"
    "?symbol=BNBUSDT&limit=20"
)
TRADE_VOLUME_USD = 300.0
CEX_TAKER_FEE = 0.001
DEX_FEE = 0.0025
MIN_NET_SPREAD_PCT = 0.8
# tahmini swap gas maliyeti
ESTIMATED_GAS_COST_USD = 0.15
REQUEST_TIMEOUT = 3
# ============================================================
# WEB3
# ============================================================
w3 = Web3(Web3.HTTPProvider(BSC_RPC))
if not w3.is_connected():
    print("BSC RPC bağlantı hatası")
    sys.exit(1)
# ============================================================
# ABI
# ============================================================
PAIR_ABI = [
    {
        "constant": True,
        "inputs": [],
        "name": "getReserves",
        "outputs": [
            {"name": "_reserve0", "type": "uint112"},
            {"name": "_reserve1", "type": "uint112"},
            {"name": "_blockTimestampLast", "type": "uint32"},
        ],
        "stateMutability": "view",
        "type": "function",
    },
    {
        "constant": True,
        "inputs": [],
        "name": "token0",
        "outputs": [{"name": "", "type": "address"}],
        "stateMutability": "view",
        "type": "function",
    },
    {
        "constant": True,
        "inputs": [],
        "name": "token1",
        "outputs": [{"name": "", "type": "address"}],
        "stateMutability": "view",
        "type": "function",
    },
]
pair = w3.eth.contract(
    address=POOL_ADDRESS,
    abi=PAIR_ABI
)
# ============================================================
# KNOWN TOKENS
# ============================================================
WBNB = Web3.to_checksum_address(
    "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"
)
USDT = Web3.to_checksum_address(
    "0x55d398326f99059fF775485246999027B3197955"
)
# ============================================================
# VERIFY PAIR
# ============================================================
try:
    token0 = Web3.to_checksum_address(
        pair.functions.token0().call()
    )
    token1 = Web3.to_checksum_address(
        pair.functions.token1().call()
    )
except Exception as e:
    print("token0/token1 okuma hatası")
    print(e)
    sys.exit(1)
PAIR_LAYOUT = None
if token0 == WBNB and token1 == USDT:
    PAIR_LAYOUT = "WBNB_USDT"
elif token0 == USDT and token1 == WBNB:
    PAIR_LAYOUT = "USDT_WBNB"
else:
    print("Havuz bir WBNB/USDT paritesi değil")
    print("token0 =", token0)
    print("token1 =", token1)
    sys.exit(1)
print("Pair verified:")
print("token0 =", token0)
print("token1 =", token1)
# ============================================================
# BINANCE
# ============================================================
def get_orderbook():
    try:
        response = requests.get(
            BINANCE_DEPTH_URL,
            timeout=REQUEST_TIMEOUT
        )
        response.raise_for_status()
        data = response.json()
        if "bids" not in data:
            return None
        if "asks" not in data:
            return None
        return data
    except Exception:
        return None
def calculate_execution_buy_price(
    asks,
    target_usd
):
    """
    USDT ile BNB alma.
    Dönen değerler:
        avg_price,
        received_bnb
    """
    spent_usd = 0.0
    received_bnb = 0.0
    for price_str, qty_str in asks:
        price = float(price_str)
        qty = float(qty_str)
        level_usd = price * qty
        if spent_usd + level_usd >= target_usd:
            remaining_usd = target_usd - spent_usd
            partial_qty = remaining_usd / price
            received_bnb += partial_qty
            spent_usd += remaining_usd
            break
        received_bnb += qty
        spent_usd += level_usd
    if spent_usd < target_usd:
        return None, None
    avg_price = spent_usd / received_bnb
    return avg_price, received_bnb
def calculate_execution_sell_price(
    bids,
    sell_bnb
):
    """
    BNB'yi USDT'ye satma.
    Dönen değerler:
        avg_price,
        received_usdt
    """
    remaining_bnb = sell_bnb
    received_usdt = 0.0
    sold_bnb = 0.0
    for price_str, qty_str in bids:
        price = float(price_str)
        qty = float(qty_str)
        take_qty = min(
            remaining_bnb,
            qty
        )
        received_usdt += take_qty * price
        sold_bnb += take_qty
        remaining_bnb -= take_qty
        if remaining_bnb <= 0:
            break
    if remaining_bnb > 0:
        return None, None
    avg_price = received_usdt / sold_bnb
    return avg_price, received_usdt
# ============================================================
# DEX
# ============================================================
def get_reserves():
    try:
        reserves = (
            pair.functions
            .getReserves()
            .call()
        )
        raw0 = reserves[0]
        raw1 = reserves[1]
        if PAIR_LAYOUT == "WBNB_USDT":
            reserve_bnb = raw0 / 1e18
            reserve_usdt = raw1 / 1e18
        else:
            reserve_usdt = raw0 / 1e18
            reserve_bnb = raw1 / 1e18
        return (
            reserve_bnb,
            reserve_usdt
        )
    except Exception:
        return None, None
def amm_out(
    amount_in,
    reserve_in,
    reserve_out
):
    if (
        amount_in <= 0
        or reserve_in <= 0
        or reserve_out <= 0
    ):
        return 0.0
    amount_in_fee = (
        amount_in
        * (1 - DEX_FEE)
    )
    numerator = (
        amount_in_fee
        * reserve_out
    )
    denominator = (
        reserve_in
        + amount_in_fee
    )
    return numerator / denominator
# ============================================================
# MONITOR
# ============================================================
def monitor():
    print()
    print("DEX/CEX Arbitrage Monitor Started")
    print("-" * 80)
    while True:
        book = get_orderbook()
        if book is None:
            time.sleep(1)
            continue
        reserve_bnb, reserve_usdt = (
            get_reserves()
        )
        if (
            reserve_bnb is None
            or reserve_usdt is None
        ):
            time.sleep(1)
            continue
        bids = book["bids"]
        asks = book["asks"]
        # ====================================================
        # SCENARIO A
        # BUY ON DEX
        # SELL ON CEX
        # ====================================================
        bnb_from_dex = amm_out(
            TRADE_VOLUME_USD,
            reserve_usdt,
            reserve_bnb
        )
        if bnb_from_dex <= 0:
            time.sleep(1)
            continue
        sell_price, usdt_received = (
            calculate_execution_sell_price(
                bids,
                bnb_from_dex
            )
        )
        if usdt_received is None:
            time.sleep(1)
            continue
        usdt_received *= (
            1 - CEX_TAKER_FEE
        )
        usdt_received -= (
            ESTIMATED_GAS_COST_USD
        )
        spread_a = (
            (usdt_received - TRADE_VOLUME_USD)
            / TRADE_VOLUME_USD
        ) * 100
        # ====================================================
        # SCENARIO B
        # BUY ON CEX
        # SELL ON DEX
        # ====================================================
        buy_price, bought_bnb = (
            calculate_execution_buy_price(
                asks,
                TRADE_VOLUME_USD
            )
        )
        if bought_bnb is None:
            time.sleep(1)
            continue
        bought_bnb *= (
            1 - CEX_TAKER_FEE
        )
        usdt_from_dex = amm_out(
            bought_bnb,
            reserve_bnb,
            reserve_usdt
        )
        usdt_from_dex -= (
            ESTIMATED_GAS_COST_USD
        )
        spread_b = (
            (usdt_from_dex - TRADE_VOLUME_USD)
            / TRADE_VOLUME_USD
        ) * 100
        dex_price = (
            reserve_usdt
            / reserve_bnb
        )
        sys.stdout.write(
            "\r"
            f"DEX={dex_price:.2f} | "
            f"A:{spread_a:+.2f}% | "
            f"B:{spread_b:+.2f}%"
        )
        sys.stdout.flush()
        if spread_a >= MIN_NET_SPREAD_PCT:
            print(
                "\n"
                f"[SIGNAL] "
                f"BUY DEX -> SELL CEX "
                f"({spread_a:.2f}%)"
            )
        elif spread_b >= MIN_NET_SPREAD_PCT:
            print(
                "\n"
                f"[SIGNAL] "
                f"BUY CEX -> SELL DEX "
                f"({spread_b:.2f}%)"
            )
        time.sleep(1.5)
# ============================================================
# ENTRY
# ============================================================
if __name__ == "__main__":
    try:
        monitor()
    except KeyboardInterrupt:
        print("\nStopped.")

Bu betik gerçek kaymayı (slippage) doğru şekilde hesaba katar; çünkü fiyatı varsayılan kurdan çekmek yerine $300'lık bakiyenizi doğrudan havuzun matematiksel AMM modelinden geçirerek hesaplar.

Manuel İşlem Protokolü: Sandwich Bot'larına Yem Olmama Rehberi

Farklı borsalarda iki düğmeye tıklamak kulağa çocuk oyuncağı gibi gelir. Ancak pratikte manuel işlem yapanların %80'i, işlemini public mempool'a (açık mem havuzuna) attığı saniyede kârını çöpe atar.

DEX üzerindeki alım emriniz Ethereum, BNB Chain veya Arbitrum'un public mempool'una düştüğü an, MEV (Maximum Extractable Value) botları olaya uçar ve anında avlar. Eğer Slippage Tolerance (kayma toleransı) ayarınız %0.5'in üzerindeyse, bot hemen bir Sandwich Attack (sandviç saldırısı) çakar:

  • Bot, sizin işlemden hemen önce token'ı satın alarak fiyatı yukarı zıplatır (Frontrun).
  • İşleminiz, slippage limitinizin sınırında olabilecek en kötü fiyattan gerçekleşir.
  • Bot, işleminizden hemen sonra token'ı satarak vurgunu yapar (Backrun).

Günün sonunda token'ı şişirilmiş fiyattan alırsınız, bütün spread de MEV arayıcısının cebine girer.

Güvenli İşlem Boru Hattı (Pipeline)

Botları beslemeden kendi başınıza spread avlamak istiyorsanız, işlemleri şu düzeneğe göre ayarlamalısınız:

  • Özel RPC Node'ları (MEV-Blocker / Flashbots). MetaMask'in varsayılan ağ ayarlarını unutun. DEX'teki tüm işlemler, public mempool'u bypass ederek doğrudan blok validatörüne giden özel röleler üzerinden fırlatılmalıdır.
    Ethereum için: https://rpc.mevblocker.io veya https://rpc.flashbots.net
    BNB Chain / Polygon / Arbitrum için: QuickNode MEV Koruması veya BloXroute tarzı servisleri kullanın.
  • Sıkı Slippage Limiti. Uniswap veya 1inch arayüzündeki %1 ya da %2'lik varsayılan ayarları çöpe atın. Arbitraj işlemi için maksimum kabul edilebilir kayma %0.1 ile %0.3 arasında olmalıdır. Blok içine girmeden bir milisaniye önce fiyat uçar giderse, işlem zararla gerçekleşmek yerine hata verip iptal (revert) olmalıdır.
  • Gas Fee Optimizasyonu. Web3 cüzdanınızdaki komisyon ayarını manuel moda (Advanced Gas Controls) çekin. Sonraki blokta sırayı kapmak için Max Priority Fee (validatör bahşişi) değerini mevcut ağ medyanının biraz üzerine sabitleyin. L2 ağlarında (Arbitrum, Base, OP) L1 Data Fee'leri (L1 veri ücreti) sıkı takip etmek şarttır; Ethereum'da yoğunluk tavan yaptığında L2'de işlem göndermek normalinden 5 kat daha pahalıya patlayabilir.

İleri Düzey Teknik: Delta-Nötr Arbitraj «DEX Spot vs CEX Futures»

Spread'in patlamasını beklerken altcoin'i her iki tarafta da fiziksel olarak tutmak, varlığın kendi fiyatının çakılması riskini (Market Price Risk) göze almak demektir. Coin'ler %15 dump yerse, kilitlediğiniz %2'lik spread portföydeki erimeyi kurtarmaz.

EXMON Academy'de öğretilen ileri düzey metodoloji, vadeli işlemler (futures) üzerinden yapılan delta-nötr spread trading'dir.

Short Hedge Üzerinden Çalışma Mekaniği

CEX'te spot varlık satın almak yerine, orada 1x kaldıraçla futures tarafında short pozisyon açarsınız.

Delta Portfolio
 

Uygulama Algoritması:

  • DEX'te bir fiyat çöküşü yaşanır: token 0.95$'a düşerken, CEX'teki futures ve spot 1.00$'da sabit durmaktadır (spread %5.2).
  • DEX'ten 0.95$'a spot alım yaparsınız.
  • Aynı anda CEX'te 1.00$ fiyatla futures Short pozisyon açarsınız.
  • Delta'nız anında sıfırlanır: piyasa nereye giderse gitsin portföyün toplam değeri kıl oynamaz.
  • DEX'teki fiyat CEX ile eşitlendiğinde (örneğin her iki platform da 0.98$'da dengelendiğinde), iki pozisyonu da kapatırsınız:
    • DEX'teki spotu 0.98$'dan satın (Kâr: +0.03$ / coin).
    • CEX'teki short pozisyonu 0.98$'dan kapatın (Kâr: +0.02$ / coin).

Toplam net kâr: Coin başına 0.05$ (kullanılan hacmin %5'i) ve token'ın değer kaybetme riski sıfır.

Ekstra bonus: CEX'teki futures contango durumundaysa (futures fiyatı spot fiyatından yüksekse), her fonlama saatinde (funding rate) ekstra pozitif fonlama geliri toplarsınız.

Gizli Tuzaklar ve Kritik Riskler

Strateji kusursuz görünüyorsa, henüz gizli açıklarını fark etmemişsiniz demektir. Manuel spread trading, mühendislik mayınlarıyla doludur.

1. Dahili Vergisi Olan Token'lar (Transfer Tax / Reflection Tokens)

Bazı ERC-20 / BEP-20 token'ları, her transfer işlemine akıllı sözleşme üzerinden komisyon gömer (örneğin yakım veya pazarlama cüzdanı için %2–%5 kesinti).

Sözleşme kodunu explorer veya güvenlik tarayıcılarından (TokenSniffer, GoPlus) kontrol etmediyseniz; token'ı havuzdan çektiğiniz an kendi mekanizması yüzünden %5'ini, üstüne %0.3 AMM komisyonunu kaptırır ve işlemi ağır zararla kapatırsınız.

2. Uniswap v3'te Sanal Likidite Kayması (Concentrated Liquidity Trap)

Uniswap v2'de likidite sıfırdan sonsuza kadar yayılmıştır. v3'te ise likidite dar fiyat aralıklarında (Ticks) yoğunlaşır.

Eğer spread, fiyat ana piyasa yapıcı aralığının dışına taştığı için oluştuysa, görsel olarak fiyat farkı devasa görünebilir (%10–%20 arası). Ancak mevcut tick üzerindeki likidite hacmi belki de sadece 15$'dır. Orada işlem yapmaya kalkışmak fiyatın aleyhinize onlarca yüzde kaymasına yol açar.

3. Likidite Dengesizliği ve "İçeride Kalan Sermaye" (Inventory Risk)

Spread'i üst üste 5 kez aynı yönde yakaladıktan sonra (örn: DEX'ten Al -> CEX'te Sat), CEX'teki USDT rezervinizi tamamen tüketip Web3 cüzdanınızı altcoin'lerle doldurursunuz.

Rebalancing (yeniden dengeleme) zaman ve komisyon masrafı ister. Piyasa sert bir trende girerse pozisyonun tek bacağında mahsur kalırsınız. Risk kuralı: Platformlardaki bakiye dengesizliğinin %70/30 oranını aşmasına asla izin vermeyin.

İşlem Öncesi Trader Kontrol Listesi

Bu kontrol listesini çalışma monitörünüzün tam önüne yapıştırın. Yeni bir işleme ancak bu 5 şart eksiksiz sağlanıyorsa girin:

  • MEV Koruması Aktif: Cüzdanda özel RPC node seçili (MEV-Blocker / Flashbots).
  • Havuz Derinliği Kontrol Edildi: İşlem hacmi, DEX'teki toplam havuz rezervlerinin %1–%2'sini geçmiyor (Price Impact < %0.3).
  • Net Spread Kesinleşti: Fiyat farkı; CEX + DEX + Gas komisyonlarının toplamını en az 2.5 kat karşılıyor.
  • Akıllı Sözleşme Temiz: Token'da gizli transfer vergisi yok (Transfer Fee = %0).
  • Sermaye Dağıtımı Hazır: CEX ve DEX üzerinde, köprü (bridge) beklemeksizin anında işlem açmak için paritenin her iki varlığında da yeterli bakiye var.

Merkezi ve merkeziyetsiz borsalar arasındaki spread trading saf bir matematik disiplinidir. Burada kazanan trend yönünü iyi tahmin eden değil; komisyonları en iyi hesaplayan, altyapıyı kontrol eden ve piyasa anomalilerini sabırla bekleyendir.


FAQ

Manuel DEX-CEX arbitrajı, Otomatik Piyasa Yapıcı (AMM) havuzları ile merkezi emir defterleri (Order Book) arasındaki geçici fiyat farklarını, her iki platformda önceden ayrılmış bakiyeler üzerinden eşzamanlı ters yönlü işlemler açarak kullanır. Tüccar, fiyat dalgalanması sırasında platformlar arası transfer yapmaz; brüt fiyat farkı taker komisyonu, havuz takas ücreti, ağ gaz maliyeti ve Price Impact toplamını aştığı anda emri iki tarafta birden kapatır.

MEV sandwich saldırılarından korunmak için takas (swap) işlemleri, kamuya açık mempool baypas edilerek Flashbots veya MEV-Blocker gibi özel RPC uç noktaları üzerinden ağa iletilir. Ayrıca kayma toleransı (Slippage Tolerance) sınırının manuel olarak %0.1 ile %0.3 arasında dar tutulması, bir arama botunun işlem bloğa girmeden önce havuz rezervlerini manipüle etmesi durumunda işlemin otomatik olarak iptal edilmesini (revert) sağlar.

Net kâr, her iki platform arasındaki brüt işlem farkından toplam altyapı sürtünme maliyetlerinin çıkarılmasıyla hesaplanır. Bu maliyetler CEX taker komisyonunu, DEX havuz protokol ücretini, temel para birimine dönüştürülmüş gaz ücretini ve AMM sabit ürün eğrisinde (X x Y = k) girilen hacmin yarattığı Price Impact sapmasını kapsar. Trade sadece brüt spread tüm bu giderlerin üzerindeyse execution aşamasına alınır.
Martyn Borkowski

I am a crypto trader specializing in digital assets and blockchain markets.

My focus is on identifying opportunities, managing risk, and optimizing strategies to achieve consistent growth in the fast-evolving world of cryptocurrency.

Verification & Professional Profiles: X Profile

...

Yorumunuzu paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar işaretlendi *