The Tattoo pack draft is out

A shared language for service pricing · 0.1-draft

Universal
Quoting Protocol

An open standard so AI agents can quote services that don’t have a fixed price. Questions in → range + deposit out. A person confirms before it’s binding. Checkout stays on UCP or ACP.

quote.rangebusiness-owned · human-reviewed
lowroom for judgmenthigh
Learn ↗

Understand the protocol.

Questions, pricing and human review, in a shared language.

Implement ↗

Start with the objects.

Follow the JSON examples, then explore the reference bindings.

A common foundation

One protocol, every quote.

Agents can check out fixed-price goods. Tattoo, laser, wraps, and most consult work need questions and math first. UQP is that missing quote step.

Universal Quoting Protocol (UQP) separates what a business asks, how it prices and when a person decides.

QuestionsSize & placementReference imagePricing modelRangeDepositSessionsArtist reviewExpiryCodeUniversal Quoting ProtocolManifestPricing modelPacksquestions → range → reviewquote.accept → checkout handoffUCP checkoutACP checkoutDepositBookingHandoff targets · not implemented integrations
Quoting stays in the core. Checkout and booking stay outside it. Handoff targets are illustrative, not conformance claims.

Intake questions

A manifest describes the questions a business enables. Agents collect answers without inventing the missing details.

Pricing math

Business-owned factors produce an explainable range, deposit and session envelope.

Industry packs

Shared objects, trade-specific questions. Tattoo is the first pack; other packs remain planned.

Read the spec →

For businesses

Your prices,
your rules.

You set the rates, minimums and deposit rule. Agents never invent a number. Every quote is a range until you confirm it.

Business-owned math

Your pricing model is explicit. Change a rate or disable a factor without rewriting the conversation.

Review before it’s binding

Choose review before or after pricing. Uncertain requests wait for the person who can decide.

Deposits through your existing checkout

Keep payment outside the quoting core. An accepted quote can hand off to your checkout workflow.

See it in action

A quote you can follow.

Read the spec →

Six moments. One thread of structured data. Explore the Tattoo example, one step at a time.

QuoteManifest

Ask

The business tells an agent which questions are enabled and which pricing model to use.

Example data, not real prices.

See every field →
QuoteManifest · tattoo example
{
  "pack_id": "tattoo",
  "pack_version": "0.1.0",
  "enabled_questions": [
    "description",
    "placement",
    "size",
    "width",
    "height",
    "complexity",
    "style",
    "budget_min",
    "budget_max",
    "first_tattoo"
  ],
  "pricing_model_ref": "urn:uqp:tattoo:pricing:example",
  "artist_review_mode": "post_price",
  "expiry_days": 7,
  "currencies": [
    "USD"
  ]
}

Different roles. Shared context.

A clearer place to begin.

Developers

Inspect the objects and reference bindings before connecting a workflow.

Build from the spec →

Businesses

Keep control of the questions, rates and decisions that shape a quote.

Explore business controls →

Agent platforms

Collect structured answers and preserve the boundary between an estimate and a binding quote.

Read the transport notes →

For developers

Less guesswork.
More building.

Any transport

REST and MCP first, GraphQL next, A2A later. The core is transport-independent; bindings are still draft work.

Explore transports →

Plain JSON Schema

Inspect the fields, validate the payloads and use the language you already work in.

Get the schemas →
Build with UQP

Humans in the loop

Some answers
need a person.

When a request needs a person, it waits for one. The artist or owner confirms before a quote becomes binding.

Automation handles the repeatable work. People keep the judgment.

Explore the lifecycle →

Industry packs

Different work.
Shared foundations.

Planned · not available

What comes next

  • Laser removal
  • Agency websites
  • Auto wraps / PPF / tint
Help shape a pack →

An open invitation

Help write the pack for your industry.

Bring the questions your customers ask and the rules your shop actually uses. We’re co-designing packs with builders and owners — tattoo first.

Co-design a pack →

Signup is open. Name, email, and industry (repo link and notes optional).

Ready to look under the hood?