> For the complete documentation index, see [llms.txt](https://docs.liquidapps.io/liquidapps-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.liquidapps.io/liquidapps-documentation/dapp-service-providers/dsps/more-on-dsps-dapp-service-providers.md).

# Architecture Overview

DAPP Service nodes provide the API endpoint for users to request services.  So for example, in the case of a LiquidHarmony oracle request, the developer would direct that transaction to the DSP API's endpoint, and not a normal nodeos RPC endpoint.

A DSP must run:

* [nodeos instance](https://github.com/eosio/eos) (eosio blockchain node)
* [IPFS node](https://ipfs.io/) (file storage for vRAM and LiquidStorage)
* PostgreSQL database to monitor service requests
* Public API Endpoint to interact with services

A DSP may also optionally run

* [dfuse API node](https://www.dfuse.io/) provides dfuse's push guarantee and uses dfuse's web socket versus demux
* go-ethereum RPC node for LiquidLink's EVM signing service

{% hint style="info" %}
If you prefer Kubernetes, checkout our k8s repo<https://github.com/liquidapps-io/dapp-dsp-k8s>
{% endhint %}
