Prove control of the controller key or wallet
dmd_prove_wallet_controlTwo calls. Without challenge_id and signature: returns a one-time challenge for one
controller. Sign its message with that controller, then call again with challenge_id
and signature. A wrong signature uses up the challenge. With both a key and a wallet,
prove each (registration status lists what is still to prove).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"registration_intent_id": "<registration_intent_id>"
},
"name": "dmd_prove_wallet_control"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| signature | No | Signature of the challenge message: Ed25519 (base64url) for a key, or the wallet's personal_sign / signMessage result (0x...) for a wallet | |
| challenge_id | No | Leave empty to get a new challenge | |
| controller_type | No | When getting a challenge: which controller to prove, ed25519 (the key) or eip155 (the wallet). By default the next one still to prove. | |
| registration_intent_id | Yes | registration_intent_id from the quote (dmd_did_intent_...) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||