# set\_admin

Changing of the contract administrator is done in 2 steps:

1. Current administrator should transfer his rights to a new administrator.
2. A new administrator must accept his new role. If he didn't accept a new role, the previous administrator continues to be an administrator of this contract.

This entrypoint describes the first step of changing the contract administrator. The second step is described [here](https://docs.quipuswap.com/smart-contracts/dex-2.0/dexcore-contract/entrypoints-overview/admin-entrypoints/confirm_admin).

### Call parameters

<table><thead><tr><th width="150">Field</th><th width="183.33333333333331">Type</th><th>Description</th></tr></thead><tbody><tr><td>admin</td><td>address</td><td>A new administrator of the contract</td></tr></tbody></table>

### Usage

{% tabs %}
{% tab title="🌮 Taquito" %}

```javascript
const dexCoreAddress = "KT1...";
const admin = "tz1...";
const dexCore = await tezos.contract.at(dexCoreAddress);
const operation = await dexCore.methods.set_admin(admin).send();

await operation.confirmation();
```

{% endtab %}
{% endtabs %}

### Errors

* `400` - `sender` of the transaction is not current administrator.
* `412` - non payable entrypoint (can't accept TEZ tokens during call of an entrypoint).
