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

Description

Initiates the process of adding a new owner to a multisignature wallet by creating an on-chain proposal. This proposal must be approved by the current threshold number of owners before the new owner is added.

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)
    • ownerWalletTenantId (long, required) - The wallet tenant ID of the EOA wallet to add as owner

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

Errors

  • 400 Bad Request: Owner wallet is already an owner, invalid wallet IDs, mismatched identifiers, or maximum owner count exceeded.
  • 401 Unauthorized: Authentication token is missing or invalid.
  • 403 Forbidden: User does not have permission to add owners.
  • 404 Not Found: Multisignature wallet or owner wallet does not exist.
  • 500 Internal Server Error: An unexpected error occurred while creating the add owner proposal.

Notes

This operation creates an on-chain proposal requiring approval from the current threshold number of owners. The new owner is not active until the proposal is executed. Transaction fees apply. After adding an owner, consider whether the threshold should be adjusted to maintain the desired security level.

Path Parameters

walletTenantId
integer<int64>
required

Identifier of the wallet tenant.

Query Parameters

api-version
string | null

Body

application/json

Model containing the owner wallet tenant identifier to add.

Represents a request model for adding an owner to a multisignature wallet.

walletTenantId
integer<int64>

Identifier of the target multisignature wallet tenant.

Example:

2048

ownerWalletTenantId
integer<int64>

Identifier of the wallet tenant that will be added as an owner.

Example:

3001

threshold
integer<int32>

New signature threshold to set after owner addition.

Example:

3

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"

ownerWallets
object[]

Array of tenant wallets that can be selected as new owners.

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

Current number of owners in the multisignature wallet.

Example:

2

Response

Add 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 }