# Random Walks — Randomly

> Brownian, self-avoiding and Lévy — the fat tail is visible. One of 63 generators at [Randomly](https://randomly.cluxnei.dev), a library of random generators seeded from verifiable real-world entropy. Free HTTP API, no key, no signup.

## `patterns.walk` — Random Walks

Brownian, self-avoiding and Lévy — the fat tail is visible.

| | |
|---|---|
| **Key** | `patterns.walk` |
| **Module** | `patterns` |
| **Version** | `1` — a permalink carries this, and a replay against a different version returns `409` rather than something else |
| **Formats** | `application/json`, `text/plain`, `image/png` |
| **Studio** | https://randomly.cluxnei.dev/g/patterns/walk |
| **API** | `GET https://randomly.cluxnei.dev/api/v1/g/patterns.walk` |

`value` is a **render spec** — algorithm, parameters, palette and a render key — not pixels. Ask for `format=png` to get the image.

| Parameter | Type | Default | Accepts | What it does |
|---|---|---|---|---|
| `width` | int | `1100` | `200` – `2048` | Width |
| `height` | int | `620` | `200` – `2048` | Height |
| `mode` | enum | `compare` | `compare`, `brownian`, `levy`, `saw` | Walk |
| `walkers` | int | `22` | `1` – `160` | Walkers — Each one is an independent walk and is never reused. |
| `steps` | int | `2600` | `20` – `20000` | Steps each |
| `tail` | float | `1.35` | `1.05` – `3` | Lévy tail α — The Pareto exponent. Below 2 the variance is infinite and the walk is dominated by its rare huge jumps; above 2 the central limit theorem takes back over and it becomes Brownian again. |
| `spread` | float | `0.85` | `0.2` – `1.6` | Coverage — How much of the frame a typical walk should reach. Step length is solved backwards from this and each mode's own scaling exponent, so all three fill the frame the same amount however many steps you ask for. |
| `start` | enum | `centre` | `centre`, `scattered` | Start from |
| `alpha` | float | `0.11` | `0.01` – `0.9` | Line alpha — Per-segment opacity. A walk that crosses its own path a thousand times is drawn out of the overlap, so this wants to stay low. |
| `line` | float | `1.2` | `0.4` – `4` | Line width |
| `glow` | bool | `true` | `true`, `false` | Additive blending |
| `background` | enum | `ink` | `ink`, `paper`, `palette` | Ground |
| `palette` | enum | `golden` | `golden`, `analogous`, `complementary`, `triadic`, `split`, `viridis`, `magma`, `mono` | Colour |
| `colours` | int | `6` | `2` – `12` | Palette size |
| `grain` | float | `0.016` | `0` – `0.08` | Grain |

Out-of-range numbers are **clamped, not rejected**, so a request never fails for being
ambitious — but it may not do what you meant. Unknown keys are dropped and missing ones
fall back to the defaults above.

```bash
curl -s 'https://randomly.cluxnei.dev/api/v1/g/patterns.walk?width=1100&height=620&mode=compare' -H 'Accept: text/plain'
curl -o out.png 'https://randomly.cluxnei.dev/api/v1/g/patterns.walk?width=1100&height=620&mode=compare&format=png'
```

## The receipt

Every result carries one, naming the physical source of the randomness and linking to the
third party's own record of it:

```json
"receipt": {
  "source": "seismic",
  "source_label": "USGS Seismic Feed",
  "class": "C",
  "caveat": "Carries only tens of bits of genuine surprise. Always mixed with the OS CSPRNG.",
  "narrative": "A magnitude 3.6 earthquake, 67 km N of Culebra, Puerto Rico, 39.6 km down — 52 minutes ago.",
  "proof_url": "https://earthquake.usgs.gov/earthquakes/eventpage/us7000th33",
  "mixed_with_csprng": true,
  "degraded": false
}
```

Pick the source with `?source=`, or leave it at the default `auto`:

- **Class A** (Cryptographic) — `csprng`, `anu-qrng`, `random-org`
- **Class B** (Public beacon) — `nist-beacon`, `drand`, `bitcoin`. Published openly — anyone can look this value up after the fact.
- **Class C** (Observational) — `seismic`, `space-weather`, `atmosphere`, `iss`. Carries only tens of bits of genuine surprise. Always mixed with the OS CSPRNG.

## More

- [The full API contract](https://randomly.cluxnei.dev/api.md)
- [Everything in one file](https://randomly.cluxnei.dev/llms-full.txt)
- [The catalogue as JSON](https://randomly.cluxnei.dev/api/v1/generators)
- [This generator in the browser](https://randomly.cluxnei.dev/g/patterns/walk)
