Skip to content

Deploy and Run an iApp

It's time to run your iApp! After building and testing, you'll need to deploy it to a supported network and then execute it.

Deploy your iApp

After your tests pass and the package is built, you can deploy your iApp to a supported network. During deployment, you'll enter your DockerHub credentials, specify your app version, and push both standard and TEE-compatible images:

Terminal
$ iapp deploy --chain arbitrum-mainnet
  ____             _             
 |  _ \  ___ _ __ | | ___  _   _ 
 | | | |/ _ \ '_ \| |/ _ \| | | |
 | |_| |  __/ |_) | | (_) | |_| |
 |____/ \___| .__/|_|\___/ \__, |
            |_|            |___/ 

Now that your iApp has been deployed on the iExec protocol, you can navigate to the cache folder to see your deployments saved. A file named deployments.json in the folder corresponding to your target network will be created containing each deployment made on this network. These files will help you easily track each deployment per network.

Here is an example:

json
[
  {
    "sconifiedImage": "robiniexec/iapp:0.0.1-tee-scone-5.9.1-v16-5aea8b4aa71d",
    "appContractAddress": "0x9665136c599ec361C8eE627eC4F35A23fBa94897",
    "owner": "0xbabE8270aC9857Af3aaC06877888F1939FbeC578",
    "date": "2025-08-12T13:16:18.252Z"
  },
  ...
]

Run your iApp

There are multiple ways to execute an iApp on the iExec network. An iApp can be:

  • Self-sufficient - Basic execution without additional inputs
  • Data-dependent - Requires protected data, secrets, input files, or command-line arguments

The iApp Generator CLI provides a streamlined way to execute iApp, especially for developers who have built their own iApp.

Note: For installation instructions, see the iApp Generator Getting Started guide.

Terminal
$ iapp run 0x1f80DCebc2EAAff0Db7156413C43B7e88D189923 --chain arbitrum-mainnet
  _____                     _       
 | ____|_  _____  ___ _   _| |_ ___ 
 |  _| \ \/ / _ \/ __| | | | __/ _ \
 | |___ >  <  __/ (__| |_| | ||  __/
 |_____/_/\_\___|\___|\__,_|\__\___|
                                    

Now that you have run your iApp on the iExec protocol, you can navigate to the cache folder to see your runs saved. A file named runs.json in the folder corresponding to your target network will be created containing each run made on this network. These files will help you easily track each run per network. Use the iExec Explorer to retrieve more data about your tasks.

Here is an example:

json
[
  {
    "iAppAddress": "0x9665136c599ec361C8eE627eC4F35A23fBa94897",
    "dealid": "0x26d758de1be51697c33fa606cd0c5243082a6e675a4463b106d71fde2893280f",
    "taskid": "0x1a58dd6018b30b022eb35be53ad9374eb630925458d14643a1dfd9c686b964d8",
    "txHash": "0x6f14eac6933c609fb6d3e6b2bbd18c373c6dc99c7d7fd22036d5a20f847c5e42",
    "date": "2025-08-18T18:30:03.711Z"
  },
  ...
]

Next Steps