82trust / 100

Attestation

by gblin.digital in Onchain & crypto

x402 APIPassing, checked 2 h ago

Call before your agent trades, rebalances or moves capital: is the crypto market calm, elevated or in a crash regime right now? Returns a 10-minute, EIP-712-signed risk attestation for BTC and ETH computed from Chainlink prices and the on-chain shield rule, with severity and a defensive cash share. Any counterparty verifies it offline in one step. Free sample: /api/x402/attestation-sample; free verifier in the MCP server.

GET https://gblin.digital/api/x402/attestation

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
290 ms typical, 669 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://gblin.digital/api/x402/attestation"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fgblin.digital%2Fapi%2Fx402%2Fattestation
const res = await pay("https://gblin.digital/api/x402/attestation");
console.log(await res.json());

Example input

{}

Example output

{
  "attestation": {
    "basket_hash": "0xabcd…",
    "block_number": 34567890,
    "chain_id": 8453,
    "contract": "0xc2181d975c05c8c724b334bcED0764c0b86B1D53",
    "defensive_cash_pct": 10,
    "expires_at": 1747600600,
    "issued_at": 1747600000,
    "regime": "calm",
    "regime_code": 0,
    "risk_posture": "risk_on",
    "severity_bps": 0,
    "severity_pct": 0,
    "shield_active": false,
    "ttl_seconds": 600
  },
  "attestation_id": "0x9f1c…",
  "attestor": "0x… (published GBLIN attestor, else null)",
  "signature": "0x… (present when attestor key configured, else null)",
  "signed": false,
  "verify": {
    "free_mcp_tool": "npx @gblin-protocol/mcp-server → verify_risk_attestation"
  }
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402393 ms$0.003
5 h agoPassed402181 ms$0.003
9 h agoPassed402108 ms$0.003
12 h agoPassed402128 ms$0.003
16 h agoPassed402405 ms$0.003
20 h agoPassed402780 ms$0.003
23 h agoPassed402669 ms$0.003
28 h agoPassed402290 ms$0.003
31 h agoPassed402267 ms$0.003
34 h agoPassed402448 ms$0.003
39 h agoPassed402170 ms$0.003