# Basic Integration

Basic integration involves connecting your contract to the Micapass protocol on-chain trough inheriting `MicapassBasicClient` smart contract, which responsible for Micapass setup and user verifications, including modifiers etc

#### **Basic Integration steps overview**

1. **Import and inheritance (**[**step 1**](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-1.-import-and-inheritance)**)**
   1. Add the `MicapassBasicClient.sol` or `MicapassBasicClientInitializable.sol` smart contracts to your codebase ([step 1.1](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-1.1))
   2. Import and inherit from `MicapassBasicClient.sol` or `MicapassBasicClientInitializable.sol` your smart contract ([step 1.2](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-1.2))
2. **Initialization (**[**step 2**](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-2.-initialization)**)**

   Pass the actual address of [Micapass](broken://pages/h9DmccquAOVLVXX3r3xm) to your smart contract during the initialization method or constructor
3. **Prepare methods and requirements (**[**step 3**](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-3.-prepare-methods-and-requirements)**)**
   1. Define your functions that are going to be protected by Micapass ([step 3.1](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-3.1))
   2. Define which user should be checked for Micapass proofs (sender, receiver, etc) ([step 3.2](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-3.2))
4. **Protection implementation (**[**step 4**](https://micapass.gitbook.io/micapass/sc-integration/pages/yulKMIkBqAv0MMEpKXoY#step-4.-protection-implementation)**)**

   Add `micapassProtected` modifier to each method which should be protected with Micapass by passing the address and claim topic that need to be checked


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://micapass.gitbook.io/micapass/sc-integration/basic-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
