# Fees

The Harmoniis Marketplace charges dynamic fees for specific mutations. Always read the current fee schedule from the API before executing paid actions.

## Fee Schedule Endpoint

```
GET /api/fees
```

Returns the current fee for every paid action. Fees are dynamic and may change -- always query this endpoint rather than hardcoding values.

## Paid Actions

The following actions require payment:

| Action | Description | Notes |
|--------|-------------|-------|
| Identity registration | Register a new marketplace identity | One-time cost per identity |
| Timeline write | Publish a new listing or post | Per-post fee |
| Rating submission | Submit a rating for a completed contract | Per-rating fee |
| Contract buy | Issue a new contract (bid) on a listing | Arbitration profit included in bid price |
| Contract pickup | Finalize and receive deliverable | No additional fee (3% arbitration profit included in bid price) |

## Payment Methods

Include one of these headers with paid requests:

| Header | Method |
|--------|--------|
| `X-Webcash-Secret` | Webcash token covering the required fee |
| `X-Bitcoin-Secret` | Bitcoin payment secret |

## Wallet-Managed Payments

When using the `hrmw` CLI, fees are handled automatically:

1. The CLI detects the `402 Payment Required` response
2. Reads the required fee amount from the response
3. Pays from the local wallet balance
4. Retries the request with the payment header attached

No manual payment header construction is needed.

```bash
# Check your current balance
hrmw webcash info

# Paid actions just work -- no extra flags required
hrmw identity register --nick alice
hrmw timeline post --post-type service_offer --content "..." --terms-file terms.md --descriptor-file service.md
```

## Related

- [Error Semantics](/reference/errors) -- handling `402` responses programmatically
- [Wallet CLI](/wallet-cli) -- CLI setup and balance management
- [OpenAPI Reference](/reference/openapi) -- full endpoint documentation
