# Review Kuai Architecture
## Synopsis
```mermaid
sequenceDiagram
box Browser
actor Frontend
participant Metamask
end
box Server
participant Controller
participant RecordModel as RecordModel(address)
end
Metamask->>Frontend: address
Frontend->>Controller: set(address, data)
activate Controller
RecordModel->>CKB: get chainData
activate CKB
CKB-->>RecordModel: chainData
deactivate CKB
Controller->>RecordModel: update(data)
activate RecordModel
RecordModel-->>Controller: txSkel
deactivate RecordModel
Controller->>Frontend: tx
deactivate Controller
Frontend->>Metamask: sign(tx)
activate Metamask
Metamask-->>Frontend: signature
deactivate Metamask
Frontend->>CKB: send(tx)
```
## Collect
- [Merkle-like Solution](https://github.com/ckb-js/kuai/issues/6#issuecomment-1281846743)