01 INGEST
· FBC/PRIMITIVE/01

The sponsor deposits a document.
It is read once, then hashed.

A sponsor uploads a Forward Purchase Agreement, wire receipt, pledge instrument, or subscription record through the FBC admin dashboard or REST endpoint. The bytes are streamed into per-SPV isolated storage and a SHA-256 digest is computed before the response returns. The digest is the document's mathematical fingerprint, later surfaced through the public custody verification endpoint.

  • Hash functionSHA-256 (FIPS 180-4)
  • StorageAES-256-GCM at rest, KMS-managed keys
  • IsolationOne bucket / one keyring per sponsor SPV
  • LoggingCloudTrail object-access on every read
$ fbc-ingest --spv 26A --file fpa.pdf200 OK · 412ms
filefpa.pdf · 184,221 bytes
spvLimen Markets Series 2026-A LLC
storeds3://fbc-26a/docs/fpa.pdf

sha2568f3c4e21a9b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5
deposited2026-06-12 18:04:11 UTC
statusINGESTED · awaiting anchor
02 ANCHOR
· FBC/PRIMITIVE/02

The hash is anchored to Bitcoin.
Time becomes mathematical.

The SHA-256 digest is submitted to OpenTimestamps, a free public timestamping service that aggregates submitted hashes into Merkle trees and commits their roots into Bitcoin transactions. Once the containing transaction has ≥3 confirmations, the anchor is final: undoing the timestamp would require reorganising the Bitcoin chain — an attack with an explicit, public, multi-million-dollar economic cost. Sponsors can review additional operational safeguards on the security architecture page.

Optional belt-and-suspenders: the same hash is co-anchored to an RFC 3161 timestamping authority for audiences that prefer the traditional PKI-rooted proof.

  • Anchor serviceOpenTimestamps (Bitcoin mainnet)
  • Finality≥ 3 confirmations
  • Co-anchorRFC 3161 TSA · optional per sponsor
  • Proof artifact.ots file, retained alongside document
$ ots stamp fpa.sha256submitted
Submitting to calendar.opentimestamps.org…
Submitting to calendar.aq.gs…
Aggregated into pending Merkle tree.
# 39 minutes later, after Bitcoin confirmations:

anchoredOpenTimestamps · Bitcoin block #891,204
txid3a9f…4f01
merkle rootc8d1e4a7b0d3f6c9b2e5d8a1c4f7b0e3
confs6 · FINAL
prooffpa.sha256.ots · 2,194 bytes
03 CODE
· FBC/PRIMITIVE/03

A transaction code is issued.
An opaque pointer to the record.

Each investor and each sponsor receives a Fund Base Camp transaction code at subscription, with the form FBC-[series]-[role]-[ticket]. The code is opaque — it encodes no personally-identifying information, no document content, no balance, nothing that could leak in a screenshot. It is only an index into the custody table on the verification server.

Codes are case-insensitive, fixed-length, and printable. They can be embedded in subscription confirmations, signed PPM appendices, custodian receipts, or scanned QR labels.

  • FormatFBC-[series]-[role]-[ticket]
  • CharsetA–Z, 0–9, hyphen
  • Role codesINV (investor) · SPN (sponsor) · ADM (admin)
  • Issued atSubscription confirmation · per investor
$ fbc-code --issue --spv 26A --role INV200 OK
codeFBC-26A-INV-0042
series26A · Limen Markets Series 2026-A LLC
roleINV (investor)
ticket0042

links to3 documents in custody
anchorblock #891,204
deliveredsubscription confirmation · 2026-06-12
04 VERIFY
· FBC/PRIMITIVE/04

The verification page returns the record.
No login, no waiting.

Anyone holding a transaction code can submit it at fundbasecamp.com/verify or query the public API at /api/v1/verify/{code}. The response is the structural custody record: the SPV, the documents in custody, each document's SHA-256, the anchor reference, and the date of the most recent independent attestation. No PII is returned; the queries themselves are not retained beyond standard rate-limit accounting.

The same response is available as a downloadable receipt PDF for offline keeping and long-term investor record retention through the document custody framework.

  • EndpointGET /api/v1/verify/{code}
  • AuthNone — public, rate-limited
  • ReturnsSPV · documents · hashes · anchor · attestation
  • PrivacyNo identity returned; queries not retained
GET /api/v1/verify/FBC-26A-INV-0042200 OK · 47ms
# response body, abbreviated
{
  "code":  "FBC-26A-INV-0042",
  "spv":   "Limen Markets Series 2026-A LLC",
  "docs":  [
    { "title": "Forward Purchase Agreement",
      "sha256": "8f3c4e21…b7d6f5",
      "deposited": "2026-06-12T18:04:11Z" },
    { "title": "Wire receipt", "sha256": "2d7e9a1c…f9b2e5d", "..." }
  ],
  "anchor": {
    "service": "OpenTimestamps",
    "chain":   "bitcoin",
    "block":   891204,
    "txid":    "3a9f…4f01",
    "confs":   6
  },
  "attestation": "2026-Q2 AUP · Lukas & Co. CPAs",
  "status": "VERIFIED"
}

What this design avoids. No proprietary hash function, no Fund-Base-Camp-controlled timestamp service, no custodial signature scheme, no requirement to trust Fund Base Camp's database. Every claim made by the verification page can be checked against a public artifact — the Bitcoin blockchain — by anyone who downloads the proof file.

§ 02 — INDEPENDENT VERIFICATION

Trust is not required. Verify the proof yourself.

Two commands. A document. An .ots proof file. Anyone can do this on any machine, offline, without contacting Fund Base Camp at all through the public verification workflow.

① Confirm the document hash.

If the sponsor has delivered the document to you, hash it locally and compare to the value returned by the verification page. Any difference indicates the document has been altered since deposit.

terminal · macOS / Linuxoffline
$ shasum -a 256 fpa.pdf
8f3c4e21a9b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5 fpa.pdf
# compare to /verify response field sha256
match · document is the one in custody

② Confirm the timestamp anchor.

Fund Base Camp publishes the .ots proof artifact for each document. Anyone can verify it against the Bitcoin blockchain using the open-source OpenTimestamps client.

terminal · ots-clientqueries bitcoin
$ ots verify fpa.pdf.ots
Assuming target filename is 'fpa.pdf'
Success! Bitcoin block 891204 attests existence as of 2026-06-12 18:43:51 UTC
# the document existed, exactly as hashed, before that block was mined.
§ 03 — RECEIPT

A printable record. For investors who keep paper.

The verification page produces a downloadable PDF receipt containing the full custody record, the anchor reference, and instructions for re-verifying offline. Keep it with your subscription documents.

What's in the PDF.

The receipt is self-contained: an investor can re-verify everything in it years later, even if Fund Base Camp's verification API is offline, by re-hashing the document and checking the included .ots proof against any Bitcoin full node.

  • Transaction code · SPV · underlying · role
  • Every document in custody · title · executed date · deposited timestamp
  • SHA-256 digest for every document (printable hex)
  • OpenTimestamps anchor: service, chain, block height, txid, confirmations
  • RFC 3161 token (if co-anchored)
  • Most recent AUP attestation: firm, period, publication date
  • Instructions for offline re-verification, with commands
  • QR pointer to the live /verify endpoint
§ 04 — API REFERENCE

For engineers. A read-only public endpoint.

Sponsors who run their own investor portals can embed verification by calling the public verify endpoint. Authentication is not required; rate limits apply per IP. No PII is accepted or returned.

HTTP · public · read-only · rate-limited200 OK · 404 Not Found · 429 Too Many Requests
GET https://fundbasecamp.com/api/v1/verify/{code}

# curl example
$ curl https://fundbasecamp.com/api/v1/verify/FBC-26A-INV-0042

{
  "code":  "FBC-26A-INV-0042",
  "spv":   "Limen Markets Series 2026-A LLC",
  "underlying": "Space Exploration Technologies Corp.",
  "role":  "investor",
  "deposited": "2026-06-12T18:04:11Z",
  "documents": [
    { "title": "Forward Purchase Agreement",
      "sha256": "8f3c4e21a9b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5e8c1a4b7d6f5",
      "size_bytes": 184221 },
    { "...": "..." }
  ],
  "anchor": {
    "service": "opentimestamps",
    "chain":   "bitcoin",
    "block":   891204,
    "txid":    "3a9f…4f01",
    "confirmations": 6,
    "anchored_at":   "2026-06-12T18:43:51Z",
    "proof_url":     "https://fundbasecamp.com/proofs/FBC-26A-INV-0042.ots"
  },
  "attestation": {
    "period":    "2026-Q2",
    "firm":      "Lukas & Co. CPAs",
    "published": "2026-04-15",
    "report_url": "https://fundbasecamp.com/security#aup"
  },
  "status": "VERIFIED"
}

Want to integrate? Email engineering@fundbasecamp.com for API keys (only required for ingestion endpoints, not verification) and review the sponsor integration overview for deployment workflows and custody onboarding.