> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trusset.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Pause Market

> Calldata that stops new listings, purchases and liquidations

> [!NOTE]
>
> Seller Financing is in beta and runs on Ethereum Sepolia instances only for now (`DEVELOPMENT` instances on Ethereum). A `PRODUCTION` instance, or one on another network, answers `503 SELLER_FINANCING_UNAVAILABLE`. See [Seller Financing](/endpoints/seller-financing/introduction.md).

Builds `pause` on the market for a holder of the operator role to sign. A paused market refuses new listings, purchases and liquidations with `EnforcedPause`. Everything that settles existing business stays open: cancellations, repayments, asset claims and withdrawals. See [Pausing](/endpoints/seller-financing/introduction.md#pausing).

Resume with [Unpause Market](/endpoints/seller-financing/unpause-market.md).

> [!WARNING]
>
> A pause also stops liquidation. Interest keeps accruing on a loan in default while the market is paused, but the seller cannot withdraw from the sale until the market is unpaused.

## Path Parameters

**marketId** `string` *required*

The market's record ID, as `id` on [List Markets](/endpoints/seller-financing/list-markets.md).

## Body Parameters

**from** `string` *required*

The wallet that signs: a holder of `OPERATOR_ROLE` on the market, the operator named at deployment unless the admin moved the role. Without it the answer is `400 FROM_REQUIRED`. Any other wallet answers `409 TX_WOULD_REVERT` with `AccessControlUnauthorizedAccount`, and `details.requiredRole` and `details.roleHolders` name the role and the wallets that hold it now.

## Response Fields

**data** `object`

**action** `string`

`SIGN_TRANSACTIONS`.

**chainId** `integer`

The chain the step is built for.

**steps** `array`

One step, `pause` on the market, with `gasLimit`.

**confirmStepIndex** `integer`

`0`.

**preflight** `object`

`{ simulated: true, gasEstimate }`.

**signer** `object`

`{ role, holders, holdersComplete }`. `role` is `OPERATOR_ROLE`. `holders` lists the wallets that hold it now, `null` when they could not be read. `holdersComplete` is `false` when the market's role history was read in part, so a holder may be missing.

```bash cURL theme={null}
curl -X POST "https://api.trusset.org/seller-financing/api/markets/cmsg4x7k20003sf9q1d8v6b2e/pause" \
  -H "X-API-Key: trusset_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"from": "0xCD421aBbA2b9b047eC069215Df5C49c97C96f895"}'
```

```typescript TypeScript theme={null}
const res = await fetch(
  `https://api.trusset.org/seller-financing/api/markets/${marketId}/pause`,
  {
    method: 'POST',
    headers: { 'X-API-Key': 'trusset_your_key_here', 'Content-Type': 'application/json' },
    body: JSON.stringify({ from: await operator.getAddress() })
  }
);
const { data } = await res.json();
const step = data.steps[0];
await (await operator.sendTransaction({ to: step.to, data: step.data, value: 0, gasLimit: step.gasLimit })).wait();
```

```json Response theme={null}
{
  "success": true,
  "data": {
    "action": "SIGN_TRANSACTIONS",
    "chainId": 11155111,
    "steps": [
      {
        "to": "0xc35e5f74eC4C1dfB8cE2b8798D6161B706F9B5E1",
        "data": "0x8456cb59",
        "value": "0",
        "functionName": "pause",
        "label": "Pause new listings, purchases and liquidations",
        "description": "Pause new listings, purchases and liquidations",
        "gasLimit": "178218",
        "chainId": 11155111
      }
    ],
    "confirmStepIndex": 0,
    "preflight": {
      "simulated": true,
      "gasEstimate": "137091"
    },
    "signer": {
      "role": "OPERATOR_ROLE",
      "holders": ["0xCD421aBbA2b9b047eC069215Df5C49c97C96f895"],
      "holdersComplete": true
    }
  },
  "error": null,
  "metadata": {
    "timestamp": "2026-10-19T09:12:04.318Z",
    "requestId": "3f7c2a91-6d84-4b0e-9a15-c2e8f4d7b603",
    "instanceId": "inst_abc123"
  }
}
```

```json Error - Already Paused theme={null}
{
  "success": false,
  "data": null,
  "error": {
    "code": "TX_WOULD_REVERT",
    "message": "The market is paused for new business.",
    "details": {
      "action": "pause",
      "error": "EnforcedPause",
      "args": [],
      "revertData": "0xd93c0665"
    }
  },
  "metadata": {
    "timestamp": "2026-10-19T09:12:04.318Z",
    "requestId": "3f7c2a91-6d84-4b0e-9a15-c2e8f4d7b603",
    "instanceId": "inst_abc123"
  }
}
```

## Error Codes

| Code | HTTP | Cause |
| - | - | - |
| `VALIDATION_ERROR` | `400` | `from` is malformed, or the body carries another field. `error.details` names it |
| `FROM_REQUIRED` | `400` | `from` is missing. The message names who signs: a wallet that holds `OPERATOR_ROLE` on the market |
| `MARKET_NOT_FOUND` | `404` | No market with this ID that your instance reaches on its network |
| `TX_WOULD_REVERT` | `409` | `EnforcedPause` when the market is already paused, or `AccessControlUnauthorizedAccount` when `from` lacks the operator role, with `details.requiredRole` and `details.roleHolders` |
| `CHAIN_UNAVAILABLE` | `503` | The chain could not be read. Nothing was built. Retry shortly |
| `SELLER_FINANCING_UNAVAILABLE` | `503` | The instance is a `PRODUCTION` instance or not on Ethereum |
| `PAUSE_BUILD_FAILED` | `500` | Unexpected failure. Nothing was built. Retry, or contact support with the request ID |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.