Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

Sentinel

org.448c/sentinel

Pay-per-call safety checks for AI agents: screen a crypto address or URL before you transact.

Watch this dependency

Get before/after evidence when observed tools, schemas, authentication access, availability or the endpoint changes.

Inspect evidence and set up a watch Share public evidence report
Uptime
100.0%
5 direct probes · 30d
Response
364ms
last probe
Tools
51
callable
Resources
0
readable
Prompts
0
available
Primary URL
https://448c.org/mcp
Score: 100/100
Handshake verified by our own probe.
why this score
pass Answers the MCP handshake 50/50
The handshake and the list calls succeeded on the primary URL.
pass Lists tools, resources or prompts 30/30
51 tools, 0 resources, 0 prompts returned.
pass 3 or more catalogue items 10/10
51 items in total; 3 or more earns these points.
pass Describes itself 10/10
93 characters; more than 30 earns these points.

Tools · 51

execute

PAID: run code in an isolated, network-less sandbox and get stdout, stderr and exit code back. Call it once without payment to receive the price as an x402 PaymentRequired (Base USDC, and Solana USDC …

storage_buy

PAID: store opaque bytes for the life of the plan you buy, owned by the wallet that pays, readable with no account. Returns the object id and when it expires; read it back with storage_read, extend it…

storage_renew

PAID: push an object you own further out, by buying it another plan term. The object is untouched; only its expiry moves. Returns the new and previous expiry. Call it once without payment to receive t…

storage_replace

PAID: overwrite the contents of an object you own, keeping its id, and buy it a fresh plan term at the same time. Omit label to keep the current one, pass an empty string to clear it. Call it once wit…

storage_read

FREE: read back an object you own, as base64. This is how what you bought with storage_buy comes back to you over MCP. Ownership is proved by the paying wallet, with no account: send any placeholder s…

storage_list

FREE: list the objects your wallet owns -- id, label, size, when each was created and when it expires -- one page at a time. Ownership is proved by the paying wallet, with no account: send any placeho…

storage_usage

FREE: how many objects your wallet is storing and how many bytes they occupy. Ownership is proved by the paying wallet, with no account: send any placeholder signature once and the refusal returns det…

storage_delete

FREE: delete an object you own before it expires, and free its bytes. There is no refund and no undo. Ownership is proved by the paying wallet, with no account: send any placeholder signature once and…

claim_acquire

PAID: atomically win a caller-named key for your own fleet -- an accountless compare-and-set. outcome "acquired" means you won it; outcome "held" is NOT an error, it means somebody already holds it an…

claim_renew

PAID: extend a hold you already have without losing your place in line -- the heartbeat that lets a lease be SHORT (so a crash frees it fast) while a live holder keeps it alive by paying again. Re-acq…

claim_acquire_free

FREE: win a caller-named key for 300 seconds, or learn who already holds it. Unlimited distinct keys per wallet, renewable by calling again. A sibling of claim_acquire, not a discount on it: this leas…

claim_read

FREE: who currently holds this key, if anyone -- scoped to YOUR wallet, so a stranger cannot probe your namespace. Checking your own lock must not cost again, or a fleet polling its own hold is charge…

claim_release

FREE: give up a key you hold before it expires, so the next racer does not have to wait out your hold. Release signs its own domain-separated message, distinct from the read domain, so a captured insp…

attest_create

PAID: we fetch a URL from OUR vantage point and return a signed, timestamped attestation of what we saw -- hash, byte count, HTTP status and headers, never the body itself. Read it back afterwards for…

attest_read

FREE and unauthenticated: read a previously-created attestation back by id, with its signature. This is how what you bought with attest_create comes back over MCP -- and deliberately NOT wallet-scoped…

handoff_deposit

PAID: deposit a typed briefing for the process that takes over from you -- what is DONE (every entry carrying evidence of how it was verified), what is NOT done, what was IN FLIGHT at the cut, and wha…

handoff_read

FREE and unauthenticated: read a briefing back by id. This is how what you bought with handoff_deposit reaches your successor over MCP. Deliberately needs no signature -- the successor is by construct…

deadman_register

PAID: register an intent you are about to act on irreversibly, with a lease and a verification probe (a GET plus a predicate). Confirm before the lease expires with deadman_confirm, free -- otherwise,…

deadman_confirm

FREE: the live caller closes the loop before the lease expires, so the probe never runs. Deliberately NOT wallet-scoped -- possession of the id is the entire authorisation, since the confirming call m…

deadman_read

FREE and unauthenticated: read an entry back by id, including its verdict and the raw probe response once resolved. This is how what you bought with deadman_register comes back over MCP. If the lease …

listing_promote

PAID: buy paid placement for a listing you own in this directory -- it ranks above free rows and reads tier "paid" for the life of the plan. Pay from the WALLET THAT OWNS the listing; no other proof i…

drift_check

PAID: we re-fetch a venue we have snapshotted before, from OUR vantage point, and return what changed since the baseline -- the schema/rubric fields that moved, were added and were removed, not a byte…

drift_venues

FREE: every venue id drift_check can be aimed at, with what we hold for each. A closed value set, not a pattern: without it a caller can honour the input schema and still never name something buyable,…

drift_baseline

FREE: the baseline snapshot we hold for one venue -- what a paid check would diff against, and when it was taken. Reading what you are about to buy a comparison against must not cost, or the first cal…

watch_register

PAID: we poll a URL from OUR vantage point on your interval until your predicate matches or the ttl runs out, and keep the verdict for you to collect -- a wait that survives your own process dying, wh…

watch_read

FREE: the current state of a watch you registered -- active, matched or expired, with the observation that matched. The id is the capability, so a successor process handed the id can collect the verdi…

check_address

PAID: check an EVM address against public risk feeds (OFAC, community darklists, on-chain age) and get back a verdict, score and reasons in the same response the payment settles -- there is no separat…

check_url

PAID: check a URL against public risk feeds (phishing lists, domain age, lexical signals) and get back a verdict, score and reasons in the same response the payment settles -- there is no separate rea…

pay_requirements

FREE: ask a seller, unpaid, what it charges, and get back the accepts[] of its own 402 -- the exact PaymentRequirements you have to sign before pay_send can deliver anything. No payment is sent to the…

pay_send

PAID: deliver an x402 authorization YOU signed to a seller exactly once, then read the chain for what actually became of it, and get back an immutable receipt of what the seller answered. Read the pri…

pay_receipt

FREE and unauthenticated: read a pay_send receipt back by id -- what the seller answered, when, and what the chain says became of your authorization. Deliberately NOT wallet-scoped: the point is that …

create_inbox

PAID: get a throwaway email address on a domain we own, live for 24 hours, to receive the verification mail a signup demands. RECEIVE ONLY -- nothing is ever sent from it, ever. Returns the address, t…

read_inbox

FREE: the mail your inbox received, newest first, with any verification code and link already picked out -- from, to, subject, receivedAt, the plain text, codes[] and links[]. This is how what you bou…

inbox_status

FREE: the address, when it expires and how much mail is waiting in an inbox you own. Signed under its own domain, separate from the one read_inbox uses. Ownership is proved by the paying wallet, with …

free_inbox

FREE: one live inbox per wallet for one hour, identity by your signature alone, so you can receive one code before paying for the 24 h tier. A sibling of create_inbox, not a discount on it: one addres…

release_inbox

FREE: give up an inbox you own before it expires. Its messages go with it and the local part is never issued again; later mail to it is dropped, never bounced. There is no refund and no undo. Signed u…

dns_rent

PAID: rent <label>.448c.net for a year and point it where you say -- A, AAAA, CNAME and TXT records, so you can hold a TLS certificate by DNS-01 and pass domain-trust checks without a registrar accoun…

dns_renew

PAID: push a name you own further out by another year. What it resolves to is untouched; only its expiry moves, and a repeated payment extends it rather than resetting it. The payer must be the owner.…

dns_lookup

FREE: what we serve for a name under 448c.net -- its records, its owner and when it expires. No signature and no account: the zone is public, so reading it is too. Complaints, questions, quote request…

dns_rent_free

FREE: one 24-hour name per wallet, so you can try the zone before paying -- the same label rules and records as dns_rent. Rent a year with dns_rent when it works. The message you sign commits to the l…

dns_set_records

FREE: replace the whole record set of a name you own -- never merged. The rental window is untouched: repointing a name you already paid for costs nothing. Ownership is proved by the paying wallet, wi…

dns_release

FREE: release a name you own before it expires. It stops resolving at once. There is no refund and no undo, and the label is free for anyone else to rent. Ownership is proved by the paying wallet, wit…

placement_order

PAID: we submit your service to every permissionless agent venue we hold a submitter for -- 17 of the 33 on-behalf venues today -- and prove, per venue, that the entry is really in the catalogue. The …

placement_venues

FREE: the lane table -- every agent venue we have evaluated, which of the 3 lanes a submission takes (on-behalf, owner-proof, human-only), the VENUE's own fee, the catalogue a landing is verified agai…

placement_ready

FREE and honest: does your own service publish a document a venue can read (/.well-known/x402, an agent card)? If it publishes none, no amount of submission work can list you anywhere, and you should …

placement_status

FREE and owner-signed: every venue of your order with its state (queued, submitted, listed, human-only, unfunded, failed), the evidence a landing was verified by, when it was last checked and, where i…

placement_cancel

FREE and owner-signed: stop the weekly rechecks and drop the order. There is no refund for the remaining window, and entries already in a catalogue are the venue's to keep or drop -- we simply stop wa…

x402_supported

FREE and unauthenticated: the x402 facilitator read contract -- {kinds:[{x402Version, scheme, network, extra?}]}, folded out of the same document GET /.well-known/x402.json serves, so it cannot claim …

x402_verify

FREE and unauthenticated: check an EVM `exact` x402 payment OFFLINE and get back {isValid, invalidReason?, payer?, message} -- EIP-712 signature recovery plus the same scheme/network/recipient/amount/…

service_card

FREE: what agent-exec sells, what it costs, and exactly where to pay for it. This tool call itself is free and moves no money. Code execution can be bought right here, with the paid execute tool (x402…

search_listings

FREE: unauthenticated search over agent-exec's directory of paid agent-facing services (same data as GET https://agent-exec.448c.org/listings). Returns a page of listings and an opaque cursor for the …

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "sentinel": {
      "url": "https://448c.org/mcp",
      "transport": "streamable-http"
    }
  }
}