Die meisten Swap-Oberflächen optimieren auf eine Sache: den angegebenen Output.
Aber ein Kursangebot ist nur eine Vorhersage. Es sagt dir nicht, ob der finale Calldata ausgeführt wird, ob die Route rückgängig gemacht wird, wie viel Gas sie verbraucht oder ob die Transaktion noch die Parameter durchsetzt, die der Nutzer geprüft hat.
Route ist auf den vollständigen Ausführungspfad ausgelegt.
Für jede Anfrage entdeckt Route Liquidität über geprüfte Robinhood Chain-Pools hinweg und erstellt bis zu 32 Kandidatenpfade aus einer begrenzten Menge von 96 Pools. Pfade können bis zu drei Sprünge enthalten. Der Optimierer berücksichtigt außerdem bis zu drei disjunkte Split-Zweige, wobei ein 10%-Allokationsraster gefolgt von einer 1%-lokalen Verfeinerung verwendet wird.
Die Abtastung mit Teilkapazität ist hier wichtig. Der beste Pool für eine gesamte Order ist nicht unbedingt der beste Pool für einen Teil davon. Route testet verschiedene Allokationen, verwirft Split-Zweige, die dieselbe Liquidität wiederverwenden, und bewertet die resultierenden Kombinationen, ohne vorzutäuschen, dass die begrenzte Suche ein mathematisches globales Optimum sei.
Das direkte Routing deckt derzeit Uniswap V2, V3, hookless V4 und GIGA CL ab. Route kann auch bewachte Upstream-Kandidaten von KyberSwap und, wenn aktiviert, 0x bewerten. Diese werden als separate Anbieter behandelt – nicht fälschlicherweise als native Route-Integrationen bezeichnet.
Anbieteranfragen laufen parallel, erfolgreiche Duplikate werden zusammengeführt, und die Upstream-Planerstellung überschneidet sich mit der direkten Suche. Preise und Poolzustand sind anfragebezogen: Kein abgeschlossenes Kursangebot oder Preis überlebt in eine andere Anfrage oder einen anderen Block.
Der wichtige Unterschied zeigt sich nach der Entdeckung.
Route konstruiert die tatsächliche Transaktion für jeden finalen Kandidaten und führt sowohl eth_call als auch estimateGas gegen einen gemeinsamen Block unter Verwendung desselben Ausführungs-Gaspreis-Kontextes durch. Kandidaten, die rückgängig gemacht werden, werden entfernt. Erfolgreich simulierte Kandidaten haben Vorrang vor reinen Kursangebot-Fallbacks.
Wenn Gas unter Verwendung einer gemeinsamen Referenz in das Ausgabetoken umgewandelt werden kann, ordnet Route die Kandidaten nach:
simulierter Output − geschätztes Ausführungsgas
Das verhindert, dass ein nominell größeres Kursangebot automatisch gewinnt, wenn sein Ausführungspfad genug zusätzliches Gas verbraucht, um den Vorteil zunichte zu machen.
Die Abwicklung wird onchain unabhängig eingeschränkt. Der Executor erzwingt den exakten Input, den tatsächlich erhaltenen Output, den signierten Mindestoutput, den Empfänger und die Frist. Temporäre Genehmigungen werden gelöscht. Upstream-C alldata wird gegen feste Ziele und Selektoren validiert, und Route ersetzt nach der Prüfung nicht stillschweigend einen anderen Anbieter oder Genehmigungsausgeber.
Wir haben ausführungszeitliche Routing-Systeme wie DFlows JIT-Modell untersucht, das die Preisgestaltung proprietärer AMMs innerhalb der Transaktion neu bewerten kann. Route hat einen engeren experimentellen Zwei-Pfad-JIT-Prototypen gebaut und getestet, aber dieser ist nicht Teil des aktiven Produkts. Das Live-System führt eine ausführungsbewusste Auswahl vor der Signierung durch; es beansprucht weder DFlow-Parität noch eine Neuausrichtung zur Ausführungszeit.
Route beansprucht auch keinen globalen Bestpreis, universellen MEV-Schutz, garantierte Fills oder geprüfte Sicherheit.
Was es bietet, ist ein begrenztes, überprüfbares Routing-System, das ausführbare Transaktionen bewertet, nicht nur Kursangebotsantworten, und die vom Nutzer geprüften Einschränkungen bis zur Abwicklung bewahrt.
Um ehrlich zu sein, ich habe gesehen, dass @LadyExchange_ es ausprobiert hat und einige der Routings einfach nicht funktioniert haben. Also habe ich das für mich selbst gebaut und beschlossen, zu sehen, wie weit ich das treiben kann.
Route berechnet 0 Basispunkte. Pool-Gebühren, Upstream-Anbieterkosten und Netzwerk-Gas fallen weiterhin an.
Probier es einfach aus, jetzt wird die Authentifizierung von @dynamic_xyz unterstützt.





