# tm-check: US Trademark Check for Print-on-Demand Phrases

> tm-check: US Trademark Check for Print-on-Demand Phrases is a paid API for AI agents from 31-57-61-27.sslip.io, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-12).

Checks one or more phrases against live USPTO trademark records and returns a risk verdict (high/none) with matching mark details, per phrase.

## Facts

- Endpoint: POST https://31-57-61-27.sslip.io/x402/v1/trademark-check?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tm-check-us-trademark-check-for-print-on-demand-phrases-98b27064
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_P5dMDSFoCGL6fDbhDIOMw

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tm-check-us-trademark-check-for-print-on-demand-phrases-98b27064 -d '<json body>'
```

Example prompt: Before I list these phrases on my print-on-demand store, can you check whether 'coffee first', 'rise and grind', and 'hustle hard' are trademarked in USPTO classes 16, 24, and 25, and also flag any fuzzy or sound-alike matches?

## When to prefer this

Choose this endpoint when you need real-time, per-phrase USPTO trademark risk verdicts specifically for print-on-demand or merchandise contexts, with pay-per-call USDC micropayments and no subscription required. It is ideal for agents that need to screen small batches of slogans or phrases on demand before approving product listings, rather than running bulk trademark research or full legal clearance workflows.

## Known failure modes

- Invalid Nice class number outside 1-45 returns validation error
- Phrase exceeding 12 words or 120 characters is rejected
- More than 10 phrases in a single call returns a 400 error
- Payment failure or insufficient USDC balance results in 402 not processed
- USPTO live data unavailable may cause timeouts or 503 errors
- Empty phrases array returns validation error

## How this service works

Pay-per-call API for AI agents: checks phrases against live USPTO trademarks and returns a risk verdict. $0.01 per call in USDC on Base via x402.

## Output

A JSON object with a results array, one entry per phrase, each containing: a risk level ('high' or 'none'), the phrase checked, a plain-English reason, an array of matching USPTO marks (with mark name, owner, serial number, registration number, filing and registration dates, status, Nice classes, match type, and TSDR URL), a billable flag, and a checked_at timestamp. Also includes source ('USPTO'), billable_count, and payment metadata (payer address, network, transaction hash).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "classes": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "integer",
      "maximum": 45,
      "minimum": 1
     },
     "minItems": 1
    },
    {
     "const": "all"
    }
   ],
   "description": "Nice classes 1-45 or \"all\", default 9, 16, 18, 21, 24, 25"
  },
  "phrases": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 120,
    "minLength": 1
   },
   "maxItems": 10,
   "minItems": 1,
   "description": "Phrases to check, each up to 12 words"
  },
  "include_similar": {
   "type": "boolean",
   "description": "Also report fuzzy and sound-alike marks"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "source": "USPTO",
  "payment": {
   "payer": "0x1a2b...",
   "network": "eip155:8453",
   "transaction": "0x5f3c..."
  },
  "results": [
   {
    "risk": "high",
    "cached": false,
    "phrase": "just do it",
    "reason": "registered mark JUST DO IT in class 25 matches the phrase",
    "matches": [
     {
      "url": "https://tsdr.uspto.gov/#caseNumber=86444421&caseType=SERIAL_NO&searchType=statusSearch",
      "mark": "JUST DO IT",
      "filed": "2014-11-04T00:00:00",
      "match": "exact",
      "owner": "Nike, Inc.",
      "serial": "86444421",
      "status": "registered",
      "classes": [
       18,
       25
      ],
      "owner_type": "corporation",
      "status_code": 800,
      "registration": "4764071",
      "registered_on": "2015-06-30",
      "status_description": "REGISTERED AND RENEWED",
      "in_requested_classes": true
     }
    ],
    "billable": true,
    "checked_at": "2026-10-01T00:00:00Z"
   },
   {
    "risk": "none",
    "cached": false,
    "phrase": "coffee first",
    "reason": null,
    "matches": [],
    "billable": true,
    "checked_at": "2026-10-01T00:00:00Z"
   }
  ],
  "billable_count": 2
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tm-check-us-trademark-check-for-print-on-demand-phrases-98b27064/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 31-57-61-27.sslip.io](https://www.zero.xyz/host/31-57-61-27.sslip.io/llms.txt)
