# Service Execution

Once a service has been chosen, it is executed:

<figure><img src="https://2723151789-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FuwHLLW3vGJH53YBDKKAe%2Fuploads%2FJxYBxIUajc0K9KtJLnuE%2Fimage.png?alt=media&#x26;token=7e20fbe2-c8a4-4fa4-b12c-679151e3ac82" alt=""><figcaption><p>Figure 7. Service execution</p></figcaption></figure>

1. The DApp displays the service in its interface.
2. The DApp opens a payment channel with the Multi-Party Escrow contract and ensures that there are sufficient funds to pay for the service.
3. It then invokes the service through the daemon.
4. The DApp displays the response returned by the service.&#x20;

The DApp in its current version will use MetaMask to integrate with the Binance blockchain, which means that all transactions will be done via MetaMask.&#x20;

Querying the Registry smart contract would be costly, so the DApp currently relies on a centralized, serverless component to index and search the Registry. This is merely a performance optimization, as the Registry data is still stored on the Binance blockchain. A future version of the DApp will remove this centralized component but will retain Osiris centralized curation and display only curated services.
