# qart.uk > QR codes that are actually worth looking at. qart.uk generates QR art where the > artwork *is* the code, then verifies every image with a real QR detector before > offering it to you. Two products share the domain: a free pool of pre-generated > codes you can claim and point anywhere, and a paid Studio that generates custom > codes from your payload and style, priced in prepaid credits. A third tool, the > dithered photo QR generator, is free and runs entirely in the visitor's browser > with no server side at all — see the notes at the end. The fact that explains the *claim pool*, and the Studio when you ask it for a qart.uk code: the pixels encode a short qart.uk link, not your destination. So a printed code never has to change — you retarget it whenever you like and every copy already in the world follows. See "## Notes" for the surfaces where this is not true. ## Pages - [Home](https://qart.uk/index.md): The three doors — claim a free code, generate a custom one, or go make interactive art on thinkwith.pictures. - [How it works and what it costs](https://qart.uk/custom.md): The full explanation of generation, scan verification, retargeting, and credit pricing. Includes the FAQ. - [Free photo QR generator](https://qart.uk/photo-qr.md): Dither a photo into a scannable code, in the browser. No account, no upload, no endpoint — and the one thing here nobody scan-checks for you. - [The app](https://qart.uk/app/claim.md): The signed-in surface — claim pool, my codes, the Studio, credits, and library — plus the free, sign-in-less dithered photo QR mode and its knobs. ## For agents - [OpenAPI description](https://qart.uk/openapi.json): Every public and authenticated endpoint under https://qart.uk/api/. - [MCP server](https://qart.uk/api/mcp): Model Context Protocol, streamable HTTP. The whole product is a tool surface here — resolve and browse anonymously; claim, shuffle and retarget pool codes and run the Studio under the OAuth scopes you hold. Scoped tools appear in `tools/list` only once your token carries their scope. - [Buy one QR outright, no account](https://qart.uk/api/v1): `GET https://qart.uk/api/v1/qr?url=...` answers 402; pay from your own wallet over x402 and the paid retry returns a scan-verified QR as `image/png`. No sign-in, no credits, no redemption code to hand to a human — the wallet is the only identity involved. You are charged **only** if a real QR detector decodes the image: settlement follows the scan verdict, so a request that produces nothing scannable costs nothing. Style keys are at `https://qart.uk/api/v1/styles`; the live price is in the 402 at `https://qart.uk/api/v1`. - [OAuth metadata](https://qart.uk/.well-known/oauth-authorization-server): RFC 8414. Dynamic client registration is open; PKCE S256 required. - [A2A agent card](https://qart.uk/.well-known/agent-card.json): Agent-to-agent discovery. - [How to authenticate](https://qart.uk/.well-known/auth.md): OAuth 2.1 with PKCE — register a client, get the user's consent, act on their account with scoped tokens. ## Notes - Free pool allowances are 5 shuffles and 3 claims per UTC day, per account. They are not purchasable. - Studio pricing is prepaid credits: one credit is one image at the standard recipe (32 sampling steps, 768px). More steps or higher resolution costs proportionally more, quoted before a run starts. - You are charged only for images actually produced. Stopping a run refunds the unused reserve; a run that produced nothing refunds in full. - **Not every surface mints a qart.uk link, and that decides whether a code is retargetable.** A claimed pool code always does. A Studio run does only when you pick the `qart.uk code` payload kind; every other kind (url, wifi, vcard, text, mailto, tel, sms, geo) is encoded verbatim. The agent API at `/api/v1` and the free dithered photo QR tool never do. A code that carries your destination directly does not depend on us staying up — and equally, it can never be retargeted. If you want a code you can re-point later, claim a pool code or run the Studio on the `qart.uk code` kind. - **There is a free dithered photo QR generator, and it has no API — there is nothing here for an agent to call.** It is a browser-only tool at `https://qart.uk/photo-qr` (also the "Dithered photo QR" mode switch inside `https://qart.uk/app#/studio`, the same document): a photo is error-diffused into the gaps between the QR modules and the result is a 1-bit PNG you download. It touches no server of ours — no endpoint, no account, no credits, no sign-in, and nothing is stored. So it cannot be driven over HTTP, MCP, A2A or x402, and it is absent from `openapi.json` on purpose rather than by oversight. Send a human to the page. Details, knobs and caveats are in [llms-full.txt](https://qart.uk/llms-full.txt) and on [the app page](https://qart.uk/app/claim.md). - **The dithered tool is the one place on qart.uk where nothing is scan-verified.** Everything else is decoded by a real QR detector before it is offered; that check runs on our GPU host, and this tool never reaches it. Its output is unverified by construction — see llms-full.txt before you promise a user it will scan. - qart.uk is operated by the same people as [thinkwith.pictures](https://thinkwith.pictures), the game it grew out of.