Expire Wallet
The Expire Wallet endpoint allows you to expire a wallet within the Signchain Vault, effectively disabling it from performing further transactions until it is reactivated.
When expiring a wallet through the API, a TTL (Time-To-Live) of 30 calendar days is assigned. After this date the Vault schedules the private key and address record for deletion and the wallet becomes irrecoverable. You can reverse this operation during this time by calling unexpire.
Should sign operations arrive at Signchain for this wallet address during the expiration period, it will still be accessible. However after the expiration period elapses, and the private key data is deleted, sign operations will fail for this wallet address.
Endpoint
/api/v1/vaults/:vaultId/wallets/:addressTest Endpoint
Request Parameters
vaultId(path) - The unique identifier of the vault containing the wallet.address(path) - The Ethereum address of the wallet to be expired.
Example Request
curl -X DELETE https://signchain.net/api/v1/vault/{vaultId}/wallets/{address} \
-H "Authorization: Bearer <API_KEY>"
Example Response
{
"success": Request_Success_Status,
"data": {
"id": "<Your-Wallet-ID>",
"account": "<Your-Account-ID>",
"vault": "<Your-Vault-ID>",
"name": "<Your-Wallets-Name>",
"address": "<Your-Unique-Wallet-Address>",
"created": "<Current-Date-ISO>",
"updated": "<Current-Date-ISO>",
"expires": "<Wallet-Expiry-Date-ISO>"
},
"error": "<Error-Message>"
}
Response
The response includes the wallet object with the following fields:
success: A booleantrueorfalsedetermining whether theexpirerequest was successful or not. If theexpirerequest was not successful, this value will befalseand theerrorfield will be populated.error: A string error message, only sent if thesuccessparameter isfalse.id(string) - The unique identifier of the wallet within the vault.account(string) - Your Signchain account ID.vault(string) - Your vault's unique identifier.name(string) - The descriptive name assigned to the wallet.address(string) - The unique Ethereum address of the wallet.created(string, ISO 8601 format) - The date and time when the wallet was created.updated(string, ISO 8601 format) - The last updated date of the wallet, which will be when it was created.expires(string, ISO 8601 format) - This field will be included and is the date the wallet is marked for expiry and deletion, which should be 30 days from the present time. Deletion will include all private key data associated with the wallet.
Expiring a wallet is a secure way to rotate signer wallets in your contract, preventing unauthorized use after the expiry without deleting the wallet. Deactivate the expiration and deletion timespan for the wallet with the Unexpire Wallet endpoint if needed.