---
title: Receipts & data on disk
description: Where OpenSwap stores swap receipts and settings on your machine, every receipt field explained, and how to remove all of it.
order: 8
version: 0.1.0
---

# Receipts & data on disk

Everything OpenSwap knows lives on **your** machine. Nothing is uploaded and
there is no telemetry. This page explains exactly what's written, where, and
how to read or delete it.

## Where things live

| Path | What's in it |
| --- | --- |
| `~/.local/share/openswap/receipts/` | One JSON file per swap |
| `~/.config/openswap/` | Settings; the optional encrypted signer wallet |
| `~/.cache/openswap/` | The asset list cache (refreshed daily) |
| Your OS keychain, entry `openswap-cli` | Your API key, if you ran `auth login` |
| `~/.local/share/openswap/test-mode/` | The practice sandbox, fully separate |

Files are written atomically (a crash can't corrupt them) with permissions
only you can read. Receipts never contain secrets — no keys, no passphrases.

## What's in a receipt

A receipt is the durable record of one swap, written **before** the payment
screen appears — so nothing is lost if your laptop dies mid-swap. Print any
receipt as JSON with `openswap receipts export <id>`.

| Field | Plain-English meaning |
| --- | --- |
| `receipt_id` | The swap's id: `os_…` for real swaps, `ost_…` for practice ones |
| `environment` | `mainnet` (real) or `simulated` (test mode) |
| `quote_id`, `protocol` | Which quote you locked, and which provider ran it |
| `from_asset`, `to_asset` | What you swapped, precisely identified |
| `amount_display`, `amount_base_units` | The amount, both human-readable and exact |
| `expected_out_display`, `expected_out_usd` | What the route promised you'd receive |
| `destination_address` | Where the swapped funds go |
| `refund_address` | Where funds return if the swap fails |
| `deposit.deposit_address` | The address you paid |
| `deposit.expires_at` | The payment deadline (always at least 20 minutes) |
| `deposit.payment_uri`, `deposit.memo`, `deposit.network` | Helpers your wallet used |
| `tx_hashes.source` / `.destination` / `.refund` | On-chain transactions, filled in as tracking sees them |
| `last_state`, `last_checked_at`, `last_error` | The latest tracking snapshot |
| `schema_version` | The receipt format version — fields are only ever added |

To check on any receipt later:

```bash
openswap status <receipt_id>          # one look
openswap status <receipt_id> --watch  # follow it until it finishes
```

A swap always ends in one of four states: `success`, `failed`, `refunded`,
or `deposit_expired` (you never paid the deposit — nothing moved).

## Removing everything

```bash
npm uninstall -g openswap
rm -rf ~/.local/share/openswap ~/.config/openswap ~/.cache/openswap
```

Then delete the `openswap-cli` entry from your keychain if you stored a key.
That's the entire footprint — gone.
