ExecuteSigningRequests
curl --request POST \
--url https://api.mpcvault.com/v1/executeSigningRequests \
--header 'Content-Type: application/json' \
--header 'x-mtoken: <api-key>' \
--data '
{
"uuid": "<string>"
}
'import requests
url = "https://api.mpcvault.com/v1/executeSigningRequests"
payload = { "uuid": "<string>" }
headers = {
"x-mtoken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-mtoken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({uuid: '<string>'})
};
fetch('https://api.mpcvault.com/v1/executeSigningRequests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mpcvault.com/v1/executeSigningRequests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'uuid' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-mtoken: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mpcvault.com/v1/executeSigningRequests"
payload := strings.NewReader("{\n \"uuid\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-mtoken", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mpcvault.com/v1/executeSigningRequests")
.header("x-mtoken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uuid\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mpcvault.com/v1/executeSigningRequests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-mtoken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uuid\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": {
"message": "<string>",
"serviceErrorCode": "SERVICE_ERROR_CODE_UNSPECIFIED",
"executeSigningRequestsErrorCode": "EXECUTE_SIGNING_REQUESTS_ERROR_CODE_UNSPECIFIED"
},
"txHash": "<string>",
"signatures": {
"signatures": [
{
"ecdsaSignature": {
"R": "<string>",
"S": "<string>",
"V": "<string>"
},
"eddsaSignature": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+Pw=="
}
]
},
"signedTransaction": "<string>"
}Signing Requests
ExecuteSigningRequests
Sign a supported wallet request using the configured API ClientSigner.
POST
/
v1
/
executeSigningRequests
ExecuteSigningRequests
curl --request POST \
--url https://api.mpcvault.com/v1/executeSigningRequests \
--header 'Content-Type: application/json' \
--header 'x-mtoken: <api-key>' \
--data '
{
"uuid": "<string>"
}
'import requests
url = "https://api.mpcvault.com/v1/executeSigningRequests"
payload = { "uuid": "<string>" }
headers = {
"x-mtoken": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-mtoken': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({uuid: '<string>'})
};
fetch('https://api.mpcvault.com/v1/executeSigningRequests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mpcvault.com/v1/executeSigningRequests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'uuid' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-mtoken: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mpcvault.com/v1/executeSigningRequests"
payload := strings.NewReader("{\n \"uuid\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-mtoken", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.mpcvault.com/v1/executeSigningRequests")
.header("x-mtoken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"uuid\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mpcvault.com/v1/executeSigningRequests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-mtoken"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"uuid\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"error": {
"message": "<string>",
"serviceErrorCode": "SERVICE_ERROR_CODE_UNSPECIFIED",
"executeSigningRequestsErrorCode": "EXECUTE_SIGNING_REQUESTS_ERROR_CODE_UNSPECIFIED"
},
"txHash": "<string>",
"signatures": {
"signatures": [
{
"ecdsaSignature": {
"R": "<string>",
"S": "<string>",
"V": "<string>"
},
"eddsaSignature": "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+Pw=="
}
]
},
"signedTransaction": "<string>"
}Requires full access. Signs one supported wallet signing request identified by
uuid, whether the request was created through the API, the MPCVault app or a connected dApp. The eligible API ClientSigner must be configured, connected and hold the required key access. For API-created requests, callbackClientSignerPublicKey selects the callback signer when the request is created.
Read GetSigningRequestDetails before execution. Its pendingOperation can identify an eligible ClientSigner target, but execution revalidates permissions and policy. If the API user’s approval is still needed, use ApproveSigningRequest.
Queryable vault and organization management requests cannot be executed with this method. Existing wallet requests include supported dApp transactions/messages, batch payments and other wallet payloads beyond the types accepted by CreateSigningRequest.
The response returns available txHash, complete signatures and signedTransaction. A co-signed transaction can still need other parties’ signatures. Signing success does not confirm successful broadcasting or on-chain execution.
For built-in networks, MPCVault broadcasts supported transactions by default. Introduction describes broadcast rules and result handling, including custom EVM networks. Messages and raw signing do not broadcast a transaction.Body
application/json
ExecuteSigningRequestsRequest requires a full access token with access to the request and a configured, online API ClientSigner. Only supported wallet requests can be executed; queryable management requests cannot.
UUID of one supported wallet signing request to execute, whether created through the API, MPCVault app or a connected dApp. A pending request requires the configured ClientSigner and its current vault key access. Management requests can be queried but cannot be executed through this method. Execution revalidates permissions and policy.
Example:
"<string>"
Response
200 - application/json
OK
Was this page helpful?