curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/signing/message \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": "Please sign this message to verify your wallet ownership for Iron provider registration.",
"reference": "iron-verification-001",
"metadata": {
"provider": "iron",
"purpose": "wallet-verification"
}
}
'{
"data": {
"id": "770f9100-7338-4823-b1ce-3658fc67db09",
"hash": "0xdb095e6cbf235d630cee43e0953e60c351e46897bc4e65abfce3e975810e21335aa3918399dac1e01badb2dc8c59c171e65d0c328c92737de702da9d76b889b31b",
"status": "SUCCESS",
"type": "SIGNED",
"senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"recipientAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"signedTransaction": {
"r": "0xdb095e6cbf235d630cee43e0953e60c351e46897bc4e65abfce3e975810e2133",
"s": "0x5aa3918399dac1e01badb2dc8c59c171e65d0c328c92737de702da9d76b889b3",
"v": 27,
"signature": "0xdb095e6cbf235d630cee43e0953e60c351e46897bc4e65abfce3e975810e21335aa3918399dac1e01badb2dc8c59c171e65d0c328c92737de702da9d76b889b31b"
},
"reference": "iron-verification-001",
"metadata": {
"provider": "iron",
"purpose": "wallet-verification"
},
"confirmed": true,
"network": "testnet",
"reason": "Please sign this message to verify your wallet ownership for Iron provider registration.",
"blockchain": {
"id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
"name": "ethereum",
"slug": "ethereum"
},
"wallet": {
"id": "d236a191-c1d4-423c-a439-54ce6542ca41",
"name": "Ethereum Master Wallet",
"address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a"
},
"createdAt": "2025-03-02T19:00:52.000Z"
},
"message": "Message signed successfully",
"statusCode": 200
}Sign a plain text message using the master wallet’s private key. The signature proves wallet ownership and can be verified by any third party without accessing your private keys.
Supports all blockchain types:
The API signs the message, performs round-trip signature verification, and returns the signature along with a transaction record.
| Parameter | Type | Required | Description |
|---|---|---|---|
| message | string | ✅ | Plain text message to sign (max 4096 chars) |
| reference | string | ❌ | Internal tracking ID for idempotency |
| metadata | object | ❌ | Custom key-value pairs stored with the transaction |
curl --request POST \
--url https://api.blockradar.co/v1/wallets/{id}/signing/message \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"message": "Please sign this message to verify your wallet ownership for Iron provider registration.",
"reference": "iron-verification-001",
"metadata": {
"provider": "iron",
"purpose": "wallet-verification"
}
}
'{
"data": {
"id": "770f9100-7338-4823-b1ce-3658fc67db09",
"hash": "0xdb095e6cbf235d630cee43e0953e60c351e46897bc4e65abfce3e975810e21335aa3918399dac1e01badb2dc8c59c171e65d0c328c92737de702da9d76b889b31b",
"status": "SUCCESS",
"type": "SIGNED",
"senderAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"recipientAddress": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a",
"signedTransaction": {
"r": "0xdb095e6cbf235d630cee43e0953e60c351e46897bc4e65abfce3e975810e2133",
"s": "0x5aa3918399dac1e01badb2dc8c59c171e65d0c328c92737de702da9d76b889b3",
"v": 27,
"signature": "0xdb095e6cbf235d630cee43e0953e60c351e46897bc4e65abfce3e975810e21335aa3918399dac1e01badb2dc8c59c171e65d0c328c92737de702da9d76b889b31b"
},
"reference": "iron-verification-001",
"metadata": {
"provider": "iron",
"purpose": "wallet-verification"
},
"confirmed": true,
"network": "testnet",
"reason": "Please sign this message to verify your wallet ownership for Iron provider registration.",
"blockchain": {
"id": "85ffc132-3972-4c9e-99a5-5cf0ccb688bf",
"name": "ethereum",
"slug": "ethereum"
},
"wallet": {
"id": "d236a191-c1d4-423c-a439-54ce6542ca41",
"name": "Ethereum Master Wallet",
"address": "0x947514e4B803e312C312da0F1B41fEDdbe15ae7a"
},
"createdAt": "2025-03-02T19:00:52.000Z"
},
"message": "Message signed successfully",
"statusCode": 200
}"YOUR_WALLET_ID"
The plain text message to sign
4096"Please sign this message to verify your wallet ownership for Iron provider registration."
Internal tracking ID for idempotency
"iron-verification-001"
Custom key-value pairs stored with the transaction
{
"provider": "iron",
"purpose": "wallet-verification"
}