SettleMint
Developer guidesAsset servicing

Pause and unpause assets

Enable or disable all transfers for an asset via API.

Pausing an asset temporarily disables all transfers, minting, and burning operations. This is used for emergency stops, maintenance, or compliance holds.

For the web interface approach, see the user guide.

Prerequisites

  • Platform URL (e.g., https://your-platform.example.com)
  • API key from a user with Emergency role on this asset (see Getting Started for API key setup)
  • Wallet verification method enabled on your account (e.g., pincode or 2FA)

New assets start paused

Assets are automatically paused upon creation. You must unpause them before any transfers can occur.

Pausing an asset

Prepare pause request

Construct the API request to pause the asset:

curl -X PUT "https://your-platform.example.com/api/token/0x9459D52E60edBD3178f00F9055f6C117a21b4220/pause" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "walletVerification": {
      "secretVerificationCode": "123456",
      "verificationType": "PINCODE"
    }
  }'

Asset address in path

The asset contract address is part of the URL path: /api/token/{tokenAddress}/pause

Execute pause

When you execute the request, the platform:

  1. Validates your permissions - Confirms you have Emergency role on this asset
  2. Verifies your wallet - Uses your pincode/2FA to authorize the blockchain transaction
  3. Pauses the asset - Sets the pause flag on-chain, blocking all transfers

Handle response

A successful response returns the updated asset data (showing key fields):

{
  "id": "0x9459D52E60edBD3178f00F9055f6C117a21b4220",
  "name": "ACME Holdings Common Stock",
  "symbol": "ACME",
  "decimals": 0,
  "totalSupply": "1000",
  "type": "equity",
  "pausable": {
    "paused": true
  }
}

The pausable.paused field confirms the asset is now paused. The response includes the full asset object with additional fields like accessControl, identity, and userPermissions.

Unpausing an asset

Prepare unpause request

Construct the API request to unpause the asset:

curl -X PUT "https://your-platform.example.com/api/token/0x9459D52E60edBD3178f00F9055f6C117a21b4220/unpause" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "walletVerification": {
      "secretVerificationCode": "123456",
      "verificationType": "PINCODE"
    }
  }'

Execute unpause

When you execute the request, the platform:

  1. Validates your permissions - Confirms you have Emergency role on this asset
  2. Verifies your wallet - Uses your pincode/2FA to authorize the blockchain transaction
  3. Unpauses the asset - Clears the pause flag, enabling all transfers

Handle response

A successful response returns the updated asset data (showing key fields):

{
  "id": "0x9459D52E60edBD3178f00F9055f6C117a21b4220",
  "name": "ACME Holdings Common Stock",
  "symbol": "ACME",
  "decimals": 0,
  "totalSupply": "1000",
  "type": "equity",
  "pausable": {
    "paused": false
  }
}

The pausable.paused field confirms the asset is now active. The response includes the full asset object with additional fields like accessControl, identity, and userPermissions.

Request parameters

ParameterTypeRequiredDescription
walletVerificationobjectYesYour wallet verification
walletVerification.secretVerificationCodestringYesYour 6-digit PINCODE or TOTP code
walletVerification.verificationTypestringYes"PINCODE", "OTP", or "SECRET_CODES"

What pausing affects

When an asset is paused, the following operations are blocked:

  • User transfers - Normal wallet-to-wallet transfers
  • Minting - Creating new units
  • Burning - Destroying existing units
  • Forced transfers - Administrative transfers

These operations continue to work while paused:

  • Viewing balances - Read-only operations
  • Checking compliance - Identity and claim verification
  • Role management - Adding/removing administrators
  • Pause/unpause - Can toggle pause state

All transfers stop

Pausing affects ALL asset holders immediately. Use sparingly and communicate with stakeholders.

Check pause status

Query the asset to see current pause state:

curl -X GET "https://your-platform.example.com/api/token/0x9459D52E60edBD3178f00F9055f6C117a21b4220" \
  -H "X-Api-Key: YOUR_API_KEY"

Response includes pause status in the pausable field (showing key fields):

{
  "id": "0x9459D52E60edBD3178f00F9055f6C117a21b4220",
  "name": "ACME Holdings Common Stock",
  "symbol": "ACME",
  "decimals": 0,
  "totalSupply": "1000",
  "type": "equity",
  "pausable": {
    "paused": false
  }
}

The response includes the full asset object with additional fields.

Troubleshooting

IssueSolution
401 UnauthorizedAPI key is invalid, expired, or disabled
403 USER_NOT_AUTHORIZEDEnsure your account has emergency role on this asset
Asset already pausedCheck status first, asset may already be paused
Asset already unpausedCheck status first, asset may already be unpaused
Cannot transfer while pausedUnpause the asset before attempting transfers

On this page