Panduan Hasil Nyata DeFi
Cara Memeriksa Audit Smart Contract sebelum Menaruh Dana
Audit bukan jaminan aman; pembaca perlu memeriksa sumber resmi, cakupan kontrak, versi kode, dan temuan yang tersisa.
Ringkasan jawaban
Audit smart contract membantu membaca risiko, tetapi bukan jaminan aman. Pemeriksaan yang baik dimulai dari sumber resmi: repo protokol, alamat kontrak, file audit, cakupan versi, dan temuan yang belum selesai. Jika laporan audit tidak cocok dengan kontrak yang akan Anda pakai, nilainya terbatas. Sebelum memasukkan dana, cocokkan alamat resmi, versi kode, izin admin, dan apakah audit mencakup kontrak yang menyimpan dana.

Cocok untuk siapa
Artikel ini cocok untuk Anda yang ingin menaruh dana di pool, farm, vault, atau protokol baru dan melihat klaim “audited”. Anda tidak harus membaca semua kode Solidity, tetapi perlu dapat membuka repo resmi, explorer, dan laporan audit. Artikel ini tidak menyatakan audit tertentu cukup aman untuk investasi; ia memberi proses pemeriksaan. Untuk menilai dampaknya pada hasil bersih, hubungkan temuan risiko dengan ukuran posisi di Laboratorium Hasil Nyata DeFi.
Daftar isi
- Cocok untuk siapa
- Tabel keputusan cepat
- Mekanisme dengan bahasa sederhana
- Detail teknis dan rumus
- Biaya dan skenario gagal
- Cara memverifikasi sendiri
Tabel keputusan cepat
| Yang Anda temukan | Artinya | Tindakan |
|---|---|---|
| Audit ada di repo resmi | Sumber lebih dapat ditelusuri | Cocokkan versi dan cakupan. |
| Audit hanya berupa logo di halaman marketing | Bukti belum cukup | Minta laporan atau tinggalkan. |
| Alamat kontrak resmi tersedia | Bisa dicocokkan dengan transaksi atau pesan wallet | Bandingkan spender, to/kontrak interaksi, dan chain. |
| Kontrak yang Anda pakai tidak tercakup audit | Audit tidak langsung relevan | Tandai sebagai red flag dan minta bukti cakupan. |
| Hak admin atau upgrade tidak jelas | Risiko governance/admin | Tandai sebagai red flag sebelum mendanai. |
Mekanisme dengan bahasa sederhana
Audit adalah pemeriksaan oleh pihak lain terhadap kode atau desain kontrak. Ia bisa menemukan bug, asumsi salah, atau risiko konfigurasi. Namun audit selalu memiliki ruang lingkup: kontrak mana, commit mana, jaringan mana, dan tanggal berapa. Jika protokol mengganti kontrak setelah audit, audit lama tidak otomatis berlaku.
Uniswap v3 Core memiliki repository resmi yang menyatakan berisi core smart contracts untuk protokol Uniswap v3 Uniswap v3 Core GitHub. Di dalam repository itu terdapat file audit ABDK untuk v3 core Uniswap v3 ABDK audit file. Pemeriksaan dari repo resmi lebih kuat daripada screenshot anonim karena Anda bisa menelusuri struktur folder, commit, dan sumber dokumen.
Untuk protokol lain, cari pola yang sama: dokumentasi resmi, repo resmi, alamat kontrak resmi, dan laporan audit yang dapat dibuka langsung. PancakeSwap Developer menyediakan halaman alamat kontrak v3 resmi seperti Factory, SwapRouter, dan NonfungiblePositionManager PancakeSwap v3 Addresses.

Detail teknis dan rumus
Gunakan pemeriksaan red flag agar audit tidak dibaca biner. Audit bisa menjadi sinyal positif hanya jika dokumen, kontrak, dan transaksi yang Anda gunakan saling cocok. Dimensi yang perlu dicocokkan:
- Sumber: laporan dari repo atau dokumentasi resmi, bukan file acak.
- Cakupan: kontrak yang menyimpan dana atau mengatur reward tercakup.
- Versi: commit, tag, atau alamat kontrak sesuai dengan yang dipakai UI.
- Temuan tersisa: critical dan high harus jelas statusnya.
- Hak admin: upgrade, pause, fee change, dan ownership terdokumentasi.
- Transaksi wallet: sebelum menyetujui, periksa chain, spender token approval, serta alamat
toatau kontrak yang akan diinteraksi.
PancakeSwap Developer juga mencantumkan halaman GitHub resmi untuk smart contract dan periphery PancakeSwap Developer: Github. Jika protokol tidak dapat menunjukkan repo atau alamat resmi, Anda tidak punya dasar kuat untuk mencocokkan audit.
Periksa juga jalur dari UI ke kontrak. Banyak pengguna hanya membaca halaman audit, lalu menandatangani transaksi atau pesan wallet dari antarmuka tanpa memeriksa detail. Padahal risiko nyata terjadi pada spender yang menerima token approval, alamat to yang dipanggil, chain yang aktif, atau kontrak yang menyimpan dana. Jika detail wallet tidak sama dengan dokumentasi resmi, berhenti. Cocokkan dulu dengan sumber resmi seperti halaman alamat PancakeSwap v3 PancakeSwap v3 Addresses atau repository resmi protokol yang Anda gunakan.
Contoh hipotetis yang dapat diperiksa ulang
Contoh hipotetis: sebuah farm mengklaim audited. Anda menemukan laporan audit resmi, tetapi kontrak reward baru tidak ada di cakupan.
Red flag yang muncul:
| Pemeriksaan | Temuan | Dampak keputusan |
|---|---|---|
| Sumber | Laporan dari repo resmi | Sumber dapat ditelusuri. |
| Cakupan | Pool utama tercakup, kontrak reward baru tidak | Klaim audit tidak mencakup seluruh jalur dana. |
| Versi | Commit audit cocok dengan sebagian kontrak | Perlu cocokkan kontrak aktif satu per satu. |
| Temuan tersisa | Medium masih terbuka | Baca apakah temuan memengaruhi dana atau reward. |
| Admin controls | Upgrade admin ada, timelock tidak jelas | Perlu penjelasan sebelum mendanai. |
Keputusan manualnya bukan “audit ada maka aman”, tetapi “audit hanya mendukung bagian yang benar-benar tercakup”. Jika kontrak reward baru menerima dana atau mengatur reward tetapi tidak tercakup audit, red flag itu harus diselesaikan sebelum keputusan dana dibuat. Contoh ini hipotetis; jangan menganggapnya penilaian untuk protokol tertentu.
Biaya dan skenario gagal
Biaya audit yang buruk sering muncul setelah dana masuk. Jika kontrak reward salah, reward bisa tidak dapat diklaim. Jika kontrak pool bermasalah, dana dapat terkunci. Jika alamat kontrak UI berbeda dari alamat resmi, Anda mungkin berinteraksi dengan kontrak yang tidak diaudit. Risiko ini tidak terlihat pada APY.
Skenario gagal lain adalah audit scope mismatch. Audit dapat mencakup library atau core contract, tetapi tidak mencakup wrapper, farm, router, atau kontrak baru yang digunakan kampanye reward. Karena itu, cocokkan chain, spender approval, alamat to, dan kontrak interaksi di wallet dengan halaman alamat resmi seperti PancakeSwap v3 Addresses, bukan hanya membaca judul laporan.
Terakhir, audit tidak menghilangkan risiko admin. Kontrak yang dapat di-upgrade, pause, atau mengubah fee mungkin sah secara desain, tetapi Anda harus tahu siapa yang memegang hak itu dan apakah ada jeda waktu. Jika dokumentasi tidak menjelaskan, tandai sebagai red flag dan cari penjelasan resmi sebelum mendanai.
Waspadai juga audit yang terlalu lama dibanding perubahan produk. Laporan lama tetap berguna sebagai sejarah, tetapi tidak membuktikan kontrak baru aman. Audit yang baik menyebut cakupan, tanggal, commit, dan temuan. Jika dokumen hanya menampilkan ringkasan tanpa file lengkap, Anda tidak bisa memeriksa apakah kontrak yang akan digunakan masuk cakupan. Dalam kondisi itu, perlakukan audit sebagai sinyal marketing, bukan bukti teknis yang cukup.
Jika Anda tidak dapat membaca seluruh laporan audit, baca minimal bagian scope, summary temuan, severity, dan unresolved issues. Bagian scope menjawab “apa yang diperiksa”. Severity menjawab “seberapa berat masalahnya”. Status temuan menjawab “apakah masalah sudah diperbaiki”. Tiga bagian ini sudah cukup untuk menolak klaim audit yang terlalu umum.
Catat hasilnya tertulis, agar keputusan tidak berubah karena tekanan komunitas. Simpan juga URL sumber resmi yang dipakai, supaya pemeriksa berikutnya dapat membuka bukti yang sama tanpa menebak.
Cara memverifikasi sendiri
- Buka situs atau dokumentasi resmi protokol.
- Cari link repo resmi. Untuk contoh, Uniswap v3 Core GitHub menunjukkan repo core contract.
- Cari folder audit atau halaman audit resmi. Pastikan file dapat dibuka langsung seperti Uniswap v3 ABDK audit file.
- Buka halaman alamat kontrak resmi, misalnya PancakeSwap v3 Addresses.
- Cocokkan detail transaksi atau pesan wallet: chain, spender approval, alamat
to, dan kontrak yang akan diinteraksi. - Periksa cakupan audit: kontrak, commit, tanggal, dan jaringan.
- Catat temuan high atau critical yang belum selesai.
- Tulis red flag yang belum terjawab sebelum menentukan apakah posisi layak dipertimbangkan.
Checklist sebelum memasukkan dana
- Apakah laporan audit berasal dari sumber resmi?
- Apakah kontrak yang menyimpan dana tercakup audit?
- Apakah alamat kontrak cocok dengan dokumentasi resmi?
- Apakah versi kode atau commit cocok dengan laporan?
- Apakah temuan high dan critical sudah ditutup?
- Apakah hak admin, upgrade, dan pause terdokumentasi?
- Apakah Anda tahu chain, spender, alamat
to, dan kontrak interaksi sebelum menandatangani transaksi atau pesan wallet? - Apakah hasil yang diharapkan cukup untuk risiko kontrak yang tersisa?
Cara menilai audit tanpa klaim berlebihan
Audit adalah bahan verifikasi, bukan stempel aman permanen. Mulailah dari cakupan. Laporan yang hanya meninjau router tertentu tidak otomatis meninjau vault, farm, oracle, token reward, atau kontrak upgrade. Jika protokol memakai beberapa kontrak, buat daftar kontrak yang benar-benar tersentuh oleh laporan. Jika ada kontrak baru setelah tanggal audit, tandai sebagai belum tercakup kecuali protokol menyediakan laporan tambahan.
Perhatikan juga status temuan. Temuan "acknowledged" berbeda dari "fixed". Temuan yang dianggap risiko bisnis masih bisa penting bagi LP jika menyangkut admin key, parameter fee, atau kemampuan menarik reward. Tulislah satu baris untuk tiap temuan penting: tingkat risiko, dampak terhadap dana, status perbaikan, dan bukti lokasi perbaikan. Jangan menulis "sudah diaudit" sebelum Anda tahu apakah commit audit sama dengan kontrak yang dipakai.
Contoh hipotetis: sebuah pool mengarahkan pengguna ke farm dengan kontrak reward baru. Repo utama memiliki audit, tetapi farm baru belum ada dalam cakupan. Dalam worksheet, kontrak AMM boleh mendapat skor lebih rendah karena repo jelas, tetapi lapisan reward harus mendapat skor lebih tinggi sampai alamat, kode, dan laporan terkait ditemukan. Hasil APY tidak boleh menutup kekosongan bukti itu.
Admin control perlu ditulis terpisah dari audit. Dokumentasi OpenZeppelin menjelaskan pola role-based access control untuk memberikan izin berbeda pada akun atau kontrak. Dalam audit manual, pertanyaannya bukan sekadar apakah pola itu digunakan, tetapi siapa memegang role, apakah ada timelock, apakah upgrade dapat dilakukan, dan apa dampaknya pada LP. Jika jawaban belum jelas, tandai sebagai risiko operasional.
Gunakan juga sumber harga. Jika kontrak bergantung pada oracle atau feed eksternal, pahami bagaimana feed dipilih dan bagaimana data diperbarui. Jika dokumentasi protokol tidak menjelaskan dependensi harga, jangan menulis skor oracle rendah hanya karena pool terlihat populer. Hasil akhir harus menggabungkan bukti kontrak, bukti audit, hak admin, dan jalur keluar sebelum angka dibawa ke Laboratorium Hasil Nyata DeFi.
Membuat catatan audit yang dapat diuji ulang
Catatan audit sebaiknya berbentuk tabel kerja, bukan paragraf kesan umum. Kolom pertama berisi kontrak atau modul. Kolom kedua berisi alamat atau repo. Kolom ketiga berisi laporan audit yang mencakupnya. Kolom keempat berisi status temuan penting. Kolom kelima berisi keputusan: diterima, butuh bukti tambahan, atau ditolak. Format ini mencegah satu logo audit menutupi modul yang belum jelas.
Jika kontrak dapat di-upgrade, tambahkan kolom implementasi saat ini dan admin upgrade. Jika kontrak memakai proxy, alamat proxy dan implementasi harus dibedakan. Jika kontrak punya pause, emergency withdraw, atau parameter reward, tulis siapa yang dapat menjalankan fungsi tersebut. Jika jawaban hanya "tim", skor admin belum rendah. Tim yang kredibel tetap perlu dokumentasi hak akses dan proses perubahan.
Contoh hipotetis: laporan audit menyebut kontrak pool, tetapi tidak menyebut kontrak gauge reward. Pool tampak aman dari sisi swap, namun reward yang membuat APY menarik datang dari gauge. Dalam skor risiko, pool dan reward dipisah. Pembaca boleh memilih masuk tanpa menghitung reward, menunggu audit gauge, atau menolak. Yang tidak boleh adalah menyebut seluruh strategi sudah diaudit hanya karena satu bagian diaudit.
Perhatikan juga frontend. Alamat resmi di dokumentasi harus cocok dengan alamat yang diminta wallet saat transaksi. Jika wallet meminta approve ke kontrak berbeda dari dokumentasi, berhenti dan verifikasi. Serangan atau salah klik sering terjadi di lapisan UI, bukan hanya kontrak inti. Artikel ini tidak meminta pembaca menjadi auditor, tetapi meminta pembaca tidak mengabaikan bukti yang terlihat.
Setelah catatan audit selesai, masukkan ringkasan skor ke Laboratorium Hasil Nyata DeFi. Jika hasil bersih positif tetapi satu kontrak kunci belum dapat diverifikasi, keputusan konservatif adalah menunggu. Jika semua bukti cukup tetapi hasil bersih negatif, audit tidak mengubah ekonomi posisi. Dua kesimpulan ini harus tetap terpisah.
Tambahkan baris "bukti yang sengaja tidak dipakai". Misalnya, screenshot media sosial, tautan komunitas tanpa dokumentasi resmi, klaim "audited" tanpa laporan, atau alamat kontrak dari komentar pengguna. Baris ini membantu pembaca menghindari bukti yang mudah terlihat tetapi lemah. Jika nanti bukti resmi muncul, baris itu dapat dipindahkan ke sumber valid. Sebelum itu, jangan biarkan bukti lemah menurunkan skor risiko.
Untuk protokol yang memiliki banyak chain, periksa chain satu per satu. Audit pada kontrak Ethereum tidak otomatis berlaku untuk deployment BNB Chain, Arbitrum, Base, atau chain lain jika alamat, versi, atau parameter berbeda. Jika dokumentasi resmi menyediakan daftar alamat lintas-chain, cocokkan chain yang benar dengan wallet. Jika chain tidak ada dalam daftar resmi, jangan menganggap alamatnya benar karena explorer memberi label.
Jika pembaca tidak mampu membaca kode, tetap ada pemeriksaan yang berguna: alamat resmi cocok, kode terverifikasi, repo aktif, laporan audit dapat dibuka, scope menyebut kontrak yang dipakai, dan temuan kritis tidak dibiarkan tanpa penjelasan. Pemeriksaan ini tidak menggantikan audit profesional, tetapi cukup untuk menolak banyak pool yang buktinya tidak rapi. Itulah tujuan artikel: membantu keputusan pengguna biasa tanpa menciptakan klaim keamanan palsu.
Tambahkan pemeriksaan perubahan. Kontrak yang hari ini cocok dengan audit bisa berubah jika proxy di-upgrade, reward contract diganti, atau frontend mengarah ke router baru. Karena itu audit manual perlu tanggal cek dan alamat saat cek. Jika posisi berjalan lebih dari beberapa hari, cek ulang sebelum menambah modal. Jangan memakai audit lama untuk membenarkan kontrak baru.
Catat juga hubungan antar-kontrak. Banyak strategi LP tidak hanya memakai pool, tetapi juga staking gauge, reward distributor, NFT manager, vault, router, atau helper contract. Jika salah satu kontrak memiliki hak atas dana atau reward, ia harus masuk daftar. Kontrak kecil yang disebut "helper" tetap bisa penting jika pengguna memberi approval kepadanya. Dalam risiko DeFi, nama kontrak tidak menentukan dampaknya; fungsi dan izin yang menentukan.
Jika hasil audit tampak sulit dipahami, fokus pada pertanyaan praktis: apakah dana bisa ditarik, siapa bisa menghentikan, siapa bisa upgrade, apakah reward bisa berubah, dan apakah alamat resmi cocok. Pertanyaan ini cukup untuk memutuskan apakah APY layak dihitung penuh atau perlu diberi diskon besar.
Studi kasus tambahan: audit cocok, tetapi parameter berubah
Skenario hipotetis: kontrak inti memiliki audit yang cocok, alamat resmi jelas, dan kode terverifikasi. Namun farm reward memiliki parameter yang dapat diubah admin, termasuk emission rate, end time, dan emergency setting. Audit inti menurunkan risiko swap, tetapi tidak menurunkan risiko reward berubah. Jika APY utama berasal dari reward, skor reward dan admin tetap penting. Jangan membiarkan audit inti membuat seluruh strategi terlihat lebih aman daripada bukti yang ada.
Skenario lain: laporan audit menyebut temuan medium pada validasi input, statusnya "acknowledged", bukan "fixed". Pembaca tidak perlu menjadi auditor untuk menulis catatan: temuan ada, status bukan fixed, dampak perlu dibaca, dan ukuran posisi harus konservatif sampai jelas. Bila tim menjelaskan alasan menerima risiko, tautkan sumber resmi. Bila tidak ada penjelasan, jangan menganggap temuan hilang.
Parameter dapat berubah setelah audit. Fee tier baru, reward campaign baru, router baru, atau deployment chain baru mungkin tidak tercakup. Karena itu audit manual harus menyertakan "versi saat dipakai". Jika laporan mencakup commit lama, cari apakah kontrak live sama dengan commit atau rilis itu. Jika tidak bisa cocok, tulis "audit belum cocok dengan versi live" dan naikkan skor.
Saat hasil dibawa ke lab, audit tidak menambah reward; audit hanya memengaruhi keyakinan dan ukuran posisi. Jika hasil ekonomi negatif, audit baik tidak membuatnya positif. Jika hasil ekonomi positif tetapi audit tidak cocok, hasil itu belum cukup. Memisahkan ekonomi dan bukti membuat keputusan lebih bersih.
Terakhir, simpan bukti audit bersama tanggal. Jika satu bulan kemudian ada deployment baru, catatan lama bisa diperbarui. Tanpa tanggal, pembaca sulit tahu apakah audit lama masih relevan.
Langkah berikutnya
Setelah catatan audit selesai, masukkan red flag kontrak dan admin ke tabel risiko di Laboratorium Hasil Nyata DeFi. Jika hasil bersih hanya sedikit positif sementara audit tidak cocok dengan kontrak aktif, keputusan paling konservatif adalah menunda.
Latihan mencocokkan audit dengan kontrak aktif
Mulailah dari alamat kontrak yang benar-benar akan menerima dana. Salin alamat dari dokumentasi resmi, lalu buka explorer pada chain yang tepat. Catat apakah source code terverifikasi, nama kontrak, compiler, proxy, implementation, dan waktu deployment. Jika UI menampilkan beberapa alamat—router, factory, pool, position manager, reward contract—buat daftar terpisah. Audit satu kontrak tidak otomatis mencakup semua kontrak yang disentuh transaksi.
Baca halaman scope pada laporan audit. Cocokkan nama repository, commit, branch, file, dan tanggal dengan kode yang terverifikasi. Jika laporan hanya menyebut versi lama, jangan memperluas cakupan sendiri. Untuk proxy, periksa implementation aktif dan hak upgrade. Jika implementation berubah setelah audit, skor cakupan perlu naik sampai versi baru diperiksa. Logo auditor di halaman pemasaran bukan pengganti dokumen scope.
Kelompokkan temuan berdasarkan dampak dan status. Temuan critical atau high yang ditandai fixed perlu bukti perubahan kode; temuan acknowledged berarti risiko diterima, bukan dihapus. Temuan medium dan low dapat saling berinteraksi dengan admin, oracle, atau kondisi pasar. Catat juga limitation: audit mungkin tidak menguji economic design, frontend, bridge, token reward, atau integrasi pihak ketiga.
Periksa hak istimewa. Cari owner, admin, upgrader, pauser, emergency role, fee setter, oracle setter, dan kemampuan memindahkan aset. Tuliskan siapa yang memegang peran, apakah multisig, berapa threshold, apakah ada timelock, dan bagaimana perubahan diumumkan. Jika peran tidak dapat diidentifikasi, jangan memberi skor rendah hanya karena kontrak pernah diaudit.
Lakukan pembacaan transaksi kecil. Simulasikan approve, deposit, claim, dan withdraw bila memungkinkan. Periksa kontrak mana yang dipanggil, allowance yang diminta, event yang muncul, dan aset yang kembali. Batasi allowance jika UI meminta jumlah tak terbatas tanpa kebutuhan jelas. Pengujian kecil tidak membuktikan kontrak aman, tetapi dapat menemukan perbedaan antara dokumentasi, UI, dan jalur transaksi nyata.
Akhiri dengan keputusan berbasis bukti: cocok, sebagian cocok, atau tidak dapat diverifikasi. “Cocok” berarti alamat, versi, scope, dan peran admin sesuai. “Sebagian cocok” berarti beberapa komponen belum tercakup dan memerlukan ukuran lebih kecil atau bukti tambahan. “Tidak dapat diverifikasi” berarti jangan menganggap audit sebagai pengurang risiko. Simpan tautan dan tanggal agar pemeriksaan dapat diulang ketika kontrak diperbarui.
Sumber utama
- Uniswap v3 Core GitHub repository, diakses 2026-08-09.
- Uniswap v3 Core ABDK audit PDF, diakses 2026-08-09.
- PancakeSwap Developer: v3 Addresses, diakses 2026-08-09.
- PancakeSwap Developer: Github, diakses 2026-08-09.
- OpenZeppelin Contracts: Access Control, diakses 2026-08-10.
- Chainlink Docs: Data Feeds, diakses 2026-08-10.