# Step-by-step Integration

### Open your Project → go to the **ioID** tab

<figure><img src="https://4046782323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0m2ip6ggBs3GSiSljRjr%2Fuploads%2Fw4syBEuOK5GBB4Zo36UV%2FScreenshot%202025-09-02%20at%202.53.07%E2%80%AFPM.png?alt=media&#x26;token=07578729-80c7-43e4-808e-f7216e8e6bbc" alt=""><figcaption></figcaption></figure>

Make sure your DePINscan project already exists (see [Project Integration](https://docs.depinscan.io/developer/project-integration)).

From the DePINscan dashboard, select your project and switch to the **ioID** tab.

On this page, choose one of two integration flows:

***

### Option A — Autopilot (IoTeX-managed)

<figure><img src="https://4046782323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0m2ip6ggBs3GSiSljRjr%2Fuploads%2FjmsiW8Mo25RbtG7Qvg59%2FScreenshot%202025-09-02%20at%202.54.36%E2%80%AFPM.png?alt=media&#x26;token=dab471c9-c4a4-4cde-a9e8-e5abf4be71a8" alt=""><figcaption></figcaption></figure>

Best when you want a zero-ops setup with no gas management on your side.

> **Note:** To unlock advanced ioID features (e.g., device-level permissions, automation, or token-bound account behavior), you’ll need to **transfer each device NFT to the device’s actual owner** once Autopilot completes.

***

### Option B — Manual (Builder-managed)

Choose this if you want to control the ioID and user binding process manually.

#### 1. Create or Import your Device NFT contract

You have two ways to set the contract used to represent devices:

* **Create from Template:**\
  Use the built-in “Use Template” flow to deploy a standard Device NFT on IoTeX mainnet.

  Please refer to this [template reference contract](https://github.com/iotexproject/ioID-v2-contracts/blob/master/src/deviceNFT/DeviceNFTTemplate.sol) for more details.&#x20;
*

```
<figure><img src="https://4046782323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0m2ip6ggBs3GSiSljRjr%2Fuploads%2FAGDDbU0jx5k7Q5BcgFQi%2FScreenshot%202025-09-02%20at%204.01.15%E2%80%AFPM.png?alt=media&#x26;token=f6131636-0a51-48e5-a863-2c9b699af97c" alt=""><figcaption></figcaption></figure>
```

* **Import Existing Contract:**\
  If you already issue device NFTs to owners, import your contract by address.

{% hint style="info" %}
**NOTE**: This option is currently supported on IoTeX, Ethereum and Polygon
{% endhint %}

<figure><img src="https://4046782323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0m2ip6ggBs3GSiSljRjr%2Fuploads%2F1QY2SelEJMxHwqwLNLPv%2FScreenshot%202025-09-02%20at%204.01.50%E2%80%AFPM.png?alt=media&#x26;token=3f400b74-161e-4d96-9682-1c2b400a5719" alt=""><figcaption></figcaption></figure>

***

#### 2. Send Device Ownership via API

<figure><img src="https://4046782323-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0m2ip6ggBs3GSiSljRjr%2Fuploads%2FJM5eZlPqJBHZUaeaYPmY%2F20250902-174844.png?alt=media&#x26;token=196808c4-f24b-4173-a414-0473f0fa9f74" alt=""><figcaption></figcaption></figure>

Once your Device NFT contract is set:

* Use the [ioID API](https://docs.depinscan.io/developer/ioid-integration/example-call) to **submit device ownership metadata** (mapping each device to its owner).

{% hint style="info" %}
Please go to the [Example Call](https://docs.depinscan.io/developer/map-integration/example-call) page for more details
{% endhint %}
