# Set new withdrawal credential

How to set new withdrawal credential

> <mark style="color:yellow;">For a validator key that is not set a</mark> <mark style="color:yellow;"></mark><mark style="color:yellow;">`--eth1_withdrawal_address`</mark>

1. Open folder `deposit-cli` that used to generate validator keys&#x20;

<figure><img src="/files/7pOujnFjCgY6i3QxZeV8" alt=""><figcaption><p>deposit-cli that consist of <code>validator_keys-test</code> folder</p></figcaption></figure>

2. Use command to generate bls to change execution change

```sh
./deposit.sh generate-bls-to-execution-change
```

<figure><img src="/files/KF8poGzKElzSJuPwLAE6" alt=""><figcaption></figcaption></figure>

* Enter for select English language
* Enter the network
  * Enter: `jib`
* Enter your mnemonic separated by spaces (" ")
  * Example: `worry uncover treat tonight input soon worth code benefit hotel hungry stamp subway neck join trap flat music argue air menu quantum volcano connect`
* Enter the index position for the keys to start generating withdrawal credentials&#x20;
  * Enter: `0`
* Enter a list of the **validator index** number(s) of your validator(s) as identified on the beacon chain. Split multiple items with whitespaces or commas.
  * Check your validator index from: <https://dora.jibchain.net>
  * Example: `500` (1 Validator).
  * If you have more than 1 validator use commas to split. Example: `500, 501, 502` (3 Validators)
* Enter a list of the old BLS withdrawal credentials of your validator(s)

  * Open `deposit-data.json` file. and copy the old withdrawal credential

  <figure><img src="/files/xIn9CgxjdXEkLDMh0x1l" alt=""><figcaption><p>Old withdrawal credentials should be start with <code>00</code> </p></figcaption></figure>

  * Example: `0098b66b3d28ae0694d1c25e58d0636c3e2a0fe306e57d067aae98de2171820f`
* Enter the 20-byte execution address for the new withdrawal credentials. (Your wallet)
  * Example: `0x53D1644eExxxxxxxxxxxxxxx3f99B90bf34b93`
  * **Note that you CANNOT change it once you have set it on the chain.**
* Repeat your execution address for confirmation and Ensure that you have control over this address.
  * Example: `0x53D1644eExxxxxxxxxxxxxxx3f99B90bf34b93`
* Success! Your SignedBLSToExecutionChange JSON file can be found at: `deposit-cli/bls_to_execution_changes`
* Check your bls\_to\_execution\_changes files

```
ls ./bls_to_execution_changes
```

<figure><img src="/files/fEa0rBgevq3lof1cclAl" alt=""><figcaption></figcaption></figure>

* Broadcast BLS signature to consensus client using Docker

```sh
docker run -ti -v ./bls_to_execution_changes:/bls_dir gcr.io/prysmaticlabs/prysm/cmd/prysmctl:latest validator withdraw -beacon-node-host=https://metrabyte-cl.jibchain.net/ --path=/bls_dir --accept-terms-of-use --confirm
```

* Done!


---

# 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://docs.jibchain.net/withdrawal/set-new-withdrawal-credential.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.
