> For the complete documentation index, see [llms.txt](https://docs.midpointapi.com/midpoint-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.midpointapi.com/midpoint-documentation/core-concepts/midpoints/midpoint-id.md).

# Midpoint ID

Every midpoint is assigned a globally-unique and immutable identifier on creation - known as a Midpoint ID. Midpoint IDs (commonly writen as MIDs) are used across the Midpoint system to identify and refer to midpoints.&#x20;

Midpoint IDs appear in the following places:

* In the GraphQL API, the MID is used to identify which midpoint is to be queried or modified.&#x20;
* On the Midpoint dashboard they are visible from the main screen and the page for each midpoint.
* When using the CLI, the MID is found in the `midpoint.conf` file. Any midpoint commands that make remote changes will use `midpoint.conf` as their MID.
* In contracts that you deploy.&#x20;
  * Midpoint IDs are used on-chain when making a call to a midpoint to identify the target midpoint.
    * ```solidity
      // Make a call to the midpoint with MID of midpointID
      ```

      ```solidity
      IMidpoint(startpointAddress).callMidpoint(midpointID, args);
      ```
  * We strongly recommend checking the MID of incoming requests. See [Transact to EVM Function Security](/midpoint-documentation/tasks/transact-to-evm-function/security.md) for more details.
    * ```solidity
      // Verify that data is being returned for your midpoint
      ```

      ```solidity
      require(midpointID == _midpointId, "Invalid Midpoint ID");
      ```

During execution of a request, the Midpoint ID can be extracted from any of the source types using the keyword `Midpoint_ID`.
