# Operations

Every movement of the workspace's money on the hub is an operation: requested by one person, approved by others, carried out by a member, and reconciled against what the hub reports. Nothing moves until the approvers have approved it.

> Part of the SQRL documentation, section "SQRL Markets".
> Rendered page: https://docs.sqrl.tech/markets/operations

## Kinds of operation

| Kind | What it does |
|---|---|
| **Channel top-up** | Adds funds to your side of a channel |
| **Channel pull** | Takes funds back to the hub's wallet |
| **Open channel** | Opens a channel from the hub's node to a peer |
| **Close channel** | Closes one of the hub's channels, cooperatively (funds return at once) or by force (funds wait out a timelock) |
| **Withdrawal** | Sends funds on-chain to a whitelisted address |
| **Conversion** | Sells one asset for another |
| **Mint** | Mints more of a registered token |
| **Burn** | Burns a registered token |

## Requesting an operation

**Required permissions:** Manage liquidity (`LIQUIDITY_MANAGE`).

1. Open **Operations** and select **Request**, or start from a suggestion on a merchant or Liquidity and Rails.
2. Choose what to do and fill in its fields: asset and amount; the channel; for a new channel, the peer, its address and the capacity (20,000 to 16,777,215 sats), optionally what to give the peer and a token to bind; for a withdrawal, a whitelisted address.
3. Say **Why**, and submit.

Each request is checked against the asset's [limit](/markets/hub/policies-and-limits), the withdrawal whitelist, and the channel. Only one operation can be in flight on a channel at a time. An asset with no limit set is refused, not treated as unlimited.

## Approving and rejecting

**Required permissions:** Approve signing (`SIGN_APPROVE`).

Operations waiting for you appear under **Needs you**, oldest first. Open one and select **Approve** (with an optional note) or **Reject** (with a reason). You cannot approve your own request, and each member approves once. The workspace's **approval quorum** (two by default) decides how many approvals it needs. One rejection rejects it, whatever the other approvals: nothing moves, and whatever it reserved against its limit is given back.

## Carrying it out

1. A member with Manage liquidity selects **Claim**.
2. They select **Carry out**, and the desk carries it out on the hub, or they carry it out elsewhere and select **Report by hand** with the transaction ID and a reference.

Pending and approved operations can be cancelled. Once claimed, only the claimant can cancel, until the claim is older than the hold expiry.

## Reconciliation

After an operation is carried out, the desk checks the hub's next readings against it. If they agree, it is **Reconciled**. If they do not agree within the **reconcile window** (two hours by default), it is **Flagged**, for example for a peer, capacity, token or transaction ID mismatch, or a forced close. A person with Approve signing, other than the requester and the executor, can **Reconcile by hand** with a reason.

## States

Awaiting approval · Approved · Rejected · Carried out · Reconciled · Flagged · Cancelled.

  Every movement of the desk's own money has a requester, a quorum of approvers who are not the requester, an executor, and a reconciliation against the hub. Each step is recorded in the audit log.
