Quickstart
Same index, ranking, safety, and verification through MCP, REST, and CLI.
For AI agents: fetch
/llms.txtfor the surface index, or/llms-full.txtfor all docs in one fetch. Every docs page has a Markdown mirror at the same path with a.mdsuffix. Follow the Core Flow: reject any result whosesafety.recommended_actionisblock, and re-check held skills with the freeGET /verify.
| Endpoint | Job | Returns | Cost |
GET /auth/siwx/nonce | Start wallet sign-in | Single-use nonce for a SIWX message | Free; authentication-attempt limited |
POST /auth/siwx | Finish wallet sign-in | 24-hour SIWX token | Free; authentication-attempt limited |
POST /discover | Find candidate skills | Ranked candidates with compact provenance, structured install, and a nested safety summary | 50 discovery workflows/day per anonymous IP free; sign once with a wallet for a higher free tier; then x402 |
POST /inspect | Decide whether to install one skill | Full content, source provenance, manifest, install options, canonical safety, and a pin block | Free with a valid query_id; SIWX can use a wallet or allocation free-tier bucket before paid fallback |
GET /verify | Re-check a skill you already hold | Verdict and provenance for a source URL or content hash | Free, cacheable, no account |
GET /health | Check liveness and index freshness | Version, uptime, freshness, descriptor links | Free |
GET /.well-known/agent-pricing.json | Read the pricing manifest | Free tier, live billing modes, workflow price, safety guarantees, spend-control support, and descriptor links | Free, cacheable |
GET /prices | Read the pricing manifest alias | Same JSON as /.well-known/agent-pricing.json | Free, cacheable |
Search is how you find a skill. Verification is how you keep trusting it. Pin what you install from /inspect.pin, then call /verify on load or in CI. If upstream content drifts or the safety verdict changes, the response changes.
Which endpoint?
| You have | Call | Cost |
| A task and no skill yet | POST /discover | Free tier (50/day per anonymous IP), sign once with a wallet for a higher free tier, then $0.002 per workflow |
A candidate skill_id to evaluate | POST /inspect | Free with the query_id from /discover (up to 5 inspects, 1h TTL) |
| An installed skill to re-check | GET /verify | Always free |
Verified free tier
Sign once with a wallet for a higher free tier. Missing SIWX auth stays anonymous; invalid or expired SIWX auth returns INVALID_AUTH.
curl https://sigildex.ai/auth/siwx/nonce
curl -X POST https://sigildex.ai/auth/siwx \
-H "Content-Type: application/json" \
-d '{"message": "<siwx-message>", "signature": "0x..."}'
curl -X POST https://sigildex.ai/discover \
-H "Content-Type: application/json" \
-H "Authorization: SIWX <token>" \
-d '{"query": "PDF text extraction", "limit": 3}'
MCP
{
"mcpServers": {
"sigildex": {
"url": "https://sigildex.ai/mcp"
}
}
}
Your agent gets discover_skills, inspect_skill, and verify_skill. Send Authorization: SIWX <token> on the MCP HTTP request to use the higher free tier. Use verify_skill when loading a pinned skill or checking CI because it is free and returns only verdict/provenance.
REST
curl -X POST https://sigildex.ai/discover \
-H "Content-Type: application/json" \
-d '{"query": "PDF text extraction", "limit": 3}'
curl -X POST https://sigildex.ai/inspect \
-H "Content-Type: application/json" \
-d '{"skill_id": "<skill_id>", "query_id": "<query_id>"}'
curl "https://sigildex.ai/verify?content_hash=sha256:<hex>"
/discover returns results[].skill_id, nested safety, structured install, and meta.index_status. /inspect returns the full content and pin. /verify re-checks the pin by hash or source URL.
CLI
npx @sigildex/cli search "PDF text extraction" --limit 3
npx @sigildex/cli inspect <skill_id> --query-id <query_id> --content-only
npx @sigildex/cli verify --content-hash sha256:<hex>
Use --json for structured output. No wallet is needed for anonymous free discovery or verify. Sign once with a wallet for a higher free tier; set SIGILDEX_WALLET_KEY only when you want automatic paid discovery beyond the free tiers.
Worked example: discover, inspect, pin, verify
The complete trust loop on one (illustrative) skill. The discover and inspect responses are abridged — the Reference documents every field; the verify response is shown complete.
1. Discover.
curl -X POST https://sigildex.ai/discover \
-H "Content-Type: application/json" \
-d '{"query": "extract text from PDF files", "limit": 3}'
{
"query_id": "q_1f2e3d4c5b6a7988aabbccddeeff0011",
"results": [
{
"skill_id": "550e8400-e29b-41d4-a716-446655440000",
"name": "pdf-reader",
"score": 0.952,
"source": { "registry": "github", "url": "https://github.com/example/skills/blob/main/pdf/SKILL.md" },
"safety": { "status": "safe", "recommended_action": "safe_to_install", "executes_code": false, "safety_flags": [] }
}
],
"meta": { "limit": 3, "total_results": 3, "index_status": "ok" }
}
2. Inspect the one you picked — free with the query_id.
curl -X POST https://sigildex.ai/inspect \
-H "Content-Type: application/json" \
-d '{"skill_id": "550e8400-e29b-41d4-a716-446655440000", "query_id": "q_1f2e3d4c5b6a7988aabbccddeeff0011"}'
{
"content": "---\nname: pdf-reader\n...",
"safety": { "status": "safe", "recommended_action": "safe_to_install", "audited_content_hash": "sha256:7c0e84d2a91f4b3e5a6d8c0b1f2e3d4c5b6a79881726354403f9a2c41d7be019", "freshness": "fresh" },
"pin": {
"skill_id": "550e8400-e29b-41d4-a716-446655440000",
"source_url": "https://github.com/example/skills/blob/main/pdf/SKILL.md",
"content_hash": "sha256:7c0e84d2a91f4b3e5a6d8c0b1f2e3d4c5b6a79881726354403f9a2c41d7be019",
"commit_sha": "0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b",
"verdict": "safe",
"audited_at": "2026-06-01T00:00:00Z"
}
}
3. Pin. Review the content, confirm the install with your user, and store the pin object next to the installed skill — it is your lockfile entry.
4. Verify on every load — free, no query_id needed.
curl "https://sigildex.ai/verify?content_hash=sha256:7c0e84d2a91f4b3e5a6d8c0b1f2e3d4c5b6a79881726354403f9a2c41d7be019"
{
"matched": true,
"matched_by": "content_hash",
"skill": { "skill_id": "550e8400-e29b-41d4-a716-446655440000", "source_url": "https://github.com/example/skills/blob/main/pdf/SKILL.md", "name": "pdf-reader" },
"match": { "your_hash_matches_audited": true, "current_content_hash": "sha256:7c0e84d2a91f4b3e5a6d8c0b1f2e3d4c5b6a79881726354403f9a2c41d7be019" },
"safety": {
"status": "safe",
"recommended_action": "safe_to_install",
"executes_code": false,
"safety_flags": [],
"score": 0.92,
"analyzed_at": "2026-06-01T00:00:00Z",
"safety_version": 2,
"audited_content_hash": "sha256:7c0e84d2a91f4b3e5a6d8c0b1f2e3d4c5b6a79881726354403f9a2c41d7be019",
"freshness": "fresh",
"scope": "Verdict covers SKILL.md content and metadata signals only — not bundled scripts, dependencies, or install-time behavior."
}
}
If the upstream content drifts or the safety verdict changes, this response changes — your agent finds out before the skill loads, not after.
Next
- Full reference: Reference
- Payment integration: Payments
- Verification, identity, and hashing: Verification