> 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/getallowance.md).

# getAllowance

The `getAllowance` function is a key feature in the StableCoin Contracts, designed to retrieve the amount of tokens that an owner has allowed a spender to use on their behalf. This function is vital for managing permissions in token operations, particularly in scenarios involving delegated token transfers or interactions with smart contracts.

## Method Signature

```typescript
async getAllowance(owner: string, spender: string): Promise<string>
```

## Parameters

* `owner: string`: The Ethereum address of the token owner. This can be a standard Ethereum address or an ENS name.
* `spender: string`: The Ethereum address of the spender who is authorized to use the tokens. This also can be a standard Ethereum address or an ENS name.

## Function Logic

1. **Resolve ENS Names**: Converts both `owner` and `spender` addresses from ENS names to their corresponding Ethereum addresses, if applicable.
2. **Get Contract Instance**: Creates an instance of the contract to interact with the blockchain.
3. **Query Allowance**: Calls the `allowance` method on the contract to get the amount of tokens the spender is allowed to use from the owner's account.
4. **Return Result**: The result, which is the allowance amount, is returned as a string.

## Example Usage

```typescript
const ownerAddress = "owner.eth";
const spenderAddress = "spender.eth";

stableCoinContract.getAllowance(ownerAddress, spenderAddress)
    .then(result => 
        // add your logic here 
    )
    .catch(error => 
        // add your logic here
    );
```

## Notes

* Understanding allowances is crucial for effectively managing token operations and permissions in decentralized applications.
* Proper resolution of ENS names is essential to ensure accurate query results.
