> For the complete documentation index, see [llms.txt](https://docs.geode.fi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.geode.fi/key-concepts/portal.md).

# Portal

## The Staking Gateway

**Geode Finance utilizes a Modular Architecture, making things&#x20;**<mark style="color:purple;">**safer**</mark>**&#x20;for stakers, and&#x20;**<mark style="color:purple;">**easier**</mark>**&#x20;for Pool Providers**.

<figure><img src="/files/3NbLatN4KIqevPw4oD8T" alt=""><figcaption></figcaption></figure>

#### The most crucial component is The Portal.

* Creation and maintenance of the configurable staking pools.
* Minting new tokens.
* Securing the Ether until it is staked in a validator.
* Onboarding new Operators to the marketplace.
* Management and regulation of the Operator marketplace.
* Allowing new functionalities to be implemented with ease.
* Securing it's own codebase from Governance.
* Various tasks of Oracle.

#### To achieve these tasks and improve the staking user experience for everyone:

1. We need to make sure every Staking Pool and Node Operator is isolated in a well organized storage space. We can also add new functionalities with ease:

{% content-ref url="/pages/f6aPTl3GvoGb7XFJpfTl" %}
[Isolated Storage](/key-concepts/portal/isolated-storage.md)
{% endcontent-ref %}

2. We need to define the different parties that will use this storage space, in a secure and generalized way. Thereby preventing any third party access:

{% content-ref url="/pages/v9gOWBJ7h1IFN3aewcPa" %}
[Dual Governance](/key-concepts/portal/dual-governance.md)
{% endcontent-ref %}

3. We need to define the ownership of the funds explicitly, in a way that Portal doesn't hold any responsibility after validator creation:

{% content-ref url="/pages/fajxkHebpiVLDHZHMN44" %}
[Withdrawal Contracts](/key-concepts/withdrawal-contracts.md)
{% endcontent-ref %}

4. We need to create an upgradability pattern **for both Portal and Withdrawal Contracts**, so we can prevent Governance from changing these mechanisms inconveniently or maliciously.

{% content-ref url="/pages/L3X2sxZ3SIUb60lPc3zN" %}
[Limited Upgradability](/key-concepts/portal/limited-upgradability.md)
{% endcontent-ref %}

5. Now, we can implement The Staking Library. It should manage and provide a wide variety of features for the staking derivatives:

{% content-ref url="/pages/l3JsCfbAgizvErNll8Jz" %}
[Permissionless Configurable Staking Pools](/key-concepts/permissionless-configurable-staking-pools.md)
{% endcontent-ref %}

6. We need to have a marketplace for Pools and Operators to communicate easily:

{% content-ref url="/pages/8al101kYMumrrAiepfDu" %}
[Operator Marketplace](/operator-marketplace.md)
{% endcontent-ref %}

6. We need to have a generalized approach on price updates, that supports infinitely many staking pools:

{% content-ref url="/pages/a6KgOb1EpyxvB8IaMCjD" %}
[Telescope Ether](/key-concepts/oracles/telescope-ether.md)
{% endcontent-ref %}
