Skip to main content
POST
/
platform
/
admin
/
tenant
/
wallets
/
multisignature
/
{walletTenantId}
/
remove_owner
/
{ownerWalletTenantId}
Remove multisig owner
curl --request POST \
  --url https://api.example.com/platform/admin/tenant/wallets/multisignature/{walletTenantId}/remove_owner/{ownerWalletTenantId} \
  --header 'Content-Type: application/json' \
  --data '{}'
{
  "isSuccess": true,
  "isFailure": false,
  "error": null,
  "value": {
    "id": 42,
    "name": "Example"
  }
}

Description

Initiates the process of removing an owner from a multisignature wallet by creating an on-chain proposal. This proposal must be approved by the current threshold number of owners before the owner is removed.

Input

  • walletTenantId (long, required) - The multisignature wallet tenant identifier (route parameter)
  • ownerWalletTenantId (long, required) - The owner wallet tenant identifier to remove (route parameter)
  • Request body containing:
    • walletTenantId (long, required) - The wallet tenant identifier (must match route parameter)
    • ownerWalletTenantId (long, required) - The owner wallet tenant ID to remove (must match route parameter)

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/owners/4096/remove
{
  "walletTenantId": 3001,
  "ownerWalletTenantId": 4096
}
Response (200 OK)
{
  "success": true,
  "message": "Remove owner proposal created successfully. Proposal ID: 11223"
}

Errors

  • 400 Bad Request: Owner is not part of the wallet, removal would violate minimum threshold, mismatched identifiers, or attempting to remove the last owner.
  • 401 Unauthorized: Authentication token is missing or invalid.
  • 403 Forbidden: User does not have permission to remove owners.
  • 404 Not Found: Multisignature wallet or owner wallet does not exist.
  • 500 Internal Server Error: An unexpected error occurred while creating the remove owner proposal.

Notes

This operation creates an on-chain proposal requiring approval from the current threshold number of owners. The owner remains active until the proposal is executed. Transaction fees apply. The number of remaining owners must be greater than or equal to the current threshold. If necessary, reduce the threshold before removing owners to maintain wallet functionality.

Path Parameters

walletTenantId
integer<int64>
required

Identifier of the wallet tenant.

ownerWalletTenantId
integer<int64>
required

Identifier of the owner wallet tenant to remove.

Query Parameters

api-version
string | null

Body

application/json

Model confirming the owner removal details.

Represents a request model for removing an owner from a multisignature wallet.

walletTenantId
integer<int64>

Identifier of the target multisignature wallet tenant.

Example:

2048

ownerWalletTenantId
integer<int64>

Identifier of the wallet tenant owner to remove.

Example:

3001

threshold
integer<int32>

New signature threshold to set after owner removal.

Example:

2

safeName
string

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

Name of the blockchain network.

Example:

"Polygon"

ownerWalletName
string

Name of the wallet owner to remove.

Example:

"Owner Wallet"

ownerWalletAddress
string

Blockchain address of the wallet owner to remove.

Example:

"0x1234567890abcdef1234567890abcdef12345678"

currentOwnersCount
integer<int32>

Total number of owners currently assigned to the multisignature wallet.

Example:

3

Response

Remove owner 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 }