# Fulfilling auctions for non-transferable tokens

If a collection sold via auction is configured as non-transferable (i.e. "soul bound"), you will need to temporarily reenable transferability fulfill the auction. After completing the auction process, you can then revert back to the non-transferable state. To do this, just follow these steps:

1. Copy the contract address and head to the applicable blockchain explorer (e.g. Etherscan). The contract address can be found on the token management page.&#x20;

   <figure><img src="/files/i3wHn0gfFssN1DXFEugL" alt=""><figcaption></figcaption></figure>
2. On the blockchain explorer, select the "Contract" tab. To update the transferability of tokens, we'll be using the "Write as proxy" tab.
3. Prior to writing to the contract, you will first have to verify that the contract is a proxy. Do so by going to the "Contract" tab and selecting "code". Then select the dropdown arrow for more options, and hit "Is this a proxy?".&#x20;

   <figure><img src="/files/UFH6AlzTwcF3HcQMd1Xo" alt=""><figcaption></figcaption></figure>
4. On this page, select "Contract" tab. Then select “Write as proxy” and connect to web3 with the address that deployed the contract.&#x20;

   <figure><img src="/files/93Zgz3AbOlHdZOcgC095" alt=""><figcaption></figcaption></figure>
5. Go to field 14, "**removeGranularTokenManagers"** on the contract.\
   \
   Enter the following argument for the \_ids field: **\[0]**
6. Hit "write" to submit the transaction. Sign the transaction and wait for the transaction to complete. Doing so will make the collection transferable.

After the transaction has been confirmed, you will be able to fulfill the auction. This means auction winners can claim the tokens and you will be able to withdraw funds from escrow.

When the auction has been fulfilled, you can make the collection non-transferable again. Instructions below:

1. Head to the same contract page on the applicable blockchain explorer.
2. Select the "Contract" tab and then "Write as Proxy".&#x20;
3. Connect your wallet.
4. This time, go to field 25, "**setGranularTokenManagers"**&#x20;
5. Enter the following arguments:    \
   \
   \_ids: **\[0]**  \
   \
   For *\_tokenManagers*, you'll input the address of the NonTransferableTokenManager in brackets. You'll need to select the applicable address which can be found on this page [here](https://support.highlight.xyz/knowledge-base/highlight-protocol/official-addresses). \
   \
   As an example, if you're collection is on Base, you would enter:  **\[0x0266115EBa50E6EE69C067C0D6c5d542E9b40Bd5]**
6. Hit "write" to submit the transaction.

The collection will now be non-transferable again!


---

# 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://support.highlight.xyz/knowledge-base/for-creators/advanced/fulfilling-auctions-for-non-transferable-tokens.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.
