---
title: "Article Unlock"
method: POST
path: "/v1/articles/{slug}/unlock"
---

# Article Unlock

`POST /v1/articles/{slug}/unlock`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/articles/{slug}/unlock`
- Auth: none declared

Verify an on-chain USDC transfer to STORYFLO_PROTOCOL_WALLET and
grant a 24h pay-per-article unlock.

The unlock is keyed on the payer wallet address (from the verified
transfer's `from` topic) — same wallet replays the unlock without
re-paying within the entitlement window. Cross-references the
existing X402Payment table so the unlock state is queryable from
one place. Reuses the same on-chain receipt-walking logic as the
tier upgrade endpoint to keep verification consistent.

## Path parameters

- `slug` string, required

## Request body

- ArticleUnlockBody
  - `tx_hash` string, required
  - `network` string

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
