> For the complete documentation index, see [llms.txt](https://yuga.gitbook.io/zkyuga-whitepaper/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yuga.gitbook.io/zkyuga-whitepaper/developer-guide/stablecoin/getcontractinstance.md).

# getContractInstance

The `getContractInstance` method is an essential function within Ethereum contract interactions. It creates an instance of a smart contract that is already deployed on the Ethereum network. This instance is necessary for interacting with the contract's methods and properties in a programmatic way. The method is part of a larger class or module that handles Ethereum contract interactions, and it leverages the `ethers.js` library.

## Method Signature

```javascript
getContractInstance() {
    let contract = new ethers.Contract(this.address, abi, this.provider);
    return contract;
}
```

## Parameters

* `this.address`: The Ethereum address of the deployed contract. This address is used to identify the specific contract on the blockchain.
* `abi`: The Application Binary Interface (ABI) of the contract. The ABI is a JSON array that defines how to interact with the contract, including its methods and structures.
* `this.provider`: An instance of an Ethereum provider. This could be an Infura endpoint, a MetaMask instance, or any other compatible Ethereum provider. It is used to connect to the Ethereum network.

## Return Value

* Returns an instance of the contract connected to the specified address and ABI, through the provided Ethereum network connection.

## Usage Example

```javascript
// Assuming a setup with necessary imports, address, ABI, and provider
let myContractInstance = getContractInstance();

// Now myContractInstance can be used to interact with the contract
```
