# Architecture

Glacis is a pure on-chain protocol, that means that all its components are Smart Contracts, these components can be aggregated in two groups:

* **Infrastructure Components**: Maintained by Glacis and deployed on each supported chain.
  * Router
  * Adapters
  * Mediators
* **Client Components**: Maintained by Glacis,accessible as package and deployed by user through the use of inheritance on his own contracts.
  * Clients

> All components have different behavior depending if they act as a source chain component or a destination chain component.

## Component diagram

This diagram represents the complete flow between components in Glacis Architecture.

![](https://1192098899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcCWTn4UpXpsFVDR7MJXv%2Fuploads%2Fgit-blob-9bde4ba40bd7191675eb8bc3f06bd04cd447597b%2FGlacis%20Full%20Component%20Diagram.png?alt=media)
