# Meta-Hook Router

Meta-Hook Router adalah multiplexer Token-2022 Transfer Hook. Ini menyelesaikan batasan mendasar: Token-2022 hanya mengizinkan **satu** transfer hook per mint. Meta-Hook Router berada di slot tunggal itu dan meneruskan hingga 8 sub-hook — baik program asli Solana maupun kontrak Solidity di Rome EVM.

## Masalah

Token-2022 Transfer Hooks sangat kuat — mereka aktif pada setiap `transfer_checked` panggilan, memungkinkan kepatuhan, royalti, analitik, dan lainnya. Namun setiap mint hanya mendapat tepat satu program hook. Jika penerbit stablecoin membutuhkan pemeriksaan KYC DAN penyaringan sanksi DAN penegakan royalti, mereka tidak bisa menggunakan tiga program hook terpisah.

## Solusi

Meta-Hook Router mendaftar sebagai transfer hook tunggal milik mint, lalu meneruskan ke beberapa sub-hook berdasarkan urutan prioritas:

```
Transfer SPL (Jupiter, Raydium, wallet)
    ↓
transfer_checked Token-2022
    ↓
Meta-Hook Router (slot hook tunggal)
    ├── Sub-Hook 1: Kepatuhan KYC (Solidity di Rome EVM)
    ├── Sub-Hook 2: Pemeriksaan Sanksi (Solidity di Rome EVM)
    ├── Sub-Hook 3: Analitik Transfer (program asli Solana)
    └── Sub-Hook 4: Penegakan Royalti (Solidity di Rome EVM)
    ↓
Kegagalan pertama menghentikan semuanya — transfer dibatalkan
```

## Properti Utama

**Penerusan Multi-Hook** — Hingga 8 sub-hook per mint, diteruskan secara berurutan sesuai urutan prioritas.

**Sub-Hook Native + EVM** — Menggabungkan program asli Solana dan kontrak Solidity dalam satu rantai penerusan.

**Kegagalan-pertama-menghentikan-semua** — Jika salah satu sub-hook menolak transfer, seluruh transfer dibatalkan. Ini memastikan kepatuhan tidak dapat dilewati.

**Agregasi ExtraAccountMetaList** — Router menggabungkan metadata akun tambahan dari semua sub-hook sehingga Token-2022 dapat meneruskan akun yang tepat ke masing-masing.

**Instruksi Admin** — `registerSubHook`, `removeSubHook`, `reorderSubHooks`, `pauseSubHook` — manajemen siklus hidup penuh.

**Hanya Mode Single-State** — Transfer hook dieksekusi di dalam transaksi Solana. OP-Geth tidak dapat dijangkau dari konteks itu, jadi semua sub-hook EVM harus menggunakan mode single-state (proxy).

## Arsitektur

### Kepatuhan Dua Lapisan

Meta-Hook Router memungkinkan kepatuhan di dua lapisan:

**Lapisan SPL (Solana)** — Router aktif pada setiap `transfer_checked` panggilan. Saat seseorang menukar token yang patuh di Jupiter, mengirimnya dari Phantom, atau berinteraksi dengan protokol DeFi Solana apa pun, hook kepatuhan akan aktif.

**Lapisan ERC-20 (EVM)** — Di dalam Rome EVM, kontrak wrapper ERC-20 dapat menerapkan pembatasan transfernya sendiri (kompatibel ERC-3643). Semua transfer internal EVM diperiksa kepatuhannya.

**Lapisan Bridge** — Hook aktif saat token masuk atau keluar dari Rome EVM. Vault bridge dimasukkan ke whitelist dalam kontrak kepatuhan untuk mengizinkan deposit/penarikan.

**Registry Bersama** — Kedua lapisan membaca dari `KYCRegistry.sol` kontrak yang sama. Satu persetujuan KYC mencakup Solana dan EVM.

### Anggaran Komputasi

| Jenis Hook                          | Biaya CU   |
| ----------------------------------- | ---------- |
| Overhead transfer dasar             | 100.000 CU |
| Per sub-hook native                 | 50.000 CU  |
| Per sub-hook EVM                    | 200.000 CU |
| Direkomendasikan untuk transfer EVM | 800.000 CU |

## Solusi Sub-Hook

### P0 — Rilis Pertama

**S1: Hook Kepatuhan KYC/Sanksi** — Kontrak kepatuhan Solidity sebagai handler Transfer Hook. Namespace per mint, whitelist vault protokol (Jupiter/Kamino/Orca + vault bridge Rome), pengaitan alamat untuk KYC lintas-chain.

**S1b: Wrapper Kepatuhan ERC-20** — Pendamping S1 untuk sisi EVM. Pembatasan transfer kompatibel ERC-3643 pada representasi ERC-20 di dalam Rome EVM.

**S2: Multiplexer Multi-Hook (non-EVM)** — Router itu sendiri, bernilai bagi penerbit Token-2022 mana pun bahkan tanpa EVM. Menyelesaikan masalah satu-hook-per-mint untuk seluruh ekosistem.

**S3: Kepatuhan Stablecoin GENIUS Act** — Hook regulasi untuk stablecoin: sanksi, yurisdiksi, pelaporan.

### P1 — Rilis Berikutnya

**S4: Batas Transfer & Kontrol Kecepatan** — Maksimum per transfer, batas kecepatan harian/mingguan, periode cooldown.

**S5: Aturan Transfer Berdasarkan Yurisdiksi** — Daftar blokir negara, pemeriksaan investor terakreditasi, periode kepemilikan per yurisdiksi.

**S6: Penegakan Royalti** — Royalti kreator yang tidak dapat dilewati pada setiap transfer SPL.

**S7: Analitik Transfer On-Chain** — Hook read-only yang memancarkan event. Wedge adopsi paket gratis.

### P2 — Ekspansi Pasar

**S8: L2 Berizin melalui Bridge Gate** — Kepatuhan pada batas deposit/penarikan bridge.

**S9: Routing Biaya Dinamis** — Ekstraksi biaya yang dapat diprogram per transfer.

**S10: Poin Loyalitas/Reward** — Pemberian poin yang dipicu transfer.

**S11: Penegakan Vesting/Lockup** — Mencegah transfer yang melanggar jadwal vesting.

## Use Case: Kepatuhan RWA End-to-End

```
Penerbit (mis., Securitize) menerapkan:
  1. ComplianceHook.sol di Rome EVM (registry KYC, sanksi, aturan yurisdiksi)
  2. Mendaftarkannya sebagai sub-hook EVM di Meta-Hook Router
  3. Mencetak token RWA sebagai Token-2022 dengan transfer_hook = Meta-Hook Router

Pengguna Solana menukar token RWA di Jupiter:
  Jupiter memanggil transfer_checked
    → Token-2022 memanggil Meta-Hook Router
    → Router meneruskan ke Rome EVM via CPI
    → ComplianceHook memeriksa KYC pengirim/penerima + sanksi
    → Lolos: transfer selesai
    → Gagal: seluruh transfer dibatalkan

Pengguna EVM menjembatani token RWA ke dalam Rome EVM:
  Transfer SPL ke vault bridge
    → Hook aktif (pemeriksaan kepatuhan saat masuk)
    → ERC-20 dicetak di dalam EVM
    → ERC-20 memiliki pembatasan transfernya sendiri (ERC-3643)
    → Semua transfer EVM diperiksa kepatuhannya di tingkat ERC-20
```

## Keterbatasan yang Diketahui

1. **Hanya mode state tunggal** — OP-Geth tidak dapat dijangkau dari dalam transaksi Solana
2. **hanya transfer\_checked** — Hook hanya aktif pada `transfer_checked`, bukan pada `transfer`biasa. Jembatan Rome HARUS menggunakan `transfer_checked`
3. **Mint/burn tidak di-hook** — Hook Token-2022 tidak aktif pada operasi mint/burn. Dikontrol melalui mint authority
4. **Maksimal 8 sub-hook** — Batas per mint
5. **Pelarian pembungkusan token** — Pengguna dapat membungkus token untuk menghindari hook. Dimitigasi dengan blacklist wrapper + ekstensi PermanentDelegate
6. **Model alamat EVM** — Hook melihat alamat EVM turunan Rome, bukan alamat Ethereum. SDK menyediakan utilitas derivasi

## Status

**Sedang Berlangsung** — Inti router dan implementasi hook KYC (S1) aktif. 9 paket, 13 batasan keras, 24 kasus tepi terdokumentasi.

## Terkait

* [Transfer Hooks](/id/konsep-inti/transfer-hooks.md) — cara kerja Token-2022 Transfer Hooks di Rome
* [Interoperabilitas Token](/id/konsep-inti/token-interop.md) — model token ERC-20 ↔ SPL
* [Penerbit Stablecoin](/id/kasus-penggunaan/stablecoin-issuers.md) — kepatuhan multi-hook untuk stablecoin


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rome.builders/id/produk/meta-hook-router.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
