# Contract Functions

{% hint style="info" %}
Some contract functions **can not get carried out by the SDK** and have to get triggered on the contract itself.

Every contract function listed below can **only get called** **by the admin** of the contract (except claim ownership).
{% endhint %}

### Unsupported Contract Functions

<table><thead><tr><th width="241">JoinPart functions</th><th width="205">Ownership functions</th><th width="232">Module functions</th></tr></thead><tbody><tr><td><code>addJoinPartAgent</code></td><td><code>transferOwnership</code></td><td><code>setWithdrawModule</code></td></tr><tr><td><code>addJoinPartAgents</code></td><td><code>claimOwnership</code></td><td><code>lockModules</code></td></tr><tr><td><code>removeJoinPartAgent</code></td><td></td><td><code>addJoinListener</code></td></tr><tr><td></td><td></td><td><code>removeJoinListener</code></td></tr><tr><td></td><td></td><td><code>addPartListener</code></td></tr><tr><td></td><td></td><td><code>removePartListener</code></td></tr><tr><td><a href="roles-and-responsibilities/joinpart-agents">read more</a></td><td><a href="roles-and-responsibilities/admin">read more</a></td><td><a href="custom-modules">read more</a></td></tr></tbody></table>

#### Tutorial on how you can call contract functions:

1. Open a block explorer of the chain your contract is deployed on:

   Polygon: <https://polygonscan.com/>\
   Gnosis: <https://gnosisscan.io/>\
   Ethereum: <https://etherscan.io/>
2. Enter your data union contract address
3. Open the tab Contract -> Write Contract
4. Connect your wallet (Has to be the data union admin wallet)\
   You can import the private key of your admin address to MetaMask and connect it to the explorer.
5. Execute your desired contract function

{% embed url="<https://www.loom.com/share/61ae4e1879544be78696601a30dc32cc>" %}
