Skip to main content
POST
/
platform
/
admin
/
tenant
/
wallets
/
multisignature
/
{walletTenantId}
/
update_threshold
Update multisig threshold
curl --request POST \
  --url https://api.example.com/platform/admin/tenant/wallets/multisignature/{walletTenantId}/update_threshold \
  --header 'Content-Type: application/json' \
  --data '
{
  "safeName": "My MultiSig Wallet",
  "provider": "Safe",
  "networkName": "Polygon",
  "ownerWallets": [
    {
      "walletTenantId": 3001,
      "walletAddress": "0x1234...",
      "walletName": "Owner Wallet"
    }
  ],
  "threshold": 3,
  "walletTenantId": 2048
}
'
{
  "isSuccess": true,
  "isFailure": false,
  "error": null,
  "value": {
    "id": 42,
    "name": "Example"
  }
}

Description

Initiates a threshold change for a multisignature wallet by creating an on-chain proposal. This proposal must be approved by the required number of current owners before the threshold change takes effect.

Input

  • walletTenantId (long, required) - The multisignature wallet tenant identifier (route parameter)
  • Request body containing:
    • walletTenantId (long, required) - The wallet tenant identifier (must match route parameter)
    • newThreshold (int, required) - The new threshold value (must be between 1 and total owner count)

Output

Returns a containing:
  • success (bool) - Indicates if the proposal was created successfully
  • message (string, optional) - Additional information including proposal identifier

Examples

Request
POST /api/platform/wallets/3001/threshold
{
  "walletTenantId": 3001,
  "newThreshold": 3
}
Response (200 OK)
{
  "success": true,
  "message": "Threshold update proposal created successfully. Proposal ID: 12345"
}

Errors

  • 400 Bad Request: Invalid threshold value (less than 1 or greater than owner count), mismatched wallet IDs, or threshold equals current value.
  • 401 Unauthorized: Authentication token is missing or invalid.
  • 403 Forbidden: User does not have permission to update the threshold.
  • 404 Not Found: Wallet does not exist or is not a multisignature wallet.
  • 500 Internal Server Error: An unexpected error occurred while creating the threshold update proposal.

Notes

This operation creates an on-chain proposal that requires approval from the current threshold number of owners. The threshold change does not take effect immediately. Transaction fees will apply based on the blockchain network. The new threshold must be feasible with the current number of owners.

Path Parameters

walletTenantId
integer<int64>
required

Identifier of the wallet tenant.

Query Parameters

api-version
string | null

Body

application/json

Model containing the new threshold value for the multisignature wallet.

Represents a model for updating the signature threshold of a multisignature wallet.

safeName
string | null

Name of the multisignature wallet.

Example:

"My MultiSig Wallet"

provider
enum<string>

Provider of the multisignature wallet (e.g., Safe, Gnosis).

Available options:
GnosisSafe
Example:

"Safe"

networkName
string | null

Name of the blockchain network.

Example:

"Polygon"

ownerWallets
object[] | null

Array of owner wallets currently in the multisignature wallet.

Example:
[
{
"walletTenantId": 3001,
"walletAddress": "0x1234...",
"walletName": "Owner Wallet"
}
]
threshold
integer<int32>

New signature threshold value (must be between 1 and the number of owners).

Example:

3

walletTenantId
integer<int64>

Identifier of the wallet tenant.

Example:

2048

Response

Threshold update proposal created successfully.

Wrapper for API operation results containing success status, error information, and return value.

isSuccess
boolean

True if the operation completed successfully, false otherwise.

Example:

true

isFailure
boolean

True if the operation failed, false otherwise.

Example:

false

error
object

Error information returned when the operation fails.

Example:
{
"code": "ValidationError",
"message": "The request parameters failed validation.",
"info": [
"The Name field is required.",
"The Id field must be greater than 0."
]
}
value
object

The result value returned when the operation is successful.

Example:
{ "success": true }