Returns JSON with new tokens on Base that just got liquidity: Uniswap v3 pools created in the last hours against WETH or USDC, read on-chain from pool creation events, with price, depth and age.
Use when you need altcoin discovery, new token listings or fresh Base tokens with real liquidity to research.
Do not use for established coins, other chains or DEXs, price history, trading signals or token safety audits.
Price: 0.005 USDC per call (x402, eip155:8453). Typical response time: 3000 ms (p95).
POST https://x402-gateway.blackwoodstate8.workers.dev/v1/altcoin-discovery. A request without payment gets 402 Payment Required with the
PAYMENT-REQUIRED header; any x402 client signs an EIP-3009 authorization and retries with
PAYMENT-SIGNATURE (or X-PAYMENT). Invalid input is answered with 400 and not charged.
curl -i -X POST https://x402-gateway.blackwoodstate8.workers.dev/v1/altcoin-discovery -H 'content-type: application/json' -d '{"hours":24,"limit":3}'
| Pay to | 0xb510c30097476eC5863B5b3aA486F1838a8619EA |
|---|---|
| Asset | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (USDC) |
| Amount | 5000 atomic units (0.005 USDC) |
| Authorization window | 60 s |
Streamable HTTP at https://x402-gateway.blackwoodstate8.workers.dev/mcp, tool blackwood_altcoin_discovery. Payment goes in
_meta["x402/payment"]; without it the tool returns the payment requirements.
| Field | Type | Meaning |
|---|---|---|
hours (optional) | integer | Look back this many hours for new pools, 1 to 72 (24 when omitted), e.g. 24 |
minDepthUsd (optional) | number | Minimum USD on the WETH or USDC side of the pool (5000 when omitted), e.g. 10000 |
limit (optional) | integer | Tokens to return, 1 to 25 (10 when omitted), e.g. 5 |
quote (optional) | string | Quote side of the pool (any when omitted), e.g. "WETH" |
Example:
{
"hours": 24,
"limit": 3
}
Real example:
{
"tokens": [
{
"token": "0xf8cfec7b01455831800c188715f4c43242f32b46",
"symbol": "WLF",
"name": "MajorWOLF",
"decimals": 18,
"quote": "WETH",
"pool": "0x19d0203318e9889add539b5bf0e9b054d1f62889",
"feeTier": 3000,
"createdBlock": 52776914,
"ageHours": 1.9,
"priceUsd": 0.00118304,
"depthUsd": 11830
}
],
"window": {
"hours": 24,
"fromBlock": 52737095,
"toBlock": 52780295
},
"coverage": {
"fromBlock": 52758696,
"hours": 12
},
"scannedPools": 46,
"source": "Uniswap v3 PoolCreated events and pool state on Base (on-chain)",
"note": "New tokens are read on-chain from Uniswap v3 PoolCreated events on Base, paired with WETH or USDC; depth is the WETH or USDC balance of the pool in USD and price comes from the pool itself (WETH priced by the WETH/USDC pool). A new pool says nothing about safety: check the contract, holders and liquidity locks before trading. Other DEXs (Uniswap v4, Aerodrome) are not read."
}
{
"type": "object",
"properties": {
"tokens": {
"type": "array",
"items": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"symbol": {
"type": [
"string",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"decimals": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"quote": {
"type": "string",
"enum": [
"WETH",
"USDC"
]
},
"pool": {
"type": "string"
},
"feeTier": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"createdBlock": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"ageHours": {
"type": "number"
},
"priceUsd": {
"type": "number"
},
"depthUsd": {
"type": "number"
}
},
"required": [
"token",
"symbol",
"name",
"decimals",
"quote",
"pool",
"feeTier",
"createdBlock",
"ageHours",
"priceUsd",
"depthUsd"
],
"additionalProperties": false
}
},
"window": {
"type": "object",
"properties": {
"hours": {
"type": "number"
},
"fromBlock": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"toBlock": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
}
},
"required": [
"hours",
"fromBlock",
"toBlock"
],
"additionalProperties": false
},
"coverage": {
"type": "object",
"properties": {
"fromBlock": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"hours": {
"type": "number"
}
},
"required": [
"fromBlock",
"hours"
],
"additionalProperties": false
},
"scannedPools": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"source": {
"type": "string"
},
"note": {
"type": "string"
},
"next": {
"type": "object",
"properties": {
"service": {
"type": "string",
"description": "Service id of the suggested next paid call"
},
"tool": {
"type": "string",
"description": "MCP tool name of the same call"
},
"method": {
"type": "string",
"enum": [
"GET",
"POST"
]
},
"url": {
"type": "string",
"description": "Paid route of the next call"
},
"useWhen": {
"type": "string",
"description": "When the next call is the right one"
},
"sample": {
"type": "string",
"description": "Free fixed sample of the whole family"
}
},
"required": [
"service",
"tool",
"method",
"url",
"useWhen",
"sample"
],
"additionalProperties": false,
"description": "Suggested next paid call in the same family (call it in a loop when the task continues)"
}
},
"required": [
"tokens",
"window",
"coverage",
"scannedPools",
"source",
"note"
],
"additionalProperties": false
}Free schema and example: GET https://x402-gateway.blackwoodstate8.workers.dev/v1/altcoin-discovery.
OpenAPI 3.1 · llms.txt · All services