# Message generator endpoints ## Retrieves the message that must be signed to verify ownership of a blockchain address - [GET /user/{domain}/address/{symbol}/signature](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/message-generator-endpoints/paths/~1user~1%7Bdomain%7D~1address~1%7Bsymbol%7D~1signature/get.md): Retrieves the message that must be signed to verify ownership of a blockchain address. The message must be signed with the blockchain address private key and submitted using the POST call for verification. ## Retrieves the message that must be signed to view private domain profile data - [GET /user/{domain}/signature](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/message-generator-endpoints/paths/~1user~1%7Bdomain%7D~1signature/get.md): Retrieve the message text that must be signed by the domain owner. The request URL and any request data must match exactly the data that will be used on the signature required endpoint. ## Retrieves the message that must be signed to edit private domain profile data - [POST /user/{domain}/signature](https://docs.unstoppabledomains.com/apis/profile-v1/openapi/message-generator-endpoints/paths/~1user~1%7Bdomain%7D~1signature/post.md): Retrieve the required message that must be signed by the domain owner to update a domain profile. A POST request must include the exact JSON body that will be used to make the update. The entire contents of the JSON body are included in the message hash, to ensure the signature cannot be used in combination with unauthorized modifications to the domain profile.