> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/id/rome-zk-evm/deposits-and-withdrawals.md).

# Deposit dan penarikan

Pindahkan SOL ke dalam chain Rome ZK EVM dan tarik koin native-nya ke dompet Solana.

Dalam penyiapan devnet v0.3.0, koin native chain didukung oleh wrapped SOL di vault Solana-nya. Deposit mengunci wrapped SOL dan mengkredit alamat EVM yang disebutkan. Penarikan membakar koin itu di chain dan membayar wrapped SOL dari vault kepada penerima Solana. Satu gwei di chain setara dengan satu lamport wrapped SOL.

Panduan [penarikan lengkap](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/WITHDRAWALS.md) memiliki nama pemanggilan, pemeriksaan, dan penolakan yang tepat. Panduan [panduan devnet](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/RUN-ON-DEVNET.md) mencakup pengaturan deposit dan perintah depositor.

## Setor SOL

Operator terlebih dahulu memerlukan root yang terbukti, vault wrapped SOL, konfigurasi exit aktif yang menyebut bridge, dan antrian deposit. Tanpa ini, chain baru tidak dapat menerima deposit. Genesis chain dimulai tanpa saldo kecuali operatornya telah mendeklarasikan dan mendukung satu saldo.

Seorang depositor menggunakan `./rollup deposit` dengan jumlah dalam lamport, penerima EVM, penandatangan Solana miliknya sendiri, dan `--wrap-sol`. Opsi itu membungkus SOL dalam transaksi Solana yang sama dengan deposit. Perintah ini hanya uji coba sampai `--confirm` ditambahkan. Minimum default adalah 1.000.000 lamport, atau 0,001 SOL. Biaya antrean default adalah 100.000 lamport, atau 0,0001 SOL, dibayarkan kepada otoritas chain. Depositor juga membayar biaya transaksi dan sewa untuk catatan deposit.

Bridge mengunci wrapped SOL di vault chain tersebut dan menambahkan catatan bernomor. Sequencer membaca deposit Solana yang telah final dan mengkreditkannya berurutan di blok EVM baru. Saldo muncul pada RPC chain saat bloknya terkunci. Kredit tersebut final hanya ketika batch yang memuatnya telah dibuktikan dan root-nya mendarat di Solana.

Batas waktu inklusi antrean default adalah 12 jam, dengan maksimal 256 deposit per batch dan 4 per blok. Inbox memeriksa batas waktu saat sebuah batch difinalisasi. Aturan itu tidak memaksa operator untuk menghasilkan atau membuktikan batch. Operator masih dapat menunda deposit dengan menghentikan chain.

Sewa catatan deposit dapat kembali ke depositor setelah root batch pengkreditan final dan otoritas batch mengirim `CloseBatch`Lalu siapa pun dapat mengirim `CloseDeposit`Deposit tetap berada di vault sebagai backing. Runner v0.3.0 tidak mengirim `CloseBatch`, jadi catatan tidak ditutup otomatis dan sewanya tetap terkunci.

## Tarik ke Solana

Penarikan hanya untuk koin native chain. Kirim panggilan payable `initiateExit(bytes32 solRecipient)` ke portal exit di `0x4200000000000000000000000000000000000016`. Nilainya adalah jumlah yang akan ditarik. Penerimanya adalah **alamat dompet Solana yang dienkode sebagai 32 byte**, bukan alamat akun tokennya. Periksa alamat itu sebelum mengirim. Koin dibakar segera setelah transaksi mendarat, dan tidak ada apa pun di portal yang dapat mengembalikannya. Simpan hash pesan dari `ExitInitiated` peristiwa.

Tunggu root yang terbukti yang mencakup transaksi itu. Exit prover menggunakan node verifier untuk membuat bukti penyimpanan atas pesan portal terhadap root final tersebut. Penyelesaian Solana memeriksa bukti, konfigurasi exit aktif, portal, dan batas penarikan. Exit prover kemudian mengirim sebuah release. Bridge mengambil jumlah dari vault chain dan membayar akun token terkait wrapped SOL milik penerima. Ia dapat membuat akun token itu saat diperlukan.

Pembayaran mengikuti bukti tanpa periode tunggu terpisah. Transaksi release membaca penerima dari catatan yang telah dibuktikan, sehingga operator atau pengirim lain tidak dapat mengalihkannya. Program mengonsumsi catatan dan membayar secara atomik, mencegah pembayaran kedua untuk penarikan yang sama.

Sebagian besar waktu tunggu adalah waktu untuk menutup, memposting, dan membuktikan batch. Exit prover melakukan polling setiap dua detik dan membayar segera setelah root final tersedia. Dalam run devnet Rome, penarikan yang dimulai di blok 192 dibayarkan di Solana sekitar empat menit kemudian. Ini adalah satu pengukuran, bukan waktu penarikan yang tetap.

Batas exit membatasi seberapa banyak yang dapat keluar dalam setiap jendela tantangan 172.800 slot. Exit yang tidak muat di jendela saat ini menunggu jendela berikutnya. Satu exit yang lebih besar daripada seluruh batas memerlukan otoritas chain untuk menaikkan batas. Perubahan konfigurasi exit memerlukan setidaknya satu jendela tantangan untuk menjadi aktif.

Pembayaran masih dapat menunggu setelah bukti jika penerima tidak memiliki akun token wrapped SOL dan jumlahnya berada di bawah ambang default 0,01 SOL. Exit prover membiarkannya untuk rilis manual alih-alih membayar untuk membuat akun itu. Pengguna atau operator dapat menggunakan `./rollup release-exit --message-hash` dengan hash pesan dan `--confirm`Siapa pun dapat merilis exit yang valid.

## Yang dijalankan operator

Buat dan danai vault wrapped SOL setelah pendaftaran. Untuk saldo genesis yang didukung, kunci jumlah yang sama sebelum meminta kunci verifikasi. Setelah root yang terbukti pertama, atur portal exit, bridge, dan batas dengan `./rollup exit-config propose`Tunggu setidaknya satu jendela tantangan, lalu jalankan `./rollup exit-config activate --confirm`Otoritas chain membuka antrian deposit dengan `./rollup deposit-queue init --confirm`.

Setel `EXITS=on`, lalu jalankan `./rollup init` dan `./rollup up` untuk memulai exit prover. Ia memerlukan **payer yang didanai sendiri**, terpisah dari payer batcher. Setiap bukti exit membebankan kepada payernya biaya Solana dan sewa catatan. Runner menolak exit payer yang hilang atau dibagikan. Pembayaran otomatis aktif secara default; exit prover juga mencoba lagi catatan yang telah dibuktikan yang tetap terbuka setelah restart.

Jalankan `./rollup check`. Ini memeriksa backing vault, batas deposit dan backlog, bridge aktif dan konfigurasi exit, exit prover, exit yang macet, pemindaian log, dan saldo payer-nya. Batas minimum exit-payer default adalah 0,1 SOL. Gunakan `./rollup vault show` dan `./rollup deposit-queue show` untuk memeriksa dana dan status antrean. Panduan lengkap di atas memberi perintah untuk mendanai vault dan mengubah pengaturan antrean.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/id/rome-zk-evm/deposits-and-withdrawals.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
