> For the complete documentation index, see [llms.txt](https://developers.mtpelerin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.mtpelerin.com/integration-guides/parameters-and-customization/automating-the-end-user-address-validation.md).

# Automating the end user address validation

Before an end user can buy, swap or sell crypto, Mt Pelerin has to make sure they actually control the address involved, and to do the user is normally asked to sign a message inside the widget.

If your application already holds the user's self-custodial wallet, you can skip that step: sign the message on your side and pass the proof in the widget URL. The user then only confirms, with nothing to sign.

The mechanism is the same on [every chain we support](/service-information/chains-and-currencies/supported-chains-and-cryptocurrencies.md). What changes from one chain family to another is only how the signature is encoded.

### [Parameters](/integration-guides/parameters-and-customization/automating-the-end-user-address-validation/parameters.md)

### [Message to sign](/integration-guides/parameters-and-customization/automating-the-end-user-address-validation/message-to-sign.md)

### [How to test](/integration-guides/parameters-and-customization/automating-the-end-user-address-validation/how-to-test.md)

### [Troubleshooting](/integration-guides/parameters-and-customization/automating-the-end-user-address-validation/troubleshooting.md)
