GetSigningRequestList
curl --request POST \
--url https://api.mpcvault.com/v1/getSigningRequestList \
--header 'Content-Type: application/json' \
--header 'x-mtoken: <api-key>' \
--data '
{
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"page": 1,
"limit": 10,
"sortOrder": "SORT_ORDER_DESC"
}
'import requests
url = "https://api.mpcvault.com/v1/getSigningRequestList"
payload = {
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"page": 1,
"limit": 10,
"sortOrder": "SORT_ORDER_DESC"
}
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({
vaultUuid: '9f5ee5fb-07f5-470c-a2ff-081e2d6d107a',
page: 1,
limit: 10,
sortOrder: 'SORT_ORDER_DESC'
})
};
fetch('https://api.mpcvault.com/v1/getSigningRequestList', 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/getSigningRequestList",
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([
'vaultUuid' => '9f5ee5fb-07f5-470c-a2ff-081e2d6d107a',
'page' => 1,
'limit' => 10,
'sortOrder' => 'SORT_ORDER_DESC'
]),
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/getSigningRequestList"
payload := strings.NewReader("{\n \"vaultUuid\": \"9f5ee5fb-07f5-470c-a2ff-081e2d6d107a\",\n \"page\": 1,\n \"limit\": 10,\n \"sortOrder\": \"SORT_ORDER_DESC\"\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/getSigningRequestList")
.header("x-mtoken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"vaultUuid\": \"9f5ee5fb-07f5-470c-a2ff-081e2d6d107a\",\n \"page\": 1,\n \"limit\": 10,\n \"sortOrder\": \"SORT_ORDER_DESC\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mpcvault.com/v1/getSigningRequestList")
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 \"vaultUuid\": \"9f5ee5fb-07f5-470c-a2ff-081e2d6d107a\",\n \"page\": 1,\n \"limit\": 10,\n \"sortOrder\": \"SORT_ORDER_DESC\"\n}"
response = http.request(request)
puts response.read_body{
"signingRequests": [
{
"uuid": "b7d1c6e2-3f0a-4c52-9a41-5e8f2d6b1a07",
"status": "STATUS_PENDING",
"failedReason": "",
"txHash": "",
"creationTimestamp": "1759400600000",
"evmSendCustom": {
"chainId": "1",
"from": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
"to": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"value": "0",
"input": "qQWcuwAAAAAAAAAAAAAAAFqutgU/PpTJuaCfM2aUNefvG+rtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYloA=",
"gasFee": {
"maxFee": null,
"maxPriorityFee": null,
"gasLimit": "65000"
},
"nonce": "42"
},
"notes": "Pay vendor invoice in USDT",
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"callbackClientSignerPublicKey": null,
"simulation": "eyJ0cmFuc2FjdGlvbiI6eyJzdGF0dXMiOnRydWUsImdhc191c2VkIjo0NjEyM319",
"evmInputDataDecode": {
"function": "transfer(address,uint256)",
"args": [
{
"name": "to",
"type": "address",
"data": "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed"
},
{
"name": "value",
"type": "uint256",
"data": "10000000"
}
]
},
"signatures": null,
"source": {
"type": "TYPE_WALLET_CONNECT",
"website": "app.uniswap.org"
}
},
{
"uuid": "3c0d9f5e-6a21-4e7b-8d1c-0f4a7b2e9c55",
"status": "STATUS_SUCCEEDED",
"failedReason": "",
"txHash": "0x8f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8",
"creationTimestamp": "1759400120000",
"evmSendErc20": {
"chainId": "1",
"from": "0x71c7656ec7ab88b098defb751b7401b5f6d8976f",
"to": "0x71c7656ec7ab88b098defb751b7401b5f6d8976f",
"tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"amount": "250000000",
"gasFee": null,
"nonce": null
},
"notes": "Payroll",
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"callbackClientSignerPublicKey": null,
"simulation": "",
"evmInputDataDecode": null,
"signatures": null,
"source": null
}
],
"error": null
}Signing Requests
GetSigningRequestList
List the signing requests of a vault, in any status, with pagination.
POST
/
v1
/
getSigningRequestList
GetSigningRequestList
curl --request POST \
--url https://api.mpcvault.com/v1/getSigningRequestList \
--header 'Content-Type: application/json' \
--header 'x-mtoken: <api-key>' \
--data '
{
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"page": 1,
"limit": 10,
"sortOrder": "SORT_ORDER_DESC"
}
'import requests
url = "https://api.mpcvault.com/v1/getSigningRequestList"
payload = {
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"page": 1,
"limit": 10,
"sortOrder": "SORT_ORDER_DESC"
}
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({
vaultUuid: '9f5ee5fb-07f5-470c-a2ff-081e2d6d107a',
page: 1,
limit: 10,
sortOrder: 'SORT_ORDER_DESC'
})
};
fetch('https://api.mpcvault.com/v1/getSigningRequestList', 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/getSigningRequestList",
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([
'vaultUuid' => '9f5ee5fb-07f5-470c-a2ff-081e2d6d107a',
'page' => 1,
'limit' => 10,
'sortOrder' => 'SORT_ORDER_DESC'
]),
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/getSigningRequestList"
payload := strings.NewReader("{\n \"vaultUuid\": \"9f5ee5fb-07f5-470c-a2ff-081e2d6d107a\",\n \"page\": 1,\n \"limit\": 10,\n \"sortOrder\": \"SORT_ORDER_DESC\"\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/getSigningRequestList")
.header("x-mtoken", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"vaultUuid\": \"9f5ee5fb-07f5-470c-a2ff-081e2d6d107a\",\n \"page\": 1,\n \"limit\": 10,\n \"sortOrder\": \"SORT_ORDER_DESC\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mpcvault.com/v1/getSigningRequestList")
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 \"vaultUuid\": \"9f5ee5fb-07f5-470c-a2ff-081e2d6d107a\",\n \"page\": 1,\n \"limit\": 10,\n \"sortOrder\": \"SORT_ORDER_DESC\"\n}"
response = http.request(request)
puts response.read_body{
"signingRequests": [
{
"uuid": "b7d1c6e2-3f0a-4c52-9a41-5e8f2d6b1a07",
"status": "STATUS_PENDING",
"failedReason": "",
"txHash": "",
"creationTimestamp": "1759400600000",
"evmSendCustom": {
"chainId": "1",
"from": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
"to": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"value": "0",
"input": "qQWcuwAAAAAAAAAAAAAAAFqutgU/PpTJuaCfM2aUNefvG+rtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYloA=",
"gasFee": {
"maxFee": null,
"maxPriorityFee": null,
"gasLimit": "65000"
},
"nonce": "42"
},
"notes": "Pay vendor invoice in USDT",
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"callbackClientSignerPublicKey": null,
"simulation": "eyJ0cmFuc2FjdGlvbiI6eyJzdGF0dXMiOnRydWUsImdhc191c2VkIjo0NjEyM319",
"evmInputDataDecode": {
"function": "transfer(address,uint256)",
"args": [
{
"name": "to",
"type": "address",
"data": "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed"
},
{
"name": "value",
"type": "uint256",
"data": "10000000"
}
]
},
"signatures": null,
"source": {
"type": "TYPE_WALLET_CONNECT",
"website": "app.uniswap.org"
}
},
{
"uuid": "3c0d9f5e-6a21-4e7b-8d1c-0f4a7b2e9c55",
"status": "STATUS_SUCCEEDED",
"failedReason": "",
"txHash": "0x8f1a2b3c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8",
"creationTimestamp": "1759400120000",
"evmSendErc20": {
"chainId": "1",
"from": "0x71c7656ec7ab88b098defb751b7401b5f6d8976f",
"to": "0x71c7656ec7ab88b098defb751b7401b5f6d8976f",
"tokenContractAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"amount": "250000000",
"gasFee": null,
"nonce": null
},
"notes": "Payroll",
"vaultUuid": "9f5ee5fb-07f5-470c-a2ff-081e2d6d107a",
"callbackClientSignerPublicKey": null,
"simulation": "",
"evmInputDataDecode": null,
"signatures": null,
"source": null
}
],
"error": null
}Returns the signing requests of a vault: pending, succeeded and failed, whether they were created through the API, in the MPCVault app or by a connected dApp. There is no status filter. Results are newest first by default.
Paginate with
page (starting at 1) and limit (1 to 100, default 10). Set sortOrder to SORT_ORDER_ASC for oldest first. The call fails with HTTP 400 (InvalidArgument, message Invalid uuid) when the vault does not exist or the API token cannot access it.
Each element of signingRequests is a SigningRequest object: the common fields and at most one payload field, with their encodings. Data types and encodings lists the conventions that apply to all fields.
Every request in the response carries its full payload and simulation. A page of very large requests, for example 100 requests with about 128 KiB of calldata each (about 13 MB), exceeds the 10 MiB limit on the protobuf message that the REST gateway accepts from the gRPC server, and most gRPC clients accept 4 MiB by default. The call then fails with
RESOURCE_EXHAUSTED (HTTP 429): request a smaller limit. A single request with very large calldata or simulation can exceed these limits on its own.Authorizations
Your API token. Required for all API requests.
Body
application/json
UUID of the vault whose signing requests are listed. The API token must have access to it.
Example:
"9f5ee5fb-07f5-470c-a2ff-081e2d6d107a"
Page number, starting at 1.
Required range:
x >= 1Example:
1
Number of signing requests per page.
Required range:
1 <= x <= 100Example:
10
Order by creation time: SORT_ORDER_DESC is newest first, SORT_ORDER_ASC is oldest first.
Available options:
SORT_ORDER_DESC, SORT_ORDER_ASC Was this page helpful?