Approve with API - Sample Requests
This page lists a number of requests. These are requests created by a Virtual Signer and sent to a customer API for approval, rejection or abstention. This happens prior to the Virtual Signer processing or not the request, depending on the response.
Sample Reshare request
In this request, the system is requesting to create a new vault where the Virtual Signer device will have a signing power of 2.
{
"__typename" : "OperationCreateVault_v3",
"id" : "riev6et9yf0fvk3339plqva4",
"organisationId" : "ap3hsaaaa1koxjkbaaaaavso",
"cDetails" : {
"status" : "VOTING",
"threshold" : 2
},
"voting" : {
"approvedWeight" : 0,
"progress" : "0",
"threshold" : 1,
"votes" : [ {
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"algorithm" : "CLIENTRECORD",
"clientRecord" : "{\"pub_enc\":\"MCowB...pmNTA=\",\"pub_sign\":\"MCowBQ...+EU=\",\"rev\":\"1\",\"sig\":\"b54cI...KnzOCQ==\",\"updated\":\"0001-01-01T00:00:00Z\"}"
},
"vote" : "",
"weight" : 2
} ]
},
"details" : {
"__typename" : "OperationCreateVaultDetails",
"expiresAt" : "2025-11-08T15:10:50.652Z",
"createdAt" : "2025-11-07T15:10:52.984Z",
"updatedAt" : "2025-11-07T15:10:52.984Z",
"status" : "VOTING",
"errorCode" : "",
"errorMessage" : "",
"vault" : {
"id" : "aa1d2mtae6moqyl6rjre9ca7",
"curves" : [ ],
"signers" : [ {
"id" : "mllmy0kkylsurtre5fei2s3f",
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"name" : "VS_GF_DEV_Oct_15_Green_Book (sfr)",
"theType" : "VirtualSigner",
"clientRecord" : "{\"pub_enc\":\"MCowB...TA=\",\"pub_sign\":\"MCowB...EU=\",\"rev\":\"1\",\"sig\":\"b54cI...OCQ==\",\"updated\":\"0001-01-01T00:00:00Z\"}"
},
"signingParty" : {
"id" : "",
"threshold" : 0
},
"weight" : 2
} ],
"signingParty" : {
"id" : "",
"threshold" : 0
},
"details" : {
"id" : "aa1d2mtae6moqyl6rjre9ca7",
"name" : "VS New Vault Test Approvals ___",
"signers" : [ {
"id" : "mllmy0kkylsurtre5fei2s3f",
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"name" : "VS_GF_DEV_Oct_15_Green_Book (sfr)",
"theType" : "VirtualSigner"
},
"signingParty" : {
"id" : "",
"threshold" : 0
},
"weight" : 2
} ],
"threshold" : 2,
"reshareNonce" : -1,
"curves" : [ ],
"signingParty" : {
"id" : "",
"threshold" : 0
}
}
},
"threshold" : 2,
"memo" : ""
}
}Sample Reshare request
In this request, a Virtual Signer device currently has a signing power of 2 and requests to increase its signing power to 3.
{
"__typename" : "OperationReshare_v3",
"id" : "u8aaxdls4taaabjiqah0waja",
"organisationId" : "ap3aaa3q41kaaakb80st1vso",
"rDetails" : {
"newThreshold" : 3,
"previousThreshold" : 2
},
"voting" : {
"approvedWeight" : 0,
"progress" : "0",
"threshold" : 1,
"votes" : [ {
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"algorithm" : "CLIENTRECORD",
"clientRecord" : "{\"pub_enc\":\"MCowBQ...mNTA=\",\"pub_sign\":\"MCowBQY...g+EU=\",\"rev\":\"1\",\"sig\":\"b54cI...OCQ==\",\"updated\":\"0001-01-01T00:00:00Z\"}"
},
"vote" : "",
"weight" : 3
} ]
},
"diff" : [ {
"__typename" : "ReshareDiffThreshold",
"originalThreshold" : 2,
"newThreshold" : 3
}, {
"__typename" : "ReshareDiffDevicePowerChanged",
"devicePowerChanged" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"clientRecord" : "{\"pub_enc\":\"MCowB...fpmNTA=\",\"pub_sign\":\"MCowBQYDK...+EU=\",\"rev\":\"1\",\"sig\":\"b54cIkU...OKnzOCQ==\",\"updated\":\"0001-01-01T00:00:00Z\"}"
},
"newWeight" : 3,
"originalWeight" : 2
} ],
"details" : {
"__typename" : "OperationReshareDetails",
"expiresAt" : "2025-11-08T15:02:05.451Z",
"createdAt" : "2025-11-07T15:02:05.455Z",
"updatedAt" : "2025-11-07T15:02:05.455Z",
"status" : "VOTING",
"errorCode" : "",
"errorMessage" : "",
"vault" : {
"id" : "tihnywsga4hua1zaev7bctoh",
"curves" : [ {
"algorithm" : "ECDSA",
"curve" : "Secp256k1",
"id" : "0f61922df203a7d25299e21123cfc9d6",
"publicKey" : "04927a2222e62c123d3ce...72ffe0f8782921c1c62",
"xpub" : "xpub661MyMwAq...Wx8q7Nn8yq49ACN"
}, {
"algorithm" : "EDDSA",
"curve" : "Edwards",
"id" : "4498b8d2e00bf4bb1a4b7686298e8045",
"publicKey" : "d6445ba22b5ea...930d54e4",
"xpub" : "xpub661MyMwAqRbcEu...kxG9mRSiepq1"
} ],
"signers" : [ {
"id" : "902fcd43c21a17781608844d546f6645",
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"name" : "VS_GF_DEV_Oct_15_Green_Book (sfr)",
"theType" : "VirtualSigner",
"clientRecord" : "{\"pub_enc\":\"MCowBQYDK2...mNTA=\",\"pub_sign\":\"MCowBQYD...EU=\",\"rev\":\"1\",\"sig\":\"b54cIkUDv...nzOCQ==\",\"updated\":\"0001-01-01T00:00:00Z\"}"
},
"signingParty" : {
"id" : "d765451dde8034796e7b5eb7d770ccf9",
"threshold" : 2
},
"weight" : 2
} ],
"signingParty" : {
"id" : "d765451dde8034796e7b5eb7d770ccf9",
"threshold" : 2
},
"details" : {
"id" : "tihnywsga4hua1zaev7bctoh",
"name" : "VS MPC SDK GF Oct 28 VS Only sfr",
"signers" : [ {
"id" : "902fcd43c21a17781608844d546f6645",
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"name" : "VS_GF_DEV_Oct_15_Green_Book (sfr)",
"theType" : "VirtualSigner"
},
"signingParty" : {
"id" : "d765451dde8034796e7b5eb7d770ccf9",
"threshold" : 2
},
"weight" : 2
} ],
"threshold" : 2,
"reshareNonce" : 0,
"curves" : [ {
"algorithm" : "ECDSA",
"curve" : "Secp256k1",
"id" : "0f61922df203a7d25299e21123cfc9d6",
"publicKey" : "04927a2222e62c123d3c...372ffe0f8782921c1c62",
"xpub" : "xpub661MyMwAqRbcGG...8q7Nn8yq49ACN"
}, {
"algorithm" : "EDDSA",
"curve" : "Edwards",
"id" : "4498b8d2e00bf4bb1a4b7686298e8045",
"publicKey" : "d6445ba22b5eaf52...930d54e4",
"xpub" : "xpub661MyMwAqRbcEu...rxP6ukxG9mRSiepq1"
} ],
"signingParty" : {
"id" : "d765451dde8034796e7b5eb7d770ccf9",
"threshold" : 2
}
}
},
"memo" : ""
}
}Sample Transfer Out Request
In this example, a Virtual Signer request has a vault that wants to transfer Sepolia ETH to a certain address.
{
"__typename" : "OperationTransferOut_v3",
"id" : "xw8ufea4rdtaaaas1ck89htz",
"organisationId" : "ap3hsq3q4aaaaaaaaast1vso",
"details" : {
"__typename" : "OperationTransferOutDetails",
"status" : "VOTING",
"expiresAt" : "2025-11-08T15:19:05.22Z",
"vault" : {
"id" : "bdnaaaazajx2aaaa45z5c9w8",
"signingParty" : {
"threshold" : 2
},
"signers" : [ {
"id" : "34f4dae24c0c96b1e90dd35475d43807",
"weight" : 2,
"signingParty" : {
"threshold" : 2
},
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-aaaa-bdb0-bcaa-ed8c553845a7"
}
} ],
"curves" : [ {
"algorithm" : "ECDSA",
"curve" : "Secp256k1",
"xpub" : "xpub661MyMwAqRbcEZLGYZPFA...B3xUqN3LD2"
}, {
"algorithm" : "EDDSA",
"curve" : "Edwards",
"xpub" : "xpub661MyMwAqRbcGdHZF...WdEi3TtXBwfm5Rpa"
} ],
"details" : {
"name" : "VS MPC SDK 920 VS Only sfr",
"reshareNonce" : 0,
"threshold" : 2
}
}
},
"voting" : {
"votes" : [ {
"device" : {
"id" : "vtrti0g0dezh0ptnb0cibsfr",
"uuid" : "6f9e1c22-4503-bdb0-bcaa-ed8c553845a7",
"clientRecord" : "{\"pub_enc\":\"MCo...mNTA=\",\"pub_sign\":\"MCowBQYD...g+EU=\",\"rev\":\"1\",\"sig\":\"b54cIkUDv...OCQ==\",\"updated\":\"0001-01-01T00:00:00Z\"}"
},
"vote" : "",
"weight" : 2
} ]
},
"signingData" : {
"data" : "0a03aa36a71201...41f7e90ed",
"batchData" : null,
"derivationPath" : "",
"chainId" : 0,
"coseAlgorithm" : {
"type" : "",
"value" : ""
},
"contentType" : "",
"executionType" : "ETH",
"signature" : "",
"batchSignature" : null
},
"tDetails" : {
"asset" : {
"id" : "ETH_SEPOLIA",
"details" : {
"executionType" : "ETH"
}
}
}
}Updated about 2 hours ago