Personal Sign
API Documentation: Personal Sign
Overview
This API endpoint allows you to Sign Personal Message. Equivalent to eth_sign on some other wallets, and prepends a safe prefix to the signed message to prevent the challenge tricking users into signing a financial transaction.
- HTTP Method: POST
- Endpoint:
/api/v1/wallet/eth/sign/message
Request Body Parameters
walletId
(required): this will be used to determine which key used to sign. The type is string.message
(required): Plain message that user want to sign.pin
: The PIN is necessary if the wallet has a PIN enabled. The PIN need to be in hashed format (SHA-256).
Example Request Body
{
"walletId": "...",
"message" : "This is the message that need to be sign",
"pin": "64f46a7526a186d2346552453ae478ca51244674f5b21ba150bd483b39f7c812"
}
Request
Request Headers
X-CLIENT-ID
: (required): Client ID which was generated when register in Xellar TSS API Service Dashboard.X-SIGNATURE
: (required): Calculated signature, please refer to Authorization section.X-TIMESTAMP
: (required): Request timestamp in RFC3339 format.
Example Request Syntax
curl -X POST -H "Content-Type: application/json" -H "x-client-id: $YOUR_CLIENT_ID" -H "x-client-secret: $YOUR_CLIENT_SECRET" -d '{
"walletId": "...",
"message" : "This is the message that need to be sign"
}' <BASE_URL>/api/v1/wallet/eth/sign/message
Response
The response will include a JSON object with the following properties:
status
(number): The HTTP status code of the response (e.g., 200 for success).message
(string): A message providing additional information about the operation.data
(object): An object containing the request information.data.requestId
(string): The unique identifier for the request.
Example Response
{
"status": 200,
"message": "Sign message is in progress",
"data": {
"requestId": "9c276eb2-e0e1-4789-bd54-42d5e920379f"
}
}