kotobase

Content-addressed pin & hosting on kotoba — a Datomic-over-IPFS knowledge graph. A pin is a named commit CID; once pinned it is durable off-site and addressable over IPFS.

Pin in 30 seconds (IPFS Pinning Service API)

ipfs pin remote service add kotobase https://kotobase.net <JWT>
ipfs pin remote add  --service=kotobase --name=my-doc <cid>
ipfs pin remote ls   --service=kotobase
ipfs pin remote rm   --service=kotobase --cid=<cid>

Authenticate with a gftd-AUTHN JWT (Bearer) or self-signed CACAO. Retrieve anything by CID at ipfs.gftd.ai/ipfs/<cid>.

Interfaces

IPFS Pinning Service API

POST/GET/DELETE https://kotobase.net/pins — standard PSA, works with native ipfs pin remote.

XRPC

POST https://kotobase.net/xrpc/ai.gftd.apps.kotobase.* — pin/account/usage, Datom/Datalog + SPARQL query, KG ingest.

MCP (for AI agents)

https://mcp.gftd.ai/mcp — tools generated from the same lexicons.

Gateway

https://ipfs.gftd.ai/ipfs/<cid> — retrieve pinned content by CID over IPFS.

Durability

Every pinned commit's blocks are packed into one CAR and archived off-site to Backblaze B2 (CAR-on-B2): a content-addressed second copy that scales (object count ∝ commits, not blocks). Cold reads are served from B2 via a single ranged GET. The local durable tier is the kubo (IPFS) blockstore on the pod's PVC.

Docs