Doichain

io.github.neubuot/doichain

Proof of existence, names and chain data of the Doichain blockchain for AI agents

Yes, your AI can use this right now.Answered a live MCP handshake in 1461 ms with no sign-in needed and exposes 13 tools.

Connect it

Settings → Connectors → Add custom connector
URL: https://doi-api.sendlabs.de/mcp

13 tools, verified live

Pulled straight from the server with tools/list on 2026-10-17.
get_chain_statusread-only

Current state of the Doichain network as seen by the node behind this server: block height, sync state, time of the last block, fork check, node version, peers, mempool size and whether public anchoring is available.

hash_textread-only

Compute the SHA-256 digest of a short text (UTF-8) on the server, for example to anchor a statement or a message with anchor_proof. The text is sent to the server but not stored or logged. For files and for confidential texts compute the hash locally instead (sha256sum file, or Get-FileHash -Algorithm SHA256).

check_proofread-only

Check whether a SHA-256 hash is anchored on the Doichain (name poe/<sha256>) and since when. Returns status (confirmed, pending, expired, unknown) and at the top level block height, block time, transaction and links of the first anchoring, which is the proof time. If the name was updated later or registered again after it expired (possibly by someone else), that registration is reporte

anchor_proof

Anchor a SHA-256 hash on the Doichain as a tamper-evident timestamp (proof of existence, name poe/<sha256>). Free for users, limited per IP address and day (see get_anchoring_quota). Confirms with the next block, usually within 10 minutes, then check_proof returns block height and time. If the hash is already anchored or pending, the existing proof is returned instead of creating a sec

get_anchoring_quotaread-only

How many proofs can still be anchored today (UTC day) within the free public quota for the caller's IP address. Hosted chat apps connect from their own servers, so their users share one quota. Callers that send their own API key in the X-API-Key header have no quota.

lookup_nameread-only

Read the current value, owner address and expiry of a Doichain name. Unregistered names come back with exists false and status not_registered (the name is free). Expired names have status expired and the real expiry date.

get_name_historyread-only

All registrations and updates of a name, newest first: block height, transaction, owner address and the value at that time. Shows who held a name when, and every value it ever had.

check_name_expiryread-only

Check up to 25 names at once: status (active, expiring_soon, expired, not_registered), blocks left, an estimated expiry date for active names (from the measured block interval) and the real expiry date for expired names. Names expire 36,000 blocks after their last update and are renewed by updating them from the owning wallet.

search_namesread-only

List names that start with a prefix, in the node's order (shorter names first, then byte order). Lists only active names unless include_expired is true. Expired names (for example old poe/ proofs) stay in the chain history and are listed with include_expired. Page through large results with next_after until exhausted is true. Names and values are chosen by arbitrary users (name_untrust

get_blockread-only

Header data of a block by height or hash: time, confirmations, number of transactions and the first 50 transaction IDs.

get_transactionread-only

A transaction with confirmations, block time, outputs (amount in DOI and address) and any name operation (name_doi, name_update, ...) it contains.

get_addressread-only

Confirmed and unconfirmed balance of a Doichain address in DOI, optionally with its most recent transactions. Invalid addresses return an error with the reason.

verify_messageread-only

Check whether a message was signed with the private key of a Doichain address (signmessage format). Only legacy addresses (M... or N...) can sign messages, bech32 addresses (dc1q...) are not supported. Useful to confirm that a statement really comes from the holder of an address.

Alternatives in Crypto & Web3

Compare →
Try “Notion”, “Stripe”, “create invoice”, “browser”