Publish your first dataset
Upload files, check their search results, and publish a dataset at a price you set.
To publish a dataset, create an account, upload your files, and check the indexed content. Choose payment per query, a monthly subscription, or both in the dataset's Settings before publishing.
1. Set up your account
Sign in and complete account setup:
- Choose a handle before creating a dataset. It forms the first part of your
endpoint URLs:
/{handle}/{slug}. Names reserved for site routes are unavailable. - quarry creates your payout wallet during setup. USDC payments go to this wallet, which must be ready to publish with x402. Subscription payments use a connected Stripe account instead. See Pricing and payouts.
2. Create a dataset
Create a dataset from the dashboard and fill in these fields:
| Field | Constraints |
|---|---|
| Name | 2–80 characters; used to generate the URL slug |
| Description | Optional, up to 500 characters; shown in the catalog and discovery contract |
| Category | Optional, up to 40 characters; used to filter the catalog |
| Price per query | 0 to 10,000 USDC; applies when x402 is enabled |
Describe the dataset's contents
Catalog search matches names and descriptions. State the subject, date range, and source of the files. For example: "Quarterly filings from 2023–2025 for 40 US semiconductor companies. Includes revenue, margins, and management guidance."
3. Upload files
Upload files in any of these formats:
| File type | Formats |
|---|---|
| Microsoft Office | DOCX, DOC, PPTX, PPT, XLSX, XLS |
| OpenDocument | ODT, ODS, ODP |
| Books and email | EPUB, EML |
| Text and data | Markdown, plain text, HTML, CSV, JSON |
| Images | PNG, JPEG, WEBP, GIF |
quarry chooses a parser for each file type and uses OCR to extract text from scans and images when needed. It splits the extracted content into searchable passages, called chunks. Each chunk includes its filename and any headings or page numbers the parser could extract.
4. Index
Indexing starts after upload and runs in the background. quarry builds a
search index that combines vector similarity with full-text search.
Files move through Queued → Indexing → Ready on the dataset page.
Large files and scanned PDFs can take several minutes. You can leave the
page while indexing runs.
Failed jobs are retried up to three attempts per file. A periodic recovery
check also retries interrupted jobs. If a file reaches Error, read its
error message, correct the file if needed, and retry indexing from the
dataset page. Reindexing the entire dataset has a five-minute cooldown.
Agents receive the passages extracted from your files, ranked by relevance, not a written answer. Review them before publishing.
Inspect a file
Open a file to inspect its extracted content before publishing:
| View | Use |
|---|---|
| Document | Read extracted elements in page or slide order and select their source locations where available |
| Markdown | Read and download the extracted Markdown |
| JSON | Inspect and download the structured parser output |
| Chunks | Review the passages used for retrieval and locate them in the source where available |
PDF and PowerPoint chunk previews can show location boxes. Markdown and text previews use source text positions when reliable matches are available. Some formats or parser results have no location data; their content remains readable. Files indexed before inspection support show a reindex hint. Follow it if you need the new views or corrected PowerPoint locations.
5. Publish
In Settings → Payment options, choose how new buyers can pay:
| Option | Setup |
|---|---|
| Pay per query · x402 | Set a USDC query price and have a ready payout wallet |
| Monthly subscription | Connect Stripe and save a monthly USD price, query quota, and dataset usage terms |
| Pay per query and monthly subscription | Configure both payment options |
To enable monthly sales, open Subscriptions → Selling, click Connect Stripe, complete onboarding, and click Check status. Return to the dataset's payment options and fill in Monthly price (USD), Queries per month, and Dataset usage terms, then click Save payment options. Monthly prices range from $0.50 to $10,000; quotas range from 1 to 10,000,000 queries. The quota is shared by each buyer's connected agents. Offer changes apply to new subscribers; existing subscriptions keep their price, quota, and terms.
If monthly payments are not enabled for your quarry environment, Settings shows the options with an availability message and disables saving them.
Publishing requires indexed content and the selected payment setup. The creator
API returns 409 when a requirement is unmet:
| Requirement | Error if unmet |
|---|---|
| Payout wallet ready when x402 is enabled | PAYOUT_WALLET_NOT_READY |
| Dataset ready with at least one indexed chunk | DATASET_EMPTY |
| Active monthly offer and ready Stripe account when x402 is disabled | SUBSCRIPTION_NOT_READY |
The public query API uses PAYOUT_NOT_CONFIGURED for a missing or invalid
payout address. See Error codes.
Set the price to 0 to make questions free: agents then get answers without
paying or holding a wallet, within rate limits. Free answers count as answered
questions in your usage, never as revenue.
Once published, your dataset has an endpoint at
https://quarry.market/{handle}/{slug} with a free GET contract. It appears in
Explore and in the MCP server's free search, which
ranks every dataset against an agent's question. Agents then ask your dataset,
paying per question with x402 (inside MCP or with a POST at that URL) or with
their subscription. x402 discovery metadata also supports indexing in Coinbase
x402 Bazaar when the CDP facilitator is configured.
Free preview in agent search
When an agent searches quarry, the top results can show a short free preview: up to 200 characters of the passage that best matches the question, with its file name and page. It helps agents choose your dataset; the full passages remain paid. Previews are limited per agent and per dataset.
The setting is under Settings → Pricing → Show a free preview in agent search. New datasets start with previews on, and the publish confirmation tells you which way it is set. You can switch it at any time, including while the dataset is live. Datasets published before previews existed start with them off.
Unpublish or retire
Unpublishing removes the dataset from public discovery and stops public x402 queries. Cached contracts and catalog pages can take longer to update.
A dataset with a subscription offer or protected paid access enters retirement: new sales stop, renewals are canceled, and existing subscribers retain access through the authenticated agent routes until their paid periods end. Its content is protected while subscriptions remain open or paid access remains. Once those periods and subscriptions have ended, use Return to draft to edit, delete, or publish a new offer.