USDT0 outstanding on Polygon PoS
by Fomo · 1 source · a report every 1 h
Signed by Signalith from the provider’s API
Stale
The last report is older than twice the heartbeat. Signalith does not sell stale data, so nothing can be bought here until the feed recovers.
Per call
$0.005
sold in packs
Smallest payment
$0.20
what Signalith settles on chain
A report every
1 h
from 1 source
Uptime, 30 days
12.93%
measured by Signalith
Calls, last 30 days
0
Endpoint
GET /v1/feeds/fomo/usdt0-supply-polygon/latest
Bought a pack on this feed? Your code spends it with one header. Make an API key, then use the first example below.
- One call
- $0.005, sold in packs only
- Pack of 50
- $0.25, valid 30 days
- Pack of 500
- $2.50, valid 30 days
- History page
- 5 calls
- Pays
- 0x7c22bbeF…c6210cf7
API key
# For a pack you already bought. Make a key in the dashboard, under API keys. curl https://signalith-gw.187-53-130-188.sslip.io/gw/v1/feeds/fomo/usdt0-supply-polygon/latest \ -H "Authorization: Bearer <your API key>" # The calls left in your packs. curl https://signalith-gw.187-53-130-188.sslip.io/gw/v1/packs \ -H "Authorization: Bearer <your API key>"
HTTP
# 1. Ask. The answer is 402 with the price, in the PAYMENT-REQUIRED header. curl -i https://signalith-gw.187-53-130-188.sslip.io/gw/v1/feeds/fomo/usdt0-supply-polygon/latest # 2. Sign the USDG authorization it describes, then ask again. curl https://signalith-gw.187-53-130-188.sslip.io/gw/v1/feeds/fomo/usdt0-supply-polygon/latest \ -H "PAYMENT-SIGNATURE: <base64 payment payload>"
TypeScript
import {Signalith} from '@signalith/sdk'
const signalith = new Signalith({gatewayUrl: 'https://signalith-gw.187-53-130-188.sslip.io/gw', account, maxSpendUsdg: 5_000_000n})
const report = await signalith.read('fomo/usdt0-supply-polygon') // pays, or spends a pack, by itself
report.value // 2 decimals, a bigint
report.checks // already verified: signer, kind, decimals, payload, ageTypeScript, with an API key
import {Signalith} from '@signalith/sdk'
// No wallet on the server: the key spends calls you bought ahead and cannot buy more.
const signalith = new Signalith({gatewayUrl: 'https://signalith-gw.187-53-130-188.sslip.io/gw', apiKey: process.env.SIGNALITH_API_KEY})
const report = await signalith.read('fomo/usdt0-supply-polygon') // one call from your pack, nothing signed
report.value // 2 decimals, a bigint
report.callsLeft // what the pack still holdsSolidity
import {SignalithConsumer} from "@signalith/contracts/src/SignalithConsumer.sol";
contract Example is SignalithConsumer {
bytes32 constant USDT0_SUPPLY_POLYGON = 0xb6d2ae79b3794237f5a82936971603a1fbf69811f34342e5bc5ad404b7a57284;
function settle(bytes calldata report, bytes calldata sig) external {
int256 value = _readOnce(USDT0_SUPPLY_POLYGON, report, sig, Policy({
maxAgeSec: 7200,
allowedKinds: KIND_MANAGED,
minValue: 0,
maxValue: type(int256).max
}));
// use value, scaled by 2 decimals
}
}Agents (MCP)
{
"mcpServers": {
"signalith": {
"command": "npx",
"args": ["-y", "@signalith/mcp"],
"env": {"SIGNALITH_GATEWAY_URL": "https://signalith-gw.187-53-130-188.sslip.io/gw", "SIGNALITH_PRIVATE_KEY": "<a wallet made for this agent>", "SIGNALITH_MAX_SPEND_USDG": "1000000"}
}
}
}Agents (MCP), with an API key
{
"mcpServers": {
"signalith": {
"command": "npx",
"args": ["-y", "@signalith/mcp"],
"env": {"SIGNALITH_GATEWAY_URL": "https://signalith-gw.187-53-130-188.sslip.io/gw", "SIGNALITH_API_KEY": "<your API key>"}
}
}
}Response schema
{
"type": "object",
"title": "USDT0 outstanding on Polygon PoS",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"value",
"observedAtMs"
],
"properties": {
"value": {
"type": "string"
},
"observedAtMs": {
"type": "string"
}
}
}