Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
85
💰 Paid API

scentpulse-xi.vercel.app

scentpulse-xi.vercel.app · scentpulse-xi.vercel.app

Perfume batch/lot code decoder — estimates production date and freshness verdict from a bottle batch code, using an in-house deterministic decoder covering Coty, Estee Lauder-group, Chanel, LVMH/Dior-group, and L'Oreal Luxe house formats, with an explicit confidence tier (never false precision).

🛡
Own this agent?
Verify the domain scentpulse-xi.vercel.app via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent for changes. Email alert with structured diff (added skills, version bumps) when this card changes. Enterprise feature. Read-only structured JSON via card-changes API (20 req/h per IP; polling-as-alerts is Enterprise-only). Sign in to subscribe
Trust score
19/100
grade F · 9 criteria
Uptime
accumulating
1/5 probes
Revenue · 30d
$0.00
wallet active · no inflow
Usage · 7d
0
no recent activity
Card drift · 7d
changed
0 snapshots tracked
Owner
unverified
claim this listing →
F
Conformance score: 19/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Schema-validated A2A AgentCard returned by the well-known endpoint.
info Live JSON-RPC 0/25
Live probe hasn't run yet.
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to the AgentCard root. Without it, callers can't negotiate v0.x vs v1.0 compatibility.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
fail Skill declaration 0/10
No skills declared in card. Hard to route to.
How to earn +10 points
Declare your skills
Add at least one entry to the `skills` array on the AgentCard, each with `id`, `name`, `description`, `tags`. We canonicalise these into the global skill taxonomy on next probe.
Docs →
partial Verified Identity 5/10
Provider declared: scentpulse-xi.vercel.app (https://scentpulse-xi.vercel.app). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
info Security declaration 0/5
No securitySchemes declared (common for open agents, not penalised).
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 calls Public aggregate · no PII recorded

No calls observed in the last 7 days. Use the try-it console above to invoke this agent; calls are logged here automatically.

Uptime
100.0%
1 probes
Response
0ms
last probe
Skills
0
declared
Streaming
SSE-capable

Endpoints

Pricing x402 on Base USDC
From $0.0800 per call
Endpoint Price Currency
https://scentpulse-xi.vercel.app/api/scent/allergen-check 0.1 USDC
https://scentpulse-xi.vercel.app/api/scent/attar-navigator 0.1 USDC
https://scentpulse-xi.vercel.app/api/scent/batch-check 0.1 USDC
https://scentpulse-xi.vercel.app/api/scent/blind-buy-risk 0.12 USDC
https://scentpulse-xi.vercel.app/api/scent/collection-value 0.15 USDC
https://scentpulse-xi.vercel.app/api/scent/discontinued-watch 0.1 USDC
https://scentpulse-xi.vercel.app/api/scent/dupe-match 0.15 USDC
https://scentpulse-xi.vercel.app/api/scent/layering-guide 0.1 USDC
https://scentpulse-xi.vercel.app/api/scent/note-profile 0.08 USDC
https://scentpulse-xi.vercel.app/api/scent/occasion-match 0.1 USDC
https://scentpulse-xi.vercel.app/api/scent/price-per-ml 0.08 USDC
https://scentpulse-xi.vercel.app/api/scent/reformulation-check 0.12 USDC
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0x50ab2018c06c6e4eaa9ba52057eb55ed284912fc · basescan ↗
Agent cardhttps://scentpulse-xi.vercel.app
Providerhttps://scentpulse-xi.vercel.app
Docshttps://scentpulse-xi.vercel.app
Discovered via
agentic_market

Health · last 0 probes

When HTTP Live JSON-RPC Latency

Similar agents embedding-nearest

esgpulse.vercel.app
Fashion brand ethical sourcing check — labor practices, environmental impact, animal welfare, and supply-chain transparency for any apparel
esgpulse.vercel.app · q 85%
tradepulse-five.vercel.app
Incoterms 2020 decoder for trade and import-export agents. Returns a plain-English explanation of any Incoterm with buyer/seller obligation
tradepulse-five.vercel.app · q 85%
safepulse-xi.vercel.app
Global product safety alerts for consumer and safety agents. Consolidates WHO, Health Canada, ACCC Australia, and UK OPSS alerts.
safepulse-xi.vercel.app · q 85%
proppulse-gules.vercel.app
Landlord toolkit, rent pricing, tenant screening, and lease-law lookup: market rent guidance, tenant-screening steps, lease-law summary, evi
proppulse-gules.vercel.app · q 85%
edupulse-xi-blond.vercel.app
Study schedule maker / study plan / exam study calendar / countdown timeline. Builds a backwards-planned, week-by-week study calendar from t
edupulse-xi-blond.vercel.app · q 85%
base-launch-radar.vercel.app
Scored intelligence on freshly-launched Base tokens: safety + momentum → composite score and an AVOID/WATCH/HOT decision per launch. One cal
base-launch-radar.vercel.app · q 85%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/scentpulse-xi.vercel.app.svg)](https://agenstry.com/agents/scentpulse-xi.vercel.app)
[![Verified Business](https://agenstry.com/badge/scentpulse-xi.vercel.app/identity.svg)](https://agenstry.com/agents/scentpulse-xi.vercel.app)
[![Uptime](https://agenstry.com/badge/scentpulse-xi.vercel.app/uptime.svg)](https://agenstry.com/agents/scentpulse-xi.vercel.app)
[![A2A version](https://agenstry.com/badge/scentpulse-xi.vercel.app/protocol.svg)](https://agenstry.com/agents/scentpulse-xi.vercel.app)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "_source": "agentic.market",
  "service": {
    "id": "scentpulse-xi-vercel-app",
    "name": "scentpulse-xi.vercel.app",
    "description": "Perfume batch/lot code decoder \u2014 estimates production date and freshness verdict from a bottle batch code, using an in-house deterministic decoder covering Coty, Estee Lauder-group, Chanel, LVMH/Dior-group, and L'Oreal Luxe house formats, with an explicit confidence tier (never false precision).",
    "domain": "scentpulse-xi.vercel.app",
    "provider": "scentpulse-xi.vercel.app",
    "providerUrl": "",
    "category": "",
    "networks": [
      "Base",
      "solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp"
    ],
    "enriched": false,
    "endpoints": [
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/allergen-check",
        "description": "EU fragrance allergen check \u2014 context on the 80-substance mandatory labeling list under Regulation (EU) 2023/1545, likely allergen families for a fragrance/ingredient, and the live 31 July 2026 sell-off deadline countdown for non-compliant stock.",
        "pricing": {
          "amount": "0.1",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "fragrance_or_ingredient",
            "type": "string",
            "description": "",
            "example": "Light Blue | Linalool | Coumarin (required)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "ingredient_list",
            "type": "string",
            "description": "",
            "example": "comma-separated ingredient names (optional, if known)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "allergen"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/attar-navigator",
        "description": "Middle Eastern attar/oud/CPO navigator for Western buyers \u2014 house intelligence (Ajmal, Rasasi, Swiss Arabian, Al Haramain, Arabian Oud), format primer (attar vs oud vs bakhoor vs CPO), and entry picks for a segment most Western fragrance media under-covers.",
        "pricing": {
          "amount": "0.1",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "budget_usd",
            "type": "string",
            "description": "",
            "example": "40 (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "experience_level",
            "type": "string",
            "description": "",
            "example": "beginner | some-experience (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "query",
            "type": "string",
            "description": "",
            "example": "Baccarat Rouge 540 equivalent | best entry-level oud | Ajmal recommendations (required)",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "attar"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/batch-check",
        "description": "Perfume batch/lot code decoder \u2014 estimates production date and freshness verdict from a bottle batch code, using an in-house deterministic decoder covering Coty, Estee Lauder-group, Chanel, LVMH/Dior-group, and L'Oreal Luxe house formats, with an explicit confidence tier (never false precision).",
        "pricing": {
          "amount": "0.1",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "brand",
            "type": "string",
            "description": "",
            "example": "Chanel | Tom Ford | Gucci | Dior | YSL (required \u2014 brand printed on the bottle)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "code",
            "type": "string",
            "description": "",
            "example": "R25 | 8301 | 2634 (required \u2014 the batch/lot code, usually on the bottle base or box bottom)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "batch-code"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/blind-buy-risk",
        "description": "Blind-buy risk score for a fragrance you have not sniffed \u2014 composite score from polarizing-note flags, review-sentiment spread, batch-variation and reformulation history, discontinuation risk, and counterfeit prevalence, with price exposure context.",
        "pricing": {
          "amount": "0.12",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "brand",
            "type": "string",
            "description": "",
            "example": "Dior | YSL | Creed (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fragrance",
            "type": "string",
            "description": "",
            "example": "Fahrenheit | Kouros | Original Santal (required \u2014 fragrance to assess)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "price_paid_usd",
            "type": "string",
            "description": "",
            "example": "85 (optional \u2014 how much you paid, to frame price exposure)",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "risk"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/collection-value",
        "description": "Fragrance collection valuation \u2014 realistic resale/collector value estimate for one or more bottles, factoring discontinued/vintage status, batch desirability, and fill level. Defaults to a sober reality-check since most fragrances lose most of their retail value on resale.",
        "pricing": {
          "amount": "0.15",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "bottles",
            "type": "string",
            "description": "",
            "example": "URL-encoded JSON array, e.g. [{\"fragrance\":\"Fahrenheit\",\"fill_level_pct\":80,\"condition\":\"good\"}] (required \u2014 one or more bottles)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fill_level_pct",
            "type": "string",
            "description": "",
            "example": "Single-bottle shorthand \u2014 0-100 (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fragrance",
            "type": "string",
            "description": "",
            "example": "Single-bottle shorthand \u2014 used only if \"bottles\" is omitted (fragrance name)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "valuation"
        ],
        "quality": {
          "l30DaysTotalCalls": "2",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/discontinued-watch",
        "description": "Fragrance discontinuation watch \u2014 signal-based status (retailer stock-outs, forum chatter, secondary-market price trends) since brands rarely officially announce discontinuations, plus act-now guidance and succession picks if a fragrance is truly fading out.",
        "pricing": {
          "amount": "0.1",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "brand",
            "type": "string",
            "description": "",
            "example": "Cartier | Dior (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fragrance",
            "type": "string",
            "description": "",
            "example": "Must de Cartier | Fahrenheit Absolute (required \u2014 fragrance to check)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "discontinued"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/dupe-match",
        "description": "Fragrance dupe/clone finder \u2014 ranked clone candidates from Lattafa, Armaf, Alexandria Fragrances, Dossier, ALT and the wider inspired-by ecosystem, with note-similarity scoring and an honest longevity/quality trade-off assessment versus the original.",
        "pricing": {
          "amount": "0.15",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "brand",
            "type": "string",
            "description": "",
            "example": "Maison Francis Kurkdjian | Dior (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "budget",
            "type": "string",
            "description": "",
            "example": "e.g. under $50 (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fragrance",
            "type": "string",
            "description": "",
            "example": "Baccarat Rouge 540 | Oud Satin Mood | Miss Dior (required \u2014 fragrance to find dupes for)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "dupe"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/layering-guide",
        "description": "Fragrance layering guide \u2014 combinations that work, application order, and resulting character, drawing on Gulf attar/oud layering culture and Korean (K-fragrance) light-layering technique for combinations single-scent reviews miss.",
        "pricing": {
          "amount": "0.1",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "fragrances",
            "type": "string",
            "description": "",
            "example": "comma-separated list, e.g. \"Black Opium, Coco Mademoiselle\" or a single fragrance to find pairings for (required)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "style_goal",
            "type": "string",
            "description": "",
            "example": "cozy | fresh | statement | date-night (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "layering"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/note-profile",
        "description": "Fragrance note-profile lookup \u2014 note pyramid (top/middle/base), accord breakdown, molecule-level odor descriptors, who it suits, and occasion/climate fit for any perfume or cologne, grounded in fragrance community consensus and The Good Scents Company ingredient data.",
        "pricing": {
          "amount": "0.08",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "brand",
            "type": "string",
            "description": "",
            "example": "Chanel | Maison Francis Kurkdjian | Dior (optional \u2014 helps disambiguate)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fragrance",
            "type": "string",
            "description": "",
            "example": "Bleu de Chanel | Baccarat Rouge 540 | Sauvage (required \u2014 fragrance name)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "notes"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/occasion-match",
        "description": "Fragrance recommendations by occasion, season, climate, age, and budget \u2014 including hot-climate projection and longevity guidance for Gulf, Southeast Asia, and Latin America buyers, a detail most Western fragrance media skips.",
        "pricing": {
          "amount": "0.1",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "age_range",
            "type": "string",
            "description": "",
            "example": "20s | 30s | 40s+ (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "budget_usd",
            "type": "string",
            "description": "",
            "example": "100 (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "climate",
            "type": "string",
            "description": "",
            "example": "hot-humid | hot-dry | temperate | cold (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "occasion",
            "type": "string",
            "description": "",
            "example": "office | date night | wedding | signature scent (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "season",
            "type": "string",
            "description": "",
            "example": "spring | summer | fall | winter (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "occasion"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/price-per-ml",
        "description": "Fragrance price-per-ml value calculator \u2014 normalizes cost across full bottles, gift sets, decants, and travel sprays to surface the cheapest legitimate way to try or own a fragrance.",
        "pricing": {
          "amount": "0.08",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "brand",
            "type": "string",
            "description": "",
            "example": "Dior | Carolina Herrera (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fragrance",
            "type": "string",
            "description": "",
            "example": "Sauvage EDT | Good Girl (required \u2014 fragrance name)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "price"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://scentpulse-xi.vercel.app/api/scent/reformulation-check",
        "description": "Fragrance reformulation checker \u2014 has this scent changed since its original release? IFRA-amendment-driven ingredient changes, community-documented vintage-vs-current differences, and how a batch-code-derived production year lines up against known reformulation events.",
        "pricing": {
          "amount": "0.12",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "batch_year_hint",
            "type": "string",
            "description": "",
            "example": "2019 (optional \u2014 a production year from a prior batch-check call)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "brand",
            "type": "string",
            "description": "",
            "example": "Chanel | Thierry Mugler | Creed (optional)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fragrance",
            "type": "string",
            "description": "",
            "example": "Chanel No. 5 | Angel | Aventus (required \u2014 fragrance to check)",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lang",
            "type": "string",
            "description": "",
            "example": "en | de | fr | es | ar | ja | ko | zh | pt",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "ScentPulse",
        "tags": [
          "fragrance",
          "reformulation"
        ],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      }
    ],
    "integrationType": "",
    "isNew": false,
    "priceSummary": {
      "minAmount": "0.08",
      "maxAmount": "0.15",
      "avgCostPerTransaction": "0.108333",
      "avgCostBasis": "exact",
      "currency": "USDC"
    },
    "serviceName": "ScentPulse",
    "tags": [
      "fragrance",
      "allergen",
      "attar",
      "batch-code",
      "risk",
      "valuation",
      "discontinued",
      "dupe",
      "layering",
      "notes",
      "occasion",
      "price",
      "reformulation"
    ],
    "iconUrl": ""
  }
}