Crinkl provides real-time, verified, identity-free commerce signals from U.S. consumers who are rewarded in Bitcoin for purchase participation. Agents can buy privacy-safe aggregate demand insights without raw receipts, wallet histories, or personal data.
Pay from $0.001 per request in USDC on Base / Solana, settled onchain via the x402 protocol, no signup, no API key needed.
UPTIME 24H 100% │ 7D 99.5% │ 30D 98.7%
ENDPOINTS
| METHOD | PATH | DESCRIPTION | PRICE | NETWORK | ASSET |
|---|---|---|---|---|---|
| GET | /x402/campaign-fit-estimate | $0.10 | Base/Solana | USDC | |
| GET | /x402/category-pulse | $0.03 | Base/Solana | USDC | |
| GET | /x402/crinkl-verified-commerce-signals | $0.001 | Base/Solana | USDC | |
| GET | /x402/geos/available | $0.03 | Base/Solana | USDC | |
| GET | /x402/merchant-category-signal | $0.05 | Base/Solana | USDC | |
| GET | /x402/next-best-signal | $0.01 | Base/Solana | USDC |
6 endpoints
REQUEST / RESPONSE EXAMPLE
An unpaid request to GET /x402/campaign-fit-estimate returns HTTP 402 with the payment terms. Settle onchain via your facilitator, then retry with the X-Payment header.
// request
curl -i 'https://api.crinkl.xyz/x402/campaign-fit-estimate'
// 402 response (captured by monitor)
[
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://api.crinkl.xyz/x402/geos/available"
},
"payTo": "0x3761160148849c000e3A2B05F48BC0C6FAbb5f44",
"amount": "25000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"resource": "https://api.crinkl.xyz/x402/geos/available"
},
"payTo": "x5VVjKcqcMCdejk39CXJuMxtvEpCvZLMVXFfe2EWA4d",
"amount": "25000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://api.crinkl.xyz/x402/geos/available",
"mimeType": "application/json",
"description": "Get CBSAs with enough verified activity for geo-scoped planning."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"days": 14,
"limit": 10,
"category": "beverage"
}
},
"output": {
"type": "json",
"example": {
"inputs": {
"days": 14,
"limit": 10,
"category": "beverage"
},
"object": "crinkl_paid_report",
"license": {
"tier": "x402_single_use",
"redistribution": "not_allowed"
},
"privacy": {
"smallCells": "suppressed",
"rawReceipts": "not_returned",
"walletHistories": "not_returned",
"identifiablePurchaseRecords": "not_returned"
},
"results": {
"dataType": "verified_purchase_data",
"buyerUseCase": "metro market selection for CPG and retail campaigns",
"privacyClass": "aggregate_only_no_personal_data",
"availableGeos": [
{
"geo": "cbsa:29820",
"label": "Las Vegas-Henderson-Paradise, NV",
"nextRouteTemplate": "/x402/campaign-fit-estimate?category=beverage&days=14&geo=<geo>",
"verifiedSpendCountBucket": "25-49"
}
],
"marketplaceCategory": "Data"
},
"reportId": "rpt_example_available_metro_signals",
"reportType": "available_metro_signals"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"category"
],
"properties": {
"days": {
"type": "integer",
"default": 14,
"maximum": 30,
"minimum": 1
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"category": {
"type": "string",
"description": "Crinkl category slug or display category."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://api.crinkl.xyz/x402/merchant-category-signal"
},
"payTo": "0x3761160148849c000e3A2B05F48BC0C6FAbb5f44",
"amount": "50000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"resource": "https://api.crinkl.xyz/x402/merchant-category-signal"
},
"payTo": "x5VVjKcqcMCdejk39CXJuMxtvEpCvZLMVXFfe2EWA4d",
"amount": "50000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://api.crinkl.xyz/x402/merchant-category-signal",
"mimeType": "application/json",
"description": "Get merchant and category activity signals for retailer fit analysis."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"geo": "US",
"days": 14,
"category": "beverage",
"merchant": "crinkl-store-target"
}
},
"output": {
"type": "json",
"example": {
"inputs": {
"geo": "US",
"days": 14,
"category": "beverage",
"merchant": "crinkl-store-target"
},
"object": "crinkl_paid_report",
"window": {
"geo": "US",
"days": 14
},
"license": {
"tier": "x402_single_use",
"redistribution": "not_allowed"
},
"privacy": {
"smallCells": "suppressed",
"rawReceipts": "not_returned",
"walletHistories": "not_returned",
"identifiablePurchaseRecords": "not_returned"
},
"reportId": "rpt_example_merchant_category_signal",
"reportType": "merchant_category_signal",
"bucketedResults": {
"trend": "observed",
"dataType": "verified_purchase_data",
"suppressed": false,
"buyerUseCase": "retailer selection for CPG and retail campaigns",
"privacyClass": "aggregate_only_no_personal_data",
"verifiedGmvBucket": "$1k-5k",
"marketplaceCategory": "Data",
"verifiedSpendCountBucket": "50-99"
}
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"merchant"
],
"properties": {
"geo": {
"type": "string",
"default": "US",
"description": "US, cbsa:<code>, or a CBSA code."
},
"days": {
"type": "integer",
"default": 14,
"maximum": 30,
"minimum": 1
},
"category": {
"type": "string",
"description": "Optional Crinkl category slug or display category."
},
"merchant": {
"type": "string",
"description": "Canonical Crinkl store id."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://api.crinkl.xyz/x402/category-pulse"
},
"payTo": "0x3761160148849c000e3A2B05F48BC0C6FAbb5f44",
"amount": "25000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"resource": "https://api.crinkl.xyz/x402/category-pulse"
},
"payTo": "x5VVjKcqcMCdejk39CXJuMxtvEpCvZLMVXFfe2EWA4d",
"amount": "25000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://api.crinkl.xyz/x402/category-pulse",
"mimeType": "application/json",
"description": "Get category demand trends from receipt-verified purchases."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"geo": "US",
"days": 14,
"category": "beverage"
}
},
"output": {
"type": "json",
"example": {
"inputs": {
"geo": "US",
"days": 14,
"category": "beverage"
},
"object": "crinkl_paid_report",
"window": {
"geo": "US",
"days": 14
},
"license": {
"tier": "x402_single_use",
"redistribution": "not_allowed"
},
"privacy": {
"smallCells": "suppressed",
"rawReceipts": "not_returned",
"walletHistories": "not_returned",
"identifiablePurchaseRecords": "not_returned"
},
"results": {
"dataType": "verified_purchase_data",
"suppressed": false,
"buyerUseCase": "category demand analysis for CPG and retail marketing",
"privacyClass": "aggregate_only_no_personal_data",
"observedLiftPct": 52.7,
"verifiedGmvBucket": "$10k-25k",
"verifiedSpendCount": 184,
"marketplaceCategory": "Data"
},
"reportId": "rpt_example_category_pulse",
"reportType": "category_pulse"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"category"
],
"properties": {
"geo": {
"type": "string",
"default": "US",
"description": "US, cbsa:<code>, or a CBSA code."
},
"days": {
"type": "integer",
"default": 14,
"maximum": 30,
"minimum": 1
},
"category": {
"type": "string",
"description": "Crinkl category slug or display category."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://api.crinkl.xyz/x402/next-best-signal"
},
"payTo": "0x3761160148849c000e3A2B05F48BC0C6FAbb5f44",
"amount": "10000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"resource": "https://api.crinkl.xyz/x402/next-best-signal"
},
"payTo": "x5VVjKcqcMCdejk39CXJuMxtvEpCvZLMVXFfe2EWA4d",
"amount": "10000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://api.crinkl.xyz/x402/next-best-signal",
"mimeType": "application/json",
"description": "Get the next Crinkl signal to buy for a campaign, retailer, category, or geo question."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"geo": "US",
"days": 14,
"goal": "first_campaign",
"category": "beverage"
}
},
"output": {
"type": "json",
"example": {
"inputs": {
"geo": "US",
"days": 14,
"goal": "first_campaign",
"category": "beverage"
},
"object": "crinkl_paid_report",
"license": {
"tier": "x402_single_use",
"redistribution": "not_allowed"
},
"privacy": {
"smallCells": "suppressed",
"rawReceipts": "not_returned",
"walletHistories": "not_returned",
"identifiablePurchaseRecords": "not_returned"
},
"results": {
"dataType": "verified_purchase_data",
"nextSignals": [
{
"url": "/x402/campaign-fit-estimate?category=beverage&days=14&geo=US",
"route": "/x402/campaign-fit-estimate",
"priceUsd": "$0.10",
"question": "Which retailer should we test first for beverage?"
}
],
"buyerUseCase": "agent routing for CPG, retail, and marketing analytics data",
"privacyClass": "aggregate_only_no_personal_data",
"upgradePaths": [
"campaign_or_enterprise_agreement_required"
],
"marketplaceCategory": "Data"
},
"reportId": "rpt_example_next_best_signal",
"reportType": "next_best_signal"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"goal"
],
"properties": {
"geo": {
"type": "string",
"default": "US",
"description": "US, cbsa:<code>, or a CBSA code."
},
"days": {
"type": "integer",
"default": 14,
"maximum": 30,
"minimum": 1
},
"goal": {
"type": "string",
"description": "first_campaign, retailer_compare, metro_test, campaign_measurement, or general."
},
"category": {
"type": "string",
"description": "Optional Crinkl category slug or display category."
},
"merchant": {
"type": "string",
"description": "Optional canonical Crinkl store id."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://api.crinkl.xyz/x402/campaign-fit-estimate"
},
"payTo": "0x3761160148849c000e3A2B05F48BC0C6FAbb5f44",
"amount": "100000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"resource": "https://api.crinkl.xyz/x402/campaign-fit-estimate"
},
"payTo": "x5VVjKcqcMCdejk39CXJuMxtvEpCvZLMVXFfe2EWA4d",
"amount": "100000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://api.crinkl.xyz/x402/campaign-fit-estimate",
"mimeType": "application/json",
"description": "Get a campaign fit estimate from category demand and retailer activity."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"geo": "US",
"days": 14,
"category": "beverage",
"merchant": "crinkl-store-target"
}
},
"output": {
"type": "json",
"example": {
"inputs": {
"geo": "US",
"days": 14,
"category": "beverage",
"merchant": "crinkl-store-target"
},
"object": "crinkl_paid_report",
"window": {
"geo": "US",
"days": 14
},
"license": {
"tier": "x402_single_use",
"redistribution": "not_allowed"
},
"privacy": {
"smallCells": "suppressed",
"rawReceipts": "not_returned",
"walletHistories": "not_returned",
"identifiablePurchaseRecords": "not_returned"
},
"results": {
"fitTier": "strong_first_campaign_fit",
"dataType": "verified_purchase_data",
"buyerUseCase": "first campaign recommendation for CPG and retail marketing",
"privacyClass": "aggregate_only_no_personal_data",
"categorySignal": "not_suppressed",
"merchantSignal": "not_suppressed",
"recommendation": "ready_for_campaign_plan",
"repeatSpendSignal": "campaign_or_enterprise_only",
"marketplaceCategory": "Data",
"incrementalSalesSignal": "campaign_or_enterprise_only"
},
"reportId": "rpt_example_campaign_fit_estimate",
"reportType": "campaign_fit_estimate"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [
"category"
],
"properties": {
"geo": {
"type": "string",
"default": "US",
"description": "US, cbsa:<code>, or a CBSA code."
},
"days": {
"type": "integer",
"default": 14,
"maximum": 30,
"minimum": 1
},
"category": {
"type": "string",
"description": "Crinkl category slug or display category."
},
"merchant": {
"type": "string",
"description": "Optional canonical Crinkl store id. Omit to rank retailers."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
},
{
"error": "Payment required",
"accepts": [
{
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2",
"resource": "https://api.crinkl.xyz/x402/crinkl-verified-commerce-signals"
},
"payTo": "0x3761160148849c000e3A2B05F48BC0C6FAbb5f44",
"amount": "1000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
{
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"extra": {
"feePayer": "D6ZhtNQ5nT9ZnTHUbqXZsTx5MH2rPFiBBggX4hY1WePM",
"resource": "https://api.crinkl.xyz/x402/crinkl-verified-commerce-signals"
},
"payTo": "x5VVjKcqcMCdejk39CXJuMxtvEpCvZLMVXFfe2EWA4d",
"amount": "1000",
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"maxTimeoutSeconds": 300
}
],
"resource": {
"url": "https://api.crinkl.xyz/x402/crinkl-verified-commerce-signals",
"mimeType": "application/json",
"description": "Verified commerce signals for marketing agents - access privacy-thresholded aggregate purchase activity and proof-backed shopper activation from rewarded consumer purchase evidence."
},
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET",
"queryParams": {
"goal": "first_campaign"
}
},
"output": {
"type": "json",
"example": {
"object": "crinkl_paid_report",
"license": {
"tier": "x402_single_use",
"redistribution": "not_allowed"
},
"privacy": {
"smallCells": "suppressed",
"rawReceipts": "not_returned",
"walletHistories": "not_returned",
"identifiablePurchaseRecords": "not_returned"
},
"results": {
"dataType": "privacy_thresholded_commerce_signals",
"endpoints": [
{
"route": "/x402/category-pulse",
"answers": "Is verified category activity visible and directionally moving?",
"priceUsd": "$0.025"
},
{
"route": "/x402/merchant-category-signal",
"answers": "Does a retailer/category pair clear threshold?",
"priceUsd": "$0.05"
},
{
"route": "/x402/campaign-fit-estimate",
"answers": "Is this category/retailer ready for a first campaign?",
"priceUsd": "$0.10"
}
],
"upgradePath": "Strong x402 signals can become campaign_or_enterprise opportunities for proof-backed shopper activation, verified-purchase outcomes, repeat spend, incremental sales, and buyer feedback.",
"buyerUseCase": "retail media measurement, campaign testing, activation readiness, and commerce intelligence",
"privacyClass": "aggregate_only_no_personal_data",
"marketplaceCategory": "Data"
},
"reportId": "rpt_example_crinkl_verified_commerce_signals",
"reportType": "crinkl_verified_commerce_signals",
"productName": "Crinkl"
}
}
},
"schema": {
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "Optional marketing goal, for example first_campaign, retailer_compare, metro_test, or campaign_measurement."
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object"
}
}
}
}
}
}
},
"x402Version": 2
}
] UPTIME
RESPONSE TIME
30d UPTIME 98.7%
UPTIME 30D 98.7%
AVG RESP 253ms
TOTAL CHECKS 2,769
RECENT CHECKS
TIME STATUS RESP
● OK 293ms
● OK 285ms
● OK 239ms
● OK 266ms
● OK 260ms
● OK 252ms
● OK 278ms
● OK 219ms
● OK 261ms
● OK 272ms
● OK 306ms
● OK 252ms
● OK 226ms
● OK 208ms
● OK 250ms
EMBED THIS BADGE
// HTML
<a href="https://x402-list.com/services/crinkl?utm_source=badge&utm_medium=referral&utm_campaign=embed"> <img src="https://x402-list.com/badge/crinkl.svg" alt="Crinkl listed on x402-list" height="26"> </a>
// Markdown
[](https://x402-list.com/services/crinkl?utm_source=badge&utm_medium=referral&utm_campaign=embed)