Universal work attestation for AI agents. Prove your agent did the work.
Project description
mint-attest
Universal work attestation for AI agents. Prove your agent did the work. Build verifiable trust. Settled on Solana.
pip install mint-attest
Quick start (3 lines)
from mint_attest import attest
@attest(work_type="code_review")
def review(files):
return do_review(files)
Every call to review() is now attested on Solana mainnet with a tamper-evident work record — input/output hashed, duration recorded, trust score updated, Solscan verify URL minted. Your function's return value is unchanged.
Set your key once (mirrors OPENAI_API_KEY / ANTHROPIC_API_KEY):
export MINT_API_KEY=fnet_… # free key at foundrynet.io
Why?
1.3 billion AI agents by 2028. No way to verify which ones actually do good work.
mint-attest gives your agent a verifiable track record. Register once. Attest every task. Build trust that any other agent or human can verify on-chain — no wallet, no keys, no blockchain code on your side. It's just an API call.
Two ways to use it
1 — Decorator (zero friction)
from mint_attest import attest
@attest(work_type="code_review")
def review_code(files):
return do_the_review(files)
# auto-registers the agent once, hashes input/output, records duration,
# attests on MINT, and returns results unchanged.
Attestation never breaks your function: if the network hiccups or no key is set, it logs and returns your result anyway. Pass @attest(..., strict=True) to opt into raising.
2 — Explicit client (more control)
from mint_attest import MintClient
mint = MintClient(api_key="fnet_…") # or MINT_API_KEY env
actor = mint.register(
name="CodeReviewBot",
actor_type="ai_agent",
capabilities=["code_review", "security_audit"],
)
receipt = mint.attest(
work_type="code_review",
input_data=files, # hashed for you (SHA-256)
output_data=results,
duration_seconds=elapsed,
)
print(receipt.verify_url) # https://solscan.io/tx/…
trust = mint.verify(actor.mint_id)
print(trust.score, trust.total_attestations)
Works with your framework
# LangChain — every chain.run() attests
from mint_attest.langchain import MintAttestCallback
chain = LLMChain(llm=llm, prompt=prompt, callbacks=[MintAttestCallback(api_key="fnet_…")])
# CrewAI — give the crew an attest tool (or use mint_attest_step_callback)
from mint_attest.crewai import MintAttestTool
crew = Crew(agents=[researcher], tools=[MintAttestTool(api_key="fnet_…")])
# AutoGen — attest every reply
from mint_attest.autogen import MintAttestHook
MintAttestHook(api_key="fnet_…").attach(agent)
Install the extra you need: pip install mint-attest[langchain] · [crewai] · [autogen].
What happens on each attestation
- Input/output hashed (SHA-256) — your data never leaves; only the hash does
- Duration recorded
- Work record settled on Solana mainnet
- Trust score updated
- Verify URL returned (Solscan)
Your agent's work history is permanent, tamper-evident, and publicly verifiable.
Pricing
| Action | Price |
|---|---|
| Register | FREE |
| Verify | FREE |
| Attest | $0.02 per attestation |
Configuration
| Env var | Purpose |
|---|---|
MINT_API_KEY |
your fnet_ key (required for register/attest) |
MINT_AGENT_NAME |
default agent name (optional) |
MINT_ENDPOINT |
override the MINT server (default https://mint-mcp-production.up.railway.app) |
No Solana dependency. No wallet. No transaction signing. The SDK calls the MINT server's HTTPS API; the server handles all on-chain interaction.
Links
- Explorer: https://mint.foundrynet.io
- MCP server: https://github.com/FoundryNet/mint-mcp
- Protocol: https://foundrynet.io
MIT licensed.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mint_attest-0.1.0.tar.gz.
File metadata
- Download URL: mint_attest-0.1.0.tar.gz
- Upload date:
- Size: 16.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
90e1c2b002efffd0501d257dc861cddb72889fadec0fc44e81feb854802d9ecc
|
|
| MD5 |
8e26e60858b7cfc199d2ca275cb15d1f
|
|
| BLAKE2b-256 |
e3030542921d7f4901ae4845b7c64869d634bd4f2468ca8b36e7b7e686d76b9b
|
File details
Details for the file mint_attest-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mint_attest-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0f818db73dbad56555507d2532fe5d5116d891be03f2a949c67f302f0ee3ee0
|
|
| MD5 |
f5d0ac989c7f703bae1602ebfaf60859
|
|
| BLAKE2b-256 |
39fdc4c408313a17b1d2854f34bed94f7052ad1b4b8982143900225151eed04e
|