Maker Protection

Τελευταία ενημέρωση: 30 Σεπτεμβρίου 2026

Το Maker Protection είναι μια σύντομη, σταθερή καθυστέρηση που εφαρμόζεται σε εντολές που ενδέχεται να αντλήσουν ρευστότητα σε επιλεγμένες αγορές Kraken Derivatives. Δίνει στις εντολές maker που βρίσκονται στο βιβλίο ένα σύντομο χρονικό παράθυρο για να αντιδράσουν σε νέες πληροφορίες, πριν μια εισερχόμενη εντολή μπορέσει να συναλλαχθεί εναντίον τους. Το Maker Protection λειτουργεί από τις 24 Σεπτεμβρίου 2026.

Σε αγορά με Maker Protection, κάθε ενέργεια εντολής που ενδέχεται να αντλήσει ρευστότητα τίθεται σε αναμονή για ένα σύντομο χρονικό παράθυρο πριν φτάσει στον Μηχανισμό αντιστοίχισης. Οι τοποθετήσεις post-only και όλες οι ακυρώσεις δεν τίθενται ποτέ σε αναμονή.

  • •

    Καθυστέρηση: 20 ms κατά την εκκίνηση, και ποτέ περισσότερο από 100 ms. Η καθυστέρηση δημοσιεύεται ανά αγορά ως makerProtectionMillis.

  • •

    Αγορές: Μόνο επιλεγμένες αγορές Παραγώγων (futures). Το Spot δεν επηρεάζεται.

  • •

    Συνέπεια: Η συμπεριφορά είναι πανομοιότυπη σε REST, WebSocket και FIX.

  • •

    Αμεροληψία: Η καθυστέρηση εφαρμόζεται εξίσου σε κάθε χρήστη. Δεν υπάρχουν εξαιρέσεις ανά λογαριασμό.

  • •

    Πώς να την αποφύγετε: Υποβάλετε την εντολή ως post-only. Μια εντολή limit χωρίς post-only τίθεται σε αναμονή ακόμα και αν θα παρέμενε στο βιβλίο, διότι η καθυστέρηση εξαρτάται από τον τύπο εντολής και όχι από το αποτέλεσμα.

Μια εντολή σε αναμονή λαμβάνει τη θέση της στην ουρά κατά την αποδέσμευσή της, όχι κατά την παραλαβή της.

Η αυθεντική πηγή είναι το πεδίο makerProtectionMillis στα GET /instruments και GET /trading/instruments. Αν μια αγορά δεν διαθέτει Maker Protection, το πεδίο παραλείπεται εξ ολοκλήρου· επομένως, ένα πεδίο που λείπει και μια τιμή μηδέν σημαίνουν το ίδιο πράγμα: καμία καθυστέρηση.

  • •

    Κατά την εκκίνηση στις 24 Σεπτεμβρίου 2026 καλύφθηκαν 59 αγορές.

  • •

    Οι 10 πιο ρευστές γραμμικές Αγορές perpetual εξαιρούνται, ώστε να μην επιβραδύνεται η ενεργή ροή taker στις κύριες αγορές.

  • •

    Κάθε perpetual που καταχωρείται μετά τις 24 Σεπτεμβρίου 2026 διαθέτει Maker Protection από την εκκίνησή της.

  • •

    Οι προσθήκες ανακοινώνονται στο status.kraken.com πριν από κάθε παράθυρο συντήρησης.

Eνέργεια

Καθυστέρηση;

Εντολή limit, IOC, FOK ή αγοράς

Ναι

Εντολή post-only

Όχι

Επεξεργασία εντολής που μπορεί να παραμείνει στο βιβλίο και να αντλήσει ρευστότητα

Ναι

Επεξεργασία εντολής post-only σε αναμονή

Όχι

Τοποθέτηση εντολής stop, take-profit ή trailing-stop

Όχι

Η εντολή που ενεργοποιείται από trigger stop ή take-profit

Ναι, εκτός αν η ενεργοποιηθείσα εντολή είναι post-only

Ομάδα εντολών με νέο γονικό στοιχείο που δεν είναι post-only

Ναι

Ομάδα εντολών που συνδέεται σε υπάρχουσα εντολή

Όχι

Ακύρωση, ακύρωση όλων, ακύρωση όλων μετά

Όχι

Οι block trades και άλλες συναλλαγές εκτός βιβλίου εντολών εξαιρούνται επίσης.

Δεν υπάρχει κατάσταση «σε αναμονή» για εντολές στο δημόσιο API. Το Maker Protection εκδηλώνεται ως επιπλέον καθυστέρηση στις επιθετικές εντολές, και αξίζει να λάβετε υπόψη τις εξής ιδιότητες:

  • •

    Η επικύρωση γίνεται κατά την αποδέσμευση. Το margin, τα price collars και η κατάσταση της αγοράς ελέγχονται όταν λήγει η καθυστέρηση, όχι κατά την υποβολή. Μια εντολή που ήταν έγκυρη κατά την υποβολή μπορεί να απορριφθεί.

  • •

    Το πλήρες παράθυρο εξυπηρετείται πάντα. Αν η ρευστότητα που έκανε επιθετική την εντολή σας εξαφανιστεί κατά τη διάρκεια του παραθύρου, η εντολή εξακολουθεί να αναμένει μέχρι τη λήξη της καθυστέρησης. Οι εντολές σε αναμονή δεν επαναξιολογούνται.

  • •

    Οι εντολές αποδεσμεύονται με σειρά. Οι αναμονές αποδεσμεύονται με τη μέθοδο First In, First Out, οπότε μια μεταγενέστερη εντολή δεν μπορεί να προηγηθεί μιας παλαιότερης.

  • •

    Η καθυστέρηση είναι «τουλάχιστον» όσο το ρυθμισμένο παράθυρο. Οι εντολές που ενεργοποιούνται από stop ή take-profit αποδεσμεύονται με το επόμενο συμβάν που επεξεργάζεται ο Μηχανισμός αντιστοίχισης, οπότε σε ήσυχη αγορά μπορεί να αναμένουν αισθητά περισσότερο από το ρυθμισμένο παράθυρο.

  • •

    Μην μετράτε την καθυστέρηση. Διαβάστε αντ' αυτού το makerProtectionMillis, καθώς μπορεί να αλλάξει ανά πάσα στιγμή.

Μια εντολή σε αναμονή δεν βρίσκεται ακόμα στο βιβλίο εντολών και δεν είναι εγγυημένο ότι θα φτάσει εκεί. Κατά τη διάρκεια του παραθύρου, μια εντολή μπορεί να επηρεαστεί από γεγονότα άσχετα με τις δικές σας συναλλαγές:

  • •

    Η αγορά έχει ανασταλεί: η εντολή απορρίπτεται με marketSuspended.

  • •

    Ο λογαριασμός σας υπόκειται σε de-risking ή εκκαθάριση: η εντολή απορρίπτεται με CANCELLED_WHILE_HELD.

  • •

    Το margin ή τα price collars κινούνται εναντίον σας: η εντολή μπορεί να απορριφθεί κατά την αποδέσμευση.

  • •

    Αλλάζετε τη μόχλευση ή τη λειτουργία margin σας: η αλλαγή απορρίπτεται όσο έχετε οποιοδήποτε αίτημα σε αναμονή. Δοκιμάστε ξανά αφού αποδεσμευτούν οι αναμονές σας.

Αν λάβετε απόρριψη περίπου ένα παράθυρο μετά την αποστολή μιας εντολής, συνήθως δεν απορρίφθηκε επειδή η εντολή ήταν εσφαλμένα διατυπωμένη. Ελέγξτε την κατάσταση που επιστράφηκε.

Μπορείτε να ακυρώσετε μια εντολή ενώ βρίσκεται σε αναμονή, και οι ακυρώσεις δεν καθυστερούν ποτέ. Ωστόσο, μια ακύρωση δεν μπορεί να ανακαλέσει δεσμευμένη επιθετικότητα. Η ακύρωση αφαιρεί από την εντολή το δικαίωμα να εκκρεμεί στο βιβλίο εντολών, όχι όμως την υποχρέωσή της να εκτελεστεί.

Το αποτέλεσμα εξαρτάται από τον τύπο του αιτήματος που βρίσκεται σε αναμονή:

  • •

    Εντολή limit: η ακύρωση επιβεβαιώνεται και η εντολή αποδεσμεύεται ως immediate-or-cancel. Εκτελεί ό,τι μπορεί και το τυχόν υπόλοιπο απορρίπτεται. Λαμβάνετε δύο αποκρίσεις: αυτή της ακύρωσης και αυτή της ίδιας της εντολής περίπου ένα παράθυρο αργότερα. Αν η εντολή δεν μπορεί να εκτελεστεί κατά την αποδέσμευση, το REST v3 επιστρέφει iocWouldNotExecute.

  • •

    Εντολή IOC, FOK ή αγοράς: δεν υπάρχει τίποτα προς μετατροπή, οπότε η ακύρωση επιστρέφει ORDER_NOT_FOUND και η εντολή εκτελείται κανονικά κατά την αποδέσμευση.

  • •

    Τροποποίηση εκκρεμούς εντολής: η αρχική εντολή παραμένει ενεργή στην παλιά τιμή κατά τη διάρκεια του παραθύρου. Μια ακύρωση απορροφάται, και κατά την αποδέσμευση η τροποποίηση επανεγγράφεται ώστε η εντολή να αποκτήσει νέα τιμή και να μην μπορεί πλέον να παραμείνει εκκρεμής.

  • •

    Ομάδα εντολών: μια ομάδα με εκκρεμή γονική εντολή δεν μπορεί να ακυρωθεί κατά τη διάρκεια του παραθύρου και ενεργοποιείται κατά την αποδέσμευση. Ακυρώστε την μόλις ενεργοποιηθεί.

  • •

    Dead Man's Switch (cancelallordersafter): μια εκκρεμής εντολή μετατρέπεται με τον ίδιο τρόπο. Ο διακόπτης δεν ανακαλεί εκκρεμή εντολή.

Εάν δεν θέλετε να παραμείνει καμία εκκρεμής εντολή ούτε να εκτελεστεί καμία νέα, περιμένετε να παρέλθει το παράθυρο (έως 100 ms) και στη συνέχεια ακυρώστε.

Όταν αποδεσμευτεί μια εκκρεμής εντολή, ακυρώνει αυτόματα κάθε εκκρεμή εντολή σας με την οποία θα ταίριαζε, ανεξάρτητα από τη στρατηγική αποφυγής αυτο-συναλλαγής που χρησιμοποιεί ο λογαριασμός σας. Αυτό ισχύει για ολόκληρη την ιεραρχία του λογαριασμού σας, συμπεριλαμβανομένων του κύριου λογαριασμού, των παράλληλων λογαριασμών και των υπολογαριασμών.

  • •

    Η εκκρεμής εντολή σας ακυρώνεται με την αιτία CANCELLED_BY_SELF_TRADE και η αποδεσμευθείσα εντολή εκτελείται.

  • •

    Οι εντολές FOK και τα RFQ αποτελούν εξαίρεση. Η διαμορφωμένη στρατηγική σας εφαρμόζεται κανονικά.

  • •

    Εντολές που δεν τέθηκαν ποτέ σε αναμονή επίσης δεν επηρεάζονται.

Ταυτόχρονες αναμονές. Μπορείτε να έχετε έως 250 αιτήματα σε αναμονή ταυτόχρονα. Κάθε αίτημα που υπερβαίνει το όριο απορρίπτεται και αναφέρεται σαν να είχατε φτάσει το όριο εντολών σας (tooManyOrders στο REST v3, TOO_MANY_ORDERS στο REST v4, ORDER_LIMIT_EXCEEDED στα δεδομένα αγοράς και στο SBE). Το όριο περιορίζει τον αριθμό των ταυτόχρονων ενεργών αναμονών, όχι τον ρυθμό αποστολής εντολών. Είναι κοινό για τον κύριο λογαριασμό και τους υπολογαριασμούς του, και μπορείτε με ασφάλεια να επαναλάβετε την αποστολή μόλις αποδεσμευτούν οι προηγούμενες αναμονές.

Τα όρια λογαριασμού διακανονίζονται κατά το άνοιγμα της αναμονής. Για να αποτραπεί η τροποποίηση ρυθμίσεων λογαριασμού κατά τη διάρκεια του παραθύρου, ορισμένα όρια διακανονίζονται κατά το άνοιγμα της αναμονής και όχι κατά την αποδέσμευση:

  • •

    Όριο ανοικτών εντολών: εάν έχετε φτάσει το όριό σας, η εντολή γίνεται δεκτή αλλά μετατρέπεται ώστε να μην μπορεί να παραμείνει εκκρεμής.

  • •

    Μέγιστη θέση: το διαθέσιμο περιθώριο δεσμεύεται για την εντολή κατά την υποβολή. Μια εντολή που απορρίπτεται εκείνη τη στιγμή παραμένει απορριφθείσα ακόμα και αν ελευθερωθεί περιθώριο, ενώ το δεσμευμένο περιθώριο δεν είναι διαθέσιμο για μεταγενέστερες εντολές, οι οποίες απορρίπτονται με MAX_POSITION_EXCEEDED.

  • •

    Αναγνωριστικά εντολών πελάτη: μια αναμονή δεσμεύει το αναγνωριστικό εντολής πελάτη για τη διάρκεια του παραθύρου. Η επαναχρησιμοποίησή του για νέα τοποθέτηση απορρίπτεται αμέσως με clientOrderIdAlreadyExist. Περιμένετε να παρέλθει το παράθυρο πριν επαναχρησιμοποιήσετε ένα αναγνωριστικό, ή διαχειριστείτε τις εκκρεμείς ακυρώσεις μέσω αναγνωριστικού εντολής.

Μια δέσμη εντολών δεν τίθεται σε αναμονή ως ενιαία μονάδα. Το παράθυρο ξεκινά από την πρώτη εντολή ανάληψης ρευστότητας στη δέσμη.

  • •

    Οι οδηγίες πριν από την πρώτη επιθετική οδηγία αποστέλλονται αμέσως.

  • •

    Η πρώτη επιθετική οδηγία και όλες οι επόμενες αναμένουν μαζί το πέρας του παραθύρου.

  • •

    Οι ακυρώσεις αποστέλλονται πάντα αμέσως. Μια ακύρωση που τοποθετείται μετά την εντολή-στόχο αναλαμβάνει την αναμονή εκείνης της εντολής εντός της ίδιας δέσμης. Μια ακύρωση που τοποθετείται πριν από αυτήν δεν μπορεί να το κάνει.

Για να διασφαλίσετε ότι μια παθητική οδηγία φτάνει στο βιβλίο εντολών χωρίς καθυστέρηση, τοποθετήστε την πριν από οποιαδήποτε επιθετική οδηγία στη δέσμη.

REST. Η σύνδεση παραμένει ανοιχτή κατά τη διάρκεια της καθυστέρησης και η απόκριση φέρει το τελικό αποτέλεσμα. Ορίστε το timeout στην πλευρά του πελάτη αρκετά πάνω από το παράθυρο. Επειδή το παράθυρο δεν υπερβαίνει ποτέ τα 100 ms, ένα ενιαίο όριο timeout καλύπτει κάθε αγορά. Εάν αποστέλλετε processBefore σε επιθετική εντολή, πρέπει να λαμβάνει υπόψη την αναμονή· διαφορετικά, η εντολή απορρίπτεται κάθε φορά με wouldProcessAfterSpecifiedTime.

WebSocket. Δεν δημοσιεύεται τίποτα ενόσω μια εντολή βρίσκεται σε αναμονή. Λαμβάνετε τα συνήθη συμβάντα open_orders και fills μόλις αποδεσμευτεί η εντολή, περίπου ένα παράθυρο αργότερα από πριν.

FIX. Η πύλη αποστέλλει ένα ενημερωτικό ExecutionReport όταν ένα αίτημα τεθεί σε αναμονή: Pending New (39=A) για νέα τοποθέτηση ή Pending Replace (39=E) για τροποποίηση. Η αναφορά είναι μόνο ενημερωτική και δεν αποτελεί τελική κατάσταση. Μια εντολή σε αναμονή δεν έχει ακόμα OrderID, οπότε το ClOrdID είναι το μοναδικό σας αναγνωριστικό για την εντολή κατά τη διάρκεια του παραθύρου. Η πραγματική επιβεβαίωση ακολουθεί κατά την αποδέσμευση.

Στις αγορές με Maker Protection, ελέγχετε τις εκτελέσεις σας μετά από κάθε εκτέλεση συγγενικού σκέλους σε μια ομάδα εντολών, αντί να υποθέτετε ότι το ένα σκέλος ακύρωσε το άλλο.

Το Maker Protection έχει ενεργοποιηθεί στις αγορές εκκίνησης στο περιβάλλον UAT για πελάτες από τις 27 Αυγούστου 2026, με το ίδιο παράθυρο 20 ms και το ίδιο ανώτατο όριο 250 αναμονών που ισχύει στην παραγωγή. Επικοινωνήστε με τον υπεύθυνο λογαριασμού σας για πρόσβαση στο UAT. Αξίζει να δοκιμάσετε:

  • •

    Ακύρωση κατά τη διάρκεια αναμονής και διαχείριση εντολής που εκτελείται παρόλα αυτά στη συνέχεια

  • •

    Ακύρωση κατά τη διάρκεια αναμονής τροποποίησης εντολής

  • •

    Ακύρωση εκκρεμούς εντολής σας από μια εντολή που αποδεσμεύτηκε, ακόμα και με ενεργοποιημένο το REJECT_TAKER

  • •

    Διαχείριση του tooManyOrders κατά την υποβολή εντολής και επανάληψη της

  • •

    Επαναχρησιμοποίηση αναγνωριστικού εντολής πελάτη εντός παραθύρου αναμονής

  • •

    Σειρά οδηγιών δέσμης και χρονικά όρια από την πλευρά του πελάτη πάνω από το makerProtectionMillis της αγοράς