Nenne deinen Kurs.Der Marktkommt zu dir.
prove.cash ist ein Orderbuch für Swaps auf PulseChain. Du stellst ein Angebot zu deinem Kurs ein. Es bleibt offen, bis jemand es nimmt. Kein Poolpreis, keine Slippage, keine Transaktion von dir.
Es wird zu deinem Kurs oder besser ausgeführt, oder gar nicht. Du kannst den Kurs mit der Zeit bis zu einer Untergrenze fallen lassen: dem Minimum, das du akzeptierst. Du kannst es auch in Teilen ausführen lassen.
Ein signiertes Beispielangebot, gezeichnet über echte WETH/USDC-Kurse.
- Signierer
- 0x7a3f…c19d
- gibst
- bis zu18
WETH
- erhältst
- ausgeführt zu33.897,22
USDC
- Abnehmer
- jeder
Du bekommst mindestens, was du verlangt hast
Der Vertrag hält die Gegenseite an die Zahl, die du signiert hast, und rundet zu deinen Gunsten. Wenn du eine Gebühr hinzufügst, signiert die App einen größeren Betrag, um sie zu decken. Du bekommst trotzdem, was du verlangt hast.
Jeder kann es ausführen
Keine Whitelist, keine Kaution, keine Anmeldung. Wer dein Angebot ausführt, zahlt das Gas. Er behält, was der Markt über der Zahl hergibt, die du signiert hast.
Einstellen kostet kein Gas
Dein Browser leistet einen Moment Arbeit, um es einzustellen. Kein Gas, keine Transaktion, keine Anmeldung.
So funktioniert es
- du
Signiere das Angebot
Höchstens so viel von einem Token geben, mindestens so viel von einem anderen erhalten, innerhalb dieses Fensters. Das ist die ganze Zusage.
- das Board
Trägt das Angebot
Das Angebot läuft über ein Message Board, nicht über die Chain. Einstellen kostet deinen Browser einen Moment Arbeit. Keine Transaktion, kein Gas, kein Konto.
- jeder
Führt es aus
Keine Whitelist, keine Kaution, keine Anmeldung. Wer es ausführt, ist der Ausführende. Er zahlt das Gas und die Zahl, die du signiert hast, und behält, was der Markt darüber hinaus hergibt.
Was du signierst, hängt von deinem Token ab
Es gibt fünf Wege, wie deine Token bei der Ausführung bewegt werden. Die App liest deinen Token und wählt den günstigsten, den er unterstützt. Die Wahl liegt also nicht bei dir, und du kannst sie nicht falsch treffen.
- EIP-30092 SignaturenDer Token kann sich allein auf eine Signatur hin bewegen. Du sendest nie eine Transaktion, und nichts wird im Voraus freigegeben.
- EIP-2612 Permit2 SignaturenZwei Signaturen. Deine Token bleiben in deiner Wallet bis zu dem Moment, in dem jemand ausführt.
- Permit22 Signaturen, 1 tx einmaligGib Permit2 einmal frei. Seine Adresse ist auf jeder Chain dieselbe, und niemand kann sie verschieben. Jedes Angebot danach sind zwei Signaturen, und dein Token braucht keine besondere Unterstützung.
- eine Freigabe1 tx, einmaligGib den Vertrag einmal frei. Jedes Angebot danach ist eine Signatur.
- Treuhand1 txDu zahlst im Voraus ein. Das kostet eine Transaktion, und dafür ist das Angebot gedeckt, sodass ein Ausführender ihm auf den ersten Blick trauen kann.
Wo deine Token liegen.
Ein Angebot ist nur so stark wie das, was dahintersteht.
Autorisierung
bei Ausführung gedecktDie Token bleiben in deiner Wallet. Deine signierte Autorisierung bewegt sie im Moment der Ausführung in den Vertrag.
- du zahlst
- Kostet 2 Signaturen und 0 Transaktionen
- Ausstieg
- validBeforeDeine Signatur bewegt die Token im Moment der Ausführung, und sie ist an genau dieses eine Angebot gebunden. Ihr Ablauf ist Teil der Signatur. Ein Cancel on-chain beendet sie sofort.
Treuhand
in TreuhandDie Token liegen im Vertrag, diesem einen Angebot zugesagt, bis du sie abhebst.
- du zahlst
- Kostet 1 Signatur und 1 bis 2 Transaktionen
- Ausstieg
- withdraw · 1 txEin Abheben gibt dir dein Geld zurück und beendet das Angebot. Keine Sperrfrist, kein Entsperrschritt, kein Zeitfenster, das man verpassen kann. Ein Angebot, das du nie gedeckt hast, ist anders: Jemand anderes kann es mit Geld decken, das schon in deinem Namen geparkt ist. Storniere die, die du nicht willst.
Permit2
bei Ausführung gedecktDie Token bleiben in deiner Wallet. Dein signierter Permit2-Transfer bewegt sie im Moment der Ausführung in den Vertrag, einmal und nur einmal.
- du zahlst
- Kostet 2 Signaturen und höchstens 1 Transaktion
- Ausstieg
- deadlineEin Permit2-Transfer gilt einmal und läuft mit dem Angebot ab. Keine stehende Freigabe an uns überdauert ihn. Deine eine Freigabe geht an Permit2 selbst, an eine Adresse, die wir nicht verschieben können. Ein Cancel on-chain beendet das Angebot sofort.
Permit
in der WalletDie Token bleiben unter einer Freigabe in deiner Wallet. Eine zweite Signatur setzt diese Freigabe, du sendest also keine Transaktion. Du kannst die Token vor der Ausführung noch ausgeben, und dann scheitert die Ausführung.
- du zahlst
- Kostet 2 Signaturen und 0 Transaktionen
- Ausstieg
- cancel · 1 txEin Permit ist eine Freigabe, die eine Signatur setzt, also kostet sie keine Transaktion. Es bleibt trotzdem eine Freigabe. Sie zu widerrufen beendet das Angebot nicht, denn dein signiertes Permit setzt sie bei der nächsten Ausführung neu. Cancel ist der Ausschalter. Ein Fremder, der dein Permit zuerst einlöst, kann die Ausführung nicht verhindern.
Freigabe
in der WalletDie Token bleiben unter einer Freigabe in deiner Wallet. Du kannst sie vor der Ausführung ausgeben, und dann scheitert die Ausführung.
- du zahlst
- Kostet 1 Signatur und höchstens 1 Transaktion
- Ausstieg
- cancel · 1 txDer Widerruf der Freigabe geschieht am Token, wo der Vertrag ihn nicht sehen kann. Er stoppt eine Ausführung, storniert das Angebot aber nicht. Gibst du den Token später wieder frei, lebt das Angebot wieder auf. Nur ein Cancel beendet es, und das kostet eine Transaktion.
Die ganze Rechnung.
Gemessenes Gas, keine Schätzungen. Einstellen ist kostenlos. Den Rest zahlt, wer dein Angebot ausführt.
Der übliche Fall. Der empfangende Bestand hält schon etwas von diesem Token.
Ein Angebot einstellen
du- signieren und aufs Board stellenProof of WorkDas Board verlangt von deinem Browser einen Moment Arbeit statt Geld. Kein Gas, keine Transaktion, keine Anmeldung.0
Mit Treuhand decken
du- einzahlen, damit das Angebot gedeckt isterster ZugriffEine leere Treuhand zu decken ist immer ein erster Zugriff, also gibt es dafür keinen warmen Preis. Es ist optional: Eine Freigabe kostet im Voraus nichts.124.790
Ein Angebot ausführen
ein Ausführender- aus deiner Freigabe115.763
- aus der Treuhand123.037
- mit CallbackwarumDer Ausführende leiht sich deine Token, verkauft sie anderswo und zahlt sie im selben Aufruf zurück. Er braucht kein eigenes Geld.130.533
Zwanzig auf einmal ausführen
ein Ausführender- ein Paar, je Angebot57.245
- gemischte Paare, je Angebot62.945
- das einundzwanzigste AngebotmarginalWas ein weiteres Angebot einem Bündel hinzufügt, das schon läuft. Diese Zahl entscheidet, ob sich eine dünne Marge lohnt.52.869
- mit Callbacks, je Angebot+505 KreditLeihen innerhalb eines Bündels kostet bei jedem Angebot etwas mehr. Die Zahl ist die Differenz: ein weiteres Angebot mit Callback, abzüglich eines weiteren ohne. Sie ist zu klein, um sie auf diesen Balken zu sehen.56.579
Im Mainnet kostet eine warme Ausführung einen Bruchteil eines Cents. Der Ausführende zahlt sie und behält, was der Markt über der Zahl hergibt, die du signiert hast.
Ein Fremder zahlt dein Gas. Das bekommt er dafür.
Niemand zahlt aus Freundlichkeit das Gas eines Fremden. Du bist der Maker. Wer dein Angebot ausführt, ist der Solver. Er verdient die Differenz zwischen dem, was der Markt zahlt, und der Zahl, die du signiert hast. Das ist sein ganzes Einkommen, und so viel kostet es ihn, ihm nachzujagen.
was sie verlieren
Ein Solver zahlt Gas für jedes Angebot, das er versucht, und erfährt erst danach, welche ausgeführt wurden. Eine Ausführung kostet 62.480 Gas. Diese drei kosten das Gas und bringen nichts ein.
das Angebot ist abgelaufen
Kostet 13.327 gasDas Angebot lief ab zwischen dem Moment, in dem der Solver es bepreist hat, und dem Moment, in dem der Block kam. Der Vertrag weist es ab, bevor sich ein Token bewegt, also ist das der billige Fall.
jemand war schneller
Kostet 14.070 gasEin anderer Solver hat dasselbe Angebot zuerst ausgeführt. Das ist normal auf einem offenen Board: Zwei Solver, die es lesen, überschneiden sich, und der Langsamere zahlt für das Duplikat.
die Gegenseite hat es zurückgezogen
Kostet 76.389 gasDas Angebot war gültig, als der Solver es prüfte. Dann zog der Maker das Geld ab, bevor der Block kam. Das ist der einzige Fehlschlag, den jemand absichtlich herbeiführen kann, und jeder Versuch kostet den Maker eine Transaktion. Ein Angebot, das nie gültig war, wird erkannt, bevor etwas gesendet wird, und kostet nichts.
was sie verdienen
Was übrig bleibt, und sonst nichts. Keine Gebühr von uns, kein Rabatt, kein Vorrang, keine Warteschlange. Der Solver zahlt das Gas. Er zahlt die Zahl, die du signiert hast. Er behält, was übrig bleibt. Deine Gebühr kommt aus der Zahl, die du signiert hast, nicht aus dem Anteil des Solvers. Bleibt nichts übrig, verliert er das Gas.
warum das für dich sicher ist
Sie verdienen nicht mehr, wenn sie dir weniger geben.
Dein Kurs steht in der Signatur. Der Vertrag stellt dem Solver diese Zahl in Rechnung, egal was der Markt tut. Mehr verdienen kann er nur, indem er einen besseren Preis findet, nie indem er dir einen schlechteren gibt.
Jede und jeder kann einer sein.
Keine Zulassungsliste, keine Kaution, keine Registrierung, kein Einsatz. Ein Solver ist jede Adresse, welche die Transaktion sendet. Niemand kann ausgesperrt werden, und niemand kann eingesperrt werden.
Der Wettbewerb ist es, der dein Angebot füllt.
Solver drücken deinen Preis nicht. Du setzt ihn. Sie konkurrieren darum, mit wie dünner Marge sie sich zufriedengeben. Je dünner sie wird, desto mehr Angebote werden zu dem Kurs ausgeführt, den ihre Maker wollten.
Wohin das Geld geht
Eine Ausführung
Öffne einen Schritt für die ArithmetikWas der Ausführende im Fenster zahlt
Das Angebot öffnet über dem, was der Pool heute zahlt, und fällt, bis es schließt: von 1.005,17 DAI auf 964,65 DAI über 24h 0m. Beides sind Beträge, die du signierst. Zieh die Gebühr von der Schlusszahl ab, und du hast die Untergrenze, die du eingegeben hast. Die gestrichelten Linien sind dasselbe Angebot ohne Gebühr und mit zwei Prozent Gebühr: eine eingegebene Zahl, drei signierte Beträge. Jeder Punkt zeigt, wo dieses Angebot den Markt in der hier gezeichneten Woche trifft, nach Gas. Eine andere Woche setzt die Punkte woanders hin.Du zahlst die Gebühr, aus dem Betrag, den du signierst. Mit einer höheren Gebühr wird das Angebot später ausgeführt. Mehr kostet dich eine Gebühr nicht.
Was niemand dir antun kann
Du hast etwas signiert. Hier sind drei Dinge, die es niemandem erlaubt, und wo jedes davon steht.
Niemand kann ändern, was du bekommst.
Dein Preis steht in dem Angebot, das du signierst. Der Vertrag ermittelt aus dieser Zahl die ganze Zahlung, zieht die Gebühr heraus, die du genannt hast, und zahlt dir den Rest. Wo die Arithmetik runden muss, rundet sie zu deinen Gunsten.
wo nachzusehen ist_quote rundet den Bruttobetrag mit _ceilDiv auf, zieht die abgerundete Gebühr heraus und zahlt dir den Rest.Wir nehmen keine Gebühr, und kein Schalter kann eine hinzufügen.
Die Gebühr sind zwei Zahlen in dem Angebot, das du signierst: ein Satz und wohin er geht. Nennst du kein Ziel, wird nichts berechnet. Wir nehmen keinen Anteil davon und schlagen keine eigene auf. Der Code, der eine erheben könnte, ist gelöscht, also kann kein Eigentümer sie einschalten. Eine Gebühr an uns bräuchte einen anderen Vertrag an einer anderen Adresse, und deine Signatur ist an diesen gebunden. Nichts, was später entschieden wird, erreicht ein Angebot, das du schon signiert hast.
wo nachzusehen ist_quote berechnet i.feeRate und bucht den Betrag auf i.feeTo, und claim zahlt ihn von dort aus. Commit 3961c2a hat feeSink, feeFloorRate, protocolShare, feePolicy, setFees und setFeePolicy gelöscht.Es gibt keine Pause und kein Upgrade.
Kein Schalter irgendwo reicht an dein Geld. Der Eigentümer kann wählen, wohin Token gesendet werden, die niemandem gehören. Das ist die ganze Liste. Keine Funktion des Eigentümers kann eine Freigabe nutzen, die du erteilt hast.
wo nachzusehen istsetDefaultProceeds und transferOwnership sind die einzigen Funktionen, die dem Eigentümer vorbehalten sind.
Zwei Personen wurden dafür bezahlt, das Obige zu knacken: eine Sicherheitsprüfung und eine ökonomische Prüfung. Jeder Befund der Sicherheitsprüfung ist behoben. Ein ökonomischer Befund bleibt absichtlich offen, und sein eigener Test belegt, dass der Angriff weiterhin funktioniert. Er ist eine von elf Grenzen, die wir gemessen, akzeptiert und aufgeschrieben haben. Der Prüfumfang, die Triage der statischen Analyse, die Verträge und die Tests liegen in einem Repository. Die Adressen auf PulseChain liegen in dem Deployment-Verzeichnis.
Signiere eines und sieh selbst.
Gib uns eine Adresse, und wir markieren die Token, die sie auf dieser Chain schon bewegt hat. Wähle einen, und die App öffnet sich mit diesem Token vorausgewählt. Den Preis setzt du weiterhin selbst, und du siehst alle Kosten, bevor du irgendetwas signierst.
Oder fang mit einem beliebigen davon an.