
Expiration adalah kondisi di mana suatu tindakan atau izin menjadi tidak berlaku setelah syarat tertentu terpenuhi, seperti batas waktu, perubahan status, atau perubahan lingkungan jaringan. Dalam Web3, expiration sangat penting karena membatasi izin dan risiko dalam kerangka “waktu dan kondisi” tertentu, sehingga mengurangi potensi penyalahgunaan dan serangan replay.
Expiration dapat diibaratkan seperti tanggal kedaluwarsa pada kupon: setelah masa berlaku habis, order tidak dapat diproses, signature yang sudah expired tidak bisa digunakan untuk memanggil smart contract, dan persetujuan yang sudah kedaluwarsa akan ditolak oleh contract. Mekanisme ini membantu mencegah penyalahgunaan dan melindungi aset Anda.
Expiration pada order biasanya diatur berdasarkan “waktu dan kondisi eksekusi.” Tiga strategi order yang paling umum adalah: GTC, IOC, dan FOK.
Di antarmuka trading spot dan derivatif Gate, strategi eksekusi seperti IOC dan FOK tersedia. Memilih IOC memastikan bagian order yang tidak terisi akan langsung expired; memilih FOK menghindari eksekusi parsial, sehingga strategi Anda lebih pasti.
Expiration untuk signature dan authorization biasanya dikelola dengan “deadline” atau “validity window.” Banyak DApp menambahkan field “deadline” pada permintaan signature; setelah waktu tersebut, signature tidak dapat digunakan lagi.
EIP-2612 adalah standar “permit signature” yang memungkinkan persetujuan penggunaan token tanpa transaksi on-chain. Standar ini memiliki deadline—setelah itu, signature permit expired dan contract akan menolak penggunaannya.
EIP-712 adalah standar signature terstruktur yang menyisipkan field penting seperti chain ID, domain contract, dan waktu expiration ke dalam signature. Ini mencegah serangan replay di lingkungan berbeda; signature yang sudah expired atau berada di konteks yang tidak sesuai tidak dapat digunakan.
Saat wallet Anda meminta signature, periksa apakah terdapat field validity atau deadline. Masa berlaku yang lebih lama meningkatkan risiko penyalahgunaan; masa berlaku yang lebih pendek lebih aman, tetapi menuntut respons cepat dari Anda.
Smart contract umumnya menerapkan expiration dengan memvalidasi deadline pada entry point fungsi. Cara paling umum adalah memeriksa apakah timestamp block saat ini kurang dari atau sama dengan deadline; jika tidak, pemanggilan fungsi gagal dan dianggap expired.
Timestamp block ditetapkan validator dan mungkin sedikit berbeda. Contract sering menambahkan buffer periode untuk mencegah expiration terlalu cepat, sekaligus memastikan tindakan tidak bisa dilakukan setelah expired. Developer dapat menambahkan field seperti “validUntil” dalam struktur data authorization atau order untuk validasi yang konsisten.
Pada model UTXO Bitcoin, script berbasis waktu juga memengaruhi jendela validitas transaksi. Misalnya, script dapat mengatur agar koin tidak bisa dibelanjakan sebelum atau sesudah waktu tertentu—secara efektif mengandalkan batas waktu untuk mengatur validitas transaksi.
On-chain time menentukan “kapan” sesuatu expired, sedangkan nonce menentukan “apakah” sesuatu bisa digunakan ulang (replay).
Nonce berfungsi sebagai penghitung transaksi: setiap transaksi pada akun memiliki nonce yang harus bertambah. Jika transaksi baru dengan nonce yang sama diterima jaringan, transaksi lama digantikan dan dihapus dari mempool—secara efektif membuat transaksi lama expired.
Timestamp block diberikan oleh block producer dan bukan waktu dunia nyata, tetapi sangat penting untuk menentukan expiry. Contract mengandalkan waktu block untuk pengecekan expiration, sehingga tidak bergantung pada jam eksternal.
Di Ethereum dan chain kompatibel, expiration umumnya diatur di tingkat contract dan DApp, menggunakan field “deadline” dan “nonce replacement” untuk keamanan. Persetujuan token default tidak expired, sehingga banyak aplikasi memakai EIP-2612 untuk menambahkan tanggal expired.
Di Bitcoin, script berbasis waktu dan mekanisme lock mengatur jendela validitas transaksi secara fundamental, menentukan apakah koin dapat dibelanjakan sebelum atau sesudah waktu tertentu.
Di Solana, transaksi dapat menentukan “last valid block height”; setelah block ini, transaksi menjadi tidak valid—memberikan jendela validitas berbasis waktu atau block height. Pada beberapa jaringan Layer 2, logika mirip dengan Ethereum, dengan expiration umumnya diatur di tingkat contract dan aplikasi.
Expiration menciptakan dua risiko utama: expiration prematur (menyebabkan kegagalan operasi) dan expiration yang terlambat (memperpanjang peluang penyalahgunaan).
Lakukan langkah hati-hati dalam pengelolaan keamanan dana. Expiry tidak otomatis menghilangkan risiko; persetujuan jangka panjang yang belum expired tetap perlu dikelola secara proaktif.
Di antarmuka trading Gate, pilihan strategi eksekusi Anda secara langsung menentukan bagaimana order expired:
Untuk expiry authorization, jika Anda menggunakan DApp melalui portal Web3 atau wallet Gate, cek apakah authorization mencantumkan deadline. Untuk persetujuan tanpa expired, audit dan cabut izin untuk DApp yang tidak digunakan secara berkala melalui halaman manajemen authorization.
Kedaluwarsa data source adalah bentuk lain dari “expiration.” Oracle biasanya memberikan timestamp; contract akan memeriksa apakah data masuk masih berada dalam jendela freshness yang dapat diterima. Jika tidak, harga dianggap “stale” dan pemanggilan ditolak—setara dengan expiration pada tingkat data.
Per akhir 2025, protokol DeFi terkemuka semakin sering memvalidasi freshness data pada feed harga dan bunga—memerlukan update berkala untuk mengurangi risiko di pasar volatil. Untuk NFT dan metadata di server terpusat, link rusak membuat konten dianggap expired oleh aplikasi—hasilnya identik dengan expiration.
Pada tingkat node, klien blockchain kini cenderung tidak menyimpan data historis selamanya. Data on-chain yang sangat lama mungkin tidak tersedia di node standar; developer harus menggunakan archive service atau custom indexing agar bisnis tidak terganggu akibat akses data yang sudah “expired.”
Expiration mempersempit jendela efektif untuk order, signature, authorization, dan data—menjadi alat keamanan dan tata kelola penting di Web3. Dengan memahami batas waktu dan status, memanfaatkan pengecekan expiry di contract dan nonce replacement, serta strategi order di exchange dan manajemen authorization DApp, Anda dapat menyeimbangkan efisiensi eksekusi dengan pengendalian risiko penyalahgunaan dan replay. Selalu cabut persetujuan jangka panjang yang tidak diperlukan, pilih masa berlaku order sesuai strategi, cek freshness data secara eksplisit di contract, dan audit aktivitas Anda secara berkala—jadikan “expiration” sebagai perlindungan proaktif, bukan ancaman tersembunyi.
Expiration mode adalah cara spesifik suatu fungsi, order, atau authorization berhenti berlaku. Dalam Web3, expiration mode meliputi expiry berbasis waktu (misal: order timeout), expiry berbasis parameter (misal: perubahan harga di luar batas), dan expiry berbasis pencabutan (misal: pembatalan persetujuan manual). Memahami mode ini membantu Anda menghindari kegagalan trade tak terduga atau risiko terhadap dana.
“Stalling” adalah kondisi trade berjalan lambat atau tersendat; “expiration” berarti fungsi telah benar-benar berhenti atau tidak valid. Expiration memiliki titik akhir yang jelas (misal: order mencapai waktu expired), sedangkan stalling adalah penurunan performa. Order bisa expired akibat stalling—namun keduanya berbeda.
Order expired otomatis adalah fitur proteksi yang biasanya dipicu oleh tiga hal: waktu (masa berlaku habis), kondisi pasar (harga melewati batas yang ditetapkan), atau batas block tertentu. Desain ini melindungi trade Anda dari eksekusi di tengah pergerakan pasar ekstrem.
Authorization expiry dan order expiry adalah dua konsep berbeda. Authorization expiry berarti izin Anda untuk contract menggunakan dana sudah berakhir; order expiry berarti instruksi trade Anda sendiri sudah tidak valid. Satu transaksi bisa mengalami keduanya: authorization expiry mencegah eksekusi meski order valid; order expiry mencegah pemenuhan meski authorization masih berlaku.
Untuk mengetahui apakah order sudah expired:
Jika order Anda sudah expired, Anda perlu membuat order baru untuk melanjutkan trading.


