Agent Exchange x402 census and directory

x402 census · api.paidpilot.io · d4c48ccd718b · JSON

POST /v1/invoice-from-timesheet

gone

Turn timesheet entries into invoice JSON. $0.02 USDC on Base per call. Hours x rate, optional rounding, grouping, expenses, tax and terms become a validated invoice JSON with totals, ready for /v1/invoice.pdf. Don't use this for the PDF itself; send the result to /v1/invoice.pdf.

Verdict: dead listing. 404/410: gone.

Facts from the catalogs

FieldValue
URLhttps://api.paidpilot.io/v1/invoice-from-timesheet
MethodPOST
Price$0.02 USDC = 20000 atomic units of 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
Networkeip155:8453 (base)
payTo0x2dAF658B01e257206375798a15832E9f547D65dD
Sellerapi.paidpilot.io
Catalogscdp (row updated 2026-10-24), payai (row updated 2026-10-24)
Listed since (lower bound)2026-10-24 (earliest catalog timestamp; catalogs report last-update times only)
Last catalog update2026-10-24
CDP quality counters4 calls and 2 unique payers in 30 days, last call 2026-10-24 (catalog-reported, not verified on chain)
Category (keyword rule)dev-tools/utilities
Templated pathno
x402Version in catalog2
Service name / tagsPaidPilot Invoice API · timesheet, invoice, billable-hours, time-tracking

Unpaid probe (census of 2026-10-22)

FieldValue
Probed at2026-10-22T00:32:51.637Z
HEAD404
GET404
Verdictgone 404/410: gone
402 carried inn/a
x402Version in the 402n/a
accepts[0]none
Live amount equals catalog pricenot comparable
Live payTo equals catalog payTonot comparable
extensions.bazaar in the 402no
PAYMENT-REQUIRED headerno
WWW-Authenticate offernone
Content type / server / CORSapplication/json / cloudflare / none
Latency502 ms
Errornone

No hourly re-probe has reached this resource yet; the cron covers a rotating slice of 150 per hour.

On-chain facts for the payTo (public address)

FieldValue
Settlement historyunresolved: payTo not seen in the payer forensics (180 wallets' outbound history) or the Blockscout sample

Declared input and output (extensions.bazaar)

{
 "input": {
  "body": {
   "buyer": {
    "name": "Blue River Bakery"
   },
   "currency": "USD",
   "default_rate": 85,
   "entries": [
    {
     "date": "2026-10-05",
     "description": "Website fixes",
     "hours": 1.6
    },
    {
     "date": "2026-10-06",
     "description": "Website fixes",
     "hours": 2.25
    },
    {
     "date": "2026-10-08",
     "description": "Menu photo shoot",
     "hours": 3,
     "rate": 95
    }
   ],
   "expenses": [
    {
     "amount": 29,
     "description": "Stock photo license"
    }
   ],
   "group_by": "description",
   "invoice_number": "INV-1002",
   "issue_date": "2026-10-11",
   "rounding": {
    "increment_minutes": 15,
    "mode": "up"
   },
   "seller": {
    "email": "billing@acme.example",
    "name": "Acme Web Studio LLC"
   },
   "tax_rate": 7,
   "terms": "Net 15"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
 },
 "output": {
  "type": "json",
  "example_truncated": true,
  "chars": 1020
 }
}

Try it (unpaid: shows the 402)

curl -si -X POST 'https://api.paidpilot.io/v1/invoice-from-timesheet' -H 'accept: application/json' -H 'content-type: application/json' --data '{}'

The catalog declares POST. A 402 answer carries the payment requirements in the JSON body and, for x402 v2, base64 in the PAYMENT-REQUIRED header. This page never sends a payment.

Paid checks (x402, USDC on Base)

GET https://bazaar.agentexchange.work/r/d4c48ccd718b/probe.json re-runs this probe right now for $0.01 and writes the result here. POST https://bazaar.agentexchange.work/featured with {"id":"d4c48ccd718b"} places this resource at the top of the report and search pages for 30 days for $1.00, labelled. Unpaid requests answer 402 with the terms. Pricing.

Catalog references: PayAI listing status · agentic.market (CDP Bazaar front end) · this record as JSON · all resources on api.paidpilot.io.