Social Post / Price Timing Check
Social Post / Price Timing Check. Whether social posts led or lagged the price move, measured on Robinhood-chain token launches only — not BTC, ETH or listed majors. Post times are recovered arithmetically from X snowflake ids. The sample is small, outcome-se…
by app.tenna.ai · discovered, not yet claimed by its owner · updated 2026-10-08
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
Social Post / Price Timing Check. Whether social posts led or lagged the price move, measured on Robinhood-chain token launches only — not BTC, ETH or listed majors. Post times are recovered arithmetically from X snowflake ids. The sample is small, outcome-selected from pumped launches, and can be weeks old; its age in days ships with the result. In our sample posts lagged the move, so this is a timing disclosure and never an early-warning or entry signal.
Tags: social · timing · price · evidence · bazaar
Call contract
- Method
- POST
- Input
- json
- Output
- json
- Last paid call
- 2026-10-08
{
"offering": "social_timing_check"
}{
"leadDistributionMinutes": {
"maximum": null,
"median": null,
"minimum": null,
"p25": null,
"p75": null,
"unit": "<unit>"
},
"limitations": [
"<limitations>"
],
"offering": "social_timing_check",
"provenance": {
"auditedDeliverableHash": null,
"generatedAt": 1,
"ledgerLaunchCount": null,
"ledgerSpanHours": null,
"resultHash": null,
"rubricVersion": null,
"source": "<source>"
},
"sampleInference": {
"populationEstimateValid": true,
"reason": "<reason>",
"refreshState": "<refreshState>",
"scope": "<scope>"
},
"sampleLeadMinutes": [
1
],
"sampleObservedAt": null,
"sampleSelection": {
"chain": "<chain>",
"group": "<group>",
"minimumSwaps": null,
"outcomeSelected": true,
"pumpThresholdMultiple": null,
"ranking": "<ranking>",
"searchKey": "<searchKey>"
},
"sampleSize": 1,
"sampleTokens": [
"<sampleTokens>"
],
"sampleWindow": {
"durationSeconds": null,
"earliestFirstPostAt": null,
"latestFirstPostAt": null
},
"schemaVersion": "<schemaVersion>",
"verdict": "<verdict>"
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/26978.jsonfor the price and payment options. - Pay. Call
GET https://app.tenna.ai/api/x402/lumi/social_timing_check. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.01 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base
- Demand
- 5 calls · 4 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.01 | 0x7eaf3c393a8996e124c0fa7ccbc55019854c4c5b | 60s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x7eaf3c393a8996e124c0fa7ccbc55019854c4c5b",
"asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"amount": "10000",
"amountUsd": 0.01,
"maxTimeoutSeconds": 60
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"additionalProperties": true,
"properties": {
"laggingPct": {
"description": "Share of posts that lagged.",
"type": [
"number",
"null"
]
},
"laggingPosts": {
"description": "Posts that came after the move.",
"type": [
"integer",
"null"
]
},
"leadDistributionMinutes": {
"additionalProperties": false,
"description": "Descriptive five-number summary of this selected sample; not a population confidence interval.",
"properties": {
"maximum": {
"description": "Maximum observed lead.",
"type": [
"number",
"null"
]
},
"median": {
"description": "Statistical sample median.",
"type": [
"number",
"null"
]
},
"minimum": {
"description": "Minimum observed lead.",
"type": [
"number",
"null"
]
},
"p25": {
"description": "Median of the lower half.",
"type": [
"number",
"null"
]
},
"p75": {
"description": "Median of the upper half.",
"type": [
"number",
"null"
]
},
"unit": {
"description": "minutes",
"type": "string"
}
},
"required": [
"minimum",
"p25",
"median",
"p75",
"maximum",
"unit"
],
"type": "object"
},
"limitations": {
"description": "Coverage limits and missing data, always disclosed.",
"items": {
"type": "string"
},
"type": "array"
},
"medianLeadMinutes": {
"description": "Negative means posts came after the move.",
"type": [
"number",
"null"
]
},
"offering": {
"const": "social_timing_check",
"description": "Offering that produced this result.",
"type": "string"
},
"provenance": {
"description": "Reproducibility metadata so another agent can audit this.",
"properties": {
"auditedDeliverableHash": {
"description": "Explicit alias for resultHash on deliverable-audit results; hashes the buyer-supplied input, not the audit envelope.",
"type": [
"string",
"null"
]
},
"generatedAt": {
"description": "Unix seconds.",
"type": "integer"
},
"ledgerLaunchCount": {
"description": "Launches in the ledger. Null when the offering is not derived from the launch ledger — this means not applicable, not collection failure.",
"type": [
"integer",
"null"
]
},
"ledgerSpanHours": {
"description": "Hours of history covered. Null when the offering is not derived from the launch ledger.",
"type": [
"number",
"null"
]
},
"resultHash": {
"description": "Hash of the audited input, so the same verdict can be reproduced. Present on audit offerings.",
"type": [
"string",
"null"
]
},
"rubricVersion": {
"description": "Rubric the verdict was produced under. Present on audit offerings.",
"type": [
"string",
"null"
]
},
"source": {
"description": "Data origin.",
"type": "string"
}
},
"type": "object"
},
"sampleAgeDays": {
"description": "How old the frozen sample is at delivery, in days. Stated so the age does not have to be derived by subtracting two Unix times. A large value means the observation is historical, not current.",
"type": [
"number",
"null"
]
},
"sampleInference": {
"additionalProperties": false,
"description": "Machine-readable boundary for the small, outcome-selected historical sample.",
"properties": {
"populationEstimateValid": {
"description": "Always false for this outcome-selected artifact.",
"type": "boolean"
},
"reason": {
"description": "SMALL_OUTCOME_SELECTED_SAMPLE.",
"type": "string"
},
"refreshState": {
"description": "HISTORICAL | CURRENT_WITHIN_30_DAYS | UNKNOWN.",
"type": "string"
},
"scope": {
"description": "SELECTED_SAMPLE_ONLY.",
"type": "string"
}
},
"required": [
"scope",
"populationEstimateValid",
"reason",
"refreshState"
],
"type": "object"
},
"sampleLeadMinutes": {
"description": "Sorted per-token lead minutes used to recompute sampleSize, medianLeadMinutes, laggingPosts, laggingPct, and the distribution. Negative values mean the post lagged the price move.",
"items": {
"type": "number"
},
"type": "array"
},
"sampleObservedAt": {
"description": "Unix time when the frozen source artifact was written.",
"type": [
"integer",
"null"
]
},
"sampleSelection": {
"additionalProperties": false,
"description": "Outcome-selected sampling rule and search basis.",
"properties": {
"chain": {
"description": "Chain sampled.",
"type": "string"
},
"group": {
"description": "Eligible sample group.",
"type": "string"
},
"minimumSwaps": {
"description": "Minimum swap observations for eligibility.",
"type": [
"integer",
"null"
]
},
"outcomeSelected": {
"description": "True: the sample was selected using later outcome.",
"type": "boolean"
},
"pumpThresholdMultiple": {
"description": "Minimum peak multiple for the pumped group.",
"type": [
"number",
"null"
]
},
"ranking": {
"description": "Deterministic selection order.",
"type": "string"
},
"searchKey": {
"description": "Exact social-search key type.",
"type": "string"
}
},
"required": [
"chain",
"group",
"ranking",
"pumpThresholdMultiple",
"minimumSwaps",
"searchKey",
"outcomeSelected"
],
"type": "object"
},
"sampleSize": {
"description": "Tokens with a measured lead time.",
"type": "integer"
},
"sampleTokens": {
"description": "Every token behind the aggregate, so the sample can be audited rather than trusted.",
"items": {
"type": "string"
},
"type": "array"
},
"sampleWindow": {
"additionalProperties": false,
"description": "First-post span the sample was measured over.",
"properties": {
"durationSeconds": {
"description": "Observed span between the earliest and latest first posts.",
"type": [
"integer",
"null"
]
},
"earliestFirstPostAt": {
"description": "Earliest first post.",
"type": [
"integer",
"null"
]
},
"latestFirstPostAt": {
"description": "Latest first post.",
"type": [
"integer",
"null"
]
}
},
"required": [
"earliestFirstPostAt",
"latestFirstPostAt",
"durationSeconds"
],
"type": "object"
},
"schemaVersion": {
"description": "Deliverable contract version.",
"type": "string"
},
"verdict": {
"description": "SOCIAL_LAGS_PRICE | MIXED | NO_SAMPLE.",
"type": "string"
}
},
"required": [
"schemaVersion",
"offering",
"provenance",
"limitations",
"sampleSize",
"verdict",
"sampleTokens",
"sampleWindow",
"sampleLeadMinutes",
"leadDistributionMinutes",
"sampleObservedAt",
"sampleSelection",
"sampleInference"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {
"laggingPct": 0,
"laggingPosts": 0,
"leadDistributionMinutes": {
"maximum": 0,
"median": 0,
"minimum": 0,
"p25": 0,
"p75": 0,
"unit": "string"
},
"limitations": [
"string"
],
"medianLeadMinutes": 0,
"offering": "string",
"provenance": {
"auditedDeliverableHash": "string",
"generatedAt": 0,
"ledgerLaunchCount": 0,
"ledgerSpanHours": 0,
"resultHash": "string",
"rubricVersion": "string",
"source": "string"
},
"sampleAgeDays": 0,
"sampleInference": {
"populationEstimateValid": true,
"reason": "string",
"refreshState": "string",
"scope": "string"
},
"sampleLeadMinutes": [
0
],
"sampleObservedAt": 0,
"sampleSelection": {
"chain": "string",
"group": "string",
"minimumSwaps": 0,
"outcomeSelected": true,
"pumpThresholdMultiple": 0,
"ranking": "string",
"searchKey": "string"
},
"sampleSize": 0,
"sampleTokens": [
"string"
],
"sampleWindow": {
"durationSeconds": 0,
"earliestFirstPostAt": 0,
"latestFirstPostAt": 0
},
"schemaVersion": "string",
"verdict": "string"
},
"type": "string"
}Examples
curl "https://app.tenna.ai/api/x402/lumi/social_timing_check"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://app.tenna.ai/api/x402/lumi/social_timing_check");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://app.tenna.ai/api/x402/lumi/social_timing_check")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- app.tenna.ai
- Endpoint
- https://app.tenna.ai/api/x402/lumi/social_timing_check
- Machine-readable
/resources/26978.json