> For the complete documentation index, see [llms.txt](https://docs.bahamut.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bahamut.io/become-a-validator/step-7-set-withdrawal-credentials-bls-to-execution.md).

# Step 7: Set Withdrawal Credentials (BLS to Execution)

This step is optional, as withdrawal credentials can already be set during the deposit data generation process. If you’ve included an execution address in your initial deposit data, no further action is required, and your validator is ready to receive income.

If your validator is currently using BLS withdrawal credentials (Type 0, 0x00), you’ll need to perform a BLS to Execution transition to update the withdrawal credentials to an execution address (Type 1, 0x01). This transition is not done by sending a new deposit but through a specific API call made to your consensus client.

\
How to Perform the BLS to Execution Transition

1. Generate the BLS to Execution Message:\
   Use the bls-to-execution command in the GoDepositCLI tool to create and sign the transition message. This message is required to update the withdrawal credentials.
2. Broadcast the Message Manually:\
   Use your terminal to make the API call to your consensus client and broadcast the signed message. Here’s the command:\
   \
   `curl -X POST -H 'Accept: application/json' <your-consensus-node-api-url>/eth/v1/beacon/pool/bls_to_execution_changes \`

`--data '<content-from-bls-to-execution-file>'`

\
Finalize the Transition:\
Once the message is broadcasted, your withdrawal credentials will be updated, allowing income to be sent directly to your execution address.

#### Exiting the Validator (Optional)

If you decide to stop validating, follow the validator client’s exit procedure to safely withdraw your funds.

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.bahamut.io/become-a-validator/step-7-set-withdrawal-credentials-bls-to-execution.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
