Access Operations Runbook / 2026-08-10

GCA Access Operations Runbook

This runbook defines how GCA operators handle registration, account intake, read-only wallet review, redacted device-key status access, public more-information prompts, private follow-up review, queued-request cancellation, append-only service review, approved manual delivery, one-time credit settlement, protected member decisions, and member-benefit evidence.

The email registration, unsubscribe, account intake, wallet verification, redacted status, safe device-key rotation, registered-email recovery, and eligible ledger paths are live on Cloudflare Workers + D1. The redacted account status is private to the matching device key and is not a public ledger browser. Users who still hold a valid key can rotate it on the member-access page; users who lost it can open a generic recovery request. Operators must never request either device key by email or support ticket.

Current stage account follow-up and manual settlement live
Email API Live on Workers + D1
Member ledger writes Review queue live
Member activation Token-protected manual review
Wallet check read-only balanceOf
Account status redacted read-only / SHA-256 device key
Device key rotation credential-only / 15-minute retry recovery
Lost-key recovery registered-email review / one-time 24-hour credential
Account service requests device-key queue + redacted history live
Reviewed delivery approved first + at-most-once credits

Email Registration Ops Pipeline

Use this operator flow after users submit the public email registration form. Public checks can run without secrets. Admin export and sync require the ignored local ADMIN_READ_TOKEN file and must never print or publish that token.

1. Public API Check

Run python3 tools/check_gca_registration_api.py --public-only --timeout 30 to verify health, CORS, and admin-read rejection without reading user records.

2. Admin Export

Run python3 tools/export_cloudflare_email_registrations.py --limit 100 --output .gca_access_data/cloudflare_email_registrations_export.json from the operator machine only.

3. Combined Sync

Run python3 tools/run_gca_registration_ops.py --limit 100 --data-dir .gca_access_data to sync D1 records, apply suppressions, export contact CSVs, and write the summary JSON.

4. Local Ledger

Expected local ledger output: .gca_access_data/email_registrations.jsonl. It stays ignored and is not committed to the public repository.

5. Contact Exports

Internal CSV: .gca_access_data/gca_email_contacts.csv. External-safe CSV: .gca_access_data/gca_email_contacts_public_redacted.csv.

6. Ops Summary

The combined pipeline writes .gca_access_data/gca_registration_ops_summary.json with counts, suppression status, output paths, and boundaries.

Manual Operator Workflow

1. Intake Triage

Accept only non-sensitive account intent, public wallet address, declared GCA balance, program intent, public transaction references, GCA Member holding start date, and member evidence note from the gca_member_preregistration_v2 packet.

2. Identity Check

Confirm Base Mainnet chain ID 8453 and official contract 0x3197c42f4a06f7be32a9a742ac2a766f0ff682c6.

Device Status Recovery

Never ask the user to send a device status key. The member first opens a recovery request on the member-access page, which pre-commits a new browser key and returns the same response whether or not the account matches. Verify control of the exact registered mailbox, then run tools/approve_cloudflare_account_recovery.py with all required acknowledgements. Send the generated mode-0600 recovery packet only to that registered mailbox. The one-time credential expires after 24 hours; completion invalidates the old key without changing the account, credits, member records, wallet balance, or on-chain assets.

3. Wallet Balance Check

Use read-only eth_call and ERC-20 balanceOf. Do not request signatures or transactions for balance reads.

4. Holding Period Review

Treat holdingStartDate and evidenceTxHash as supporting preview evidence. The production approval route also reconstructs the observed 30-day GCA transfer history from a safe Base snapshot, Base Blockscout, and recent wallet-specific Base RPC logs. Approval fails closed unless the history is complete, internally consistent, and the observed minimum balance is at least 1,000,000 GCA.

5. Eligibility Decision

Use tools/review_cloudflare_member.py to record an approved, rejected, or needs-more-information decision through /gca/member-reviews. Successful approval writes append-only gca_holding_verification_v1 evidence and activates member status only; it does not authorize or send the 10,000 GCA benefit.

6. Support Reply

Reply with status, next step, and public links from a full internal export only. A redacted-public export is for reviewer evidence handoff and must not be used as a contactable support queue. Do not promise approval timing, platform listing, price support, audit approval, or trading results.

7. Ledger Handoff

Inspect the active member and linked holding evidence before any manual 10,000 GCA reserve-wallet transfer.

8. Transfer Evidence

After the manual transfer confirms, use tools/record_cloudflare_member_benefit_transfer.py with the protected /gca/member-benefit-transfers route and gca_member_benefit_transfer_v1 packet. The Worker requires a successful safe-block receipt, the official reserve sender, approved recipient, GCA contract, and exact 10,000 GCA amount. It never initiates or signs a transfer.

9. Service Request Triage

Users with a valid device key submit through /gca/account-service-requests. Before review, the same account may cancel a queued request through /gca/account-service-requests/cancellations. Use tools/review_cloudflare_service_request.py for append-only decisions. For needs_more_information, publish one non-sensitive memberPrompt; the account can append a bounded response through /gca/account-service-requests/follow-ups, then the request returns to manual review. Read full responses only through the protected /gca/service-request-followups route. Never collect credentials or create trading permission.

10. Reviewed Delivery

Only an approved request can be marked delivered. Confirm manual completion and credit settlement in the same operator tool, and supply a non-sensitive delivery reference. The Worker uses the server catalog unit and atomically records one linked usage, deduction, review, and delivered status; retries cannot deduct twice.

11. Platform Follow-Up

When a reviewer asks for more information, send public URLs only and keep pool, contract, status, and claim boundaries consistent.

12. Review Package Handoff

When a reviewer asks for local member-ledger evidence, export only the redacted-public package, verify packageDigestSha256, and use the Platform Replies local review package template. Never send a full-local package externally.

13. Review Chain Checkpoint

After continuity verification and a meaningful review batch, export a chain-head receipt with .venv/bin/python tools/create_gca_support_review_checkpoint.py --output ~/Documents/gca-support-review-checkpoint.json and retain it outside the ledger directory.

14. Closure

Before closing, run .venv/bin/python tools/verify_gca_support_review_audit.py. Close the record only after continuity passes and status, evidence reference, reviewer note, and next public link are recorded without secrets.

Member Access Ops Pipeline

Use this local operator pipeline after live account, wallet verification, credit ledger, member ledger, or member-benefit review records exist. It requires the ignored local cloudflare/gca-registration-worker/.env.admin.local file with ADMIN_READ_TOKEN. The output stays in .gca_access_data/ and is not committed.

Account follow-up and cancellation plus token-protected service-request, service-review, service-follow-up, credit-usage, member-review, and holding-verification Worker routes are production-live. 0014_service_request_cancellations.sql and 0015_service_request_followups.sql, the Worker deploy, and public/admin read-only smoke checks passed on 2026-08-10 UTC. Anonymous operator reads return HTTP 401.

1. Token-Protected Export

Run .venv/bin/python tools/run_gca_member_access_ops.py --base-url https://gca-registration-api.gcagochina.workers.dev --limit 100 --redact none --summary-output .gca_access_data/gca_member_access_ops_summary.json.

2. Local Reports

Expected outputs include .gca_access_data/cloudflare_member_access_export.json, account/wallet/credit/service-request/credit-usage/member CSVs, and .gca_access_data/member_access_report/gca_member_access_summary.json.

3. Support Queue

The pipeline writes .gca_access_data/member_access_report/gca_member_support_queue.csv and its summary so replies can be reviewed manually before sending.

4. Holding Evidence

For 30-day member review evidence, rerun with --include-holding-report --holding-no-live-read when using existing snapshots, or run live read-only balance checks only on operator hardware. The summary output is .gca_access_data/member_access_report/gca_holding_period_summary.json.

5. Digest Refresh

After member ops, rerun .venv/bin/python tools/run_gca_daily_ops.py --build-digest --update-public-status so the local operator digest shows member counts without exposing user records.

6. Credit Usage Ledger

Do not write credit usage directly for account requests. Mark the approved request delivered through /gca/service-request-reviews; the Worker creates the linked credit usage and before/after balance exactly once.

7. Service Request Queue

The protected service_requests queue stores request scope without deduction. A more-information review must publish a safe member prompt; use the protected service-request-followups read to inspect the account response. Public history returns only prompt, time, and count. The workflow requires approval before delivery.

8. Member Review Decision

After reviewing public evidence, run .venv/bin/python tools/review_cloudflare_member.py --help and use the required production-write confirmation. Approval also requires the explicit evidence-reviewed confirmation. The command never prints the admin token or sends a wallet transaction.

9. No Automatic Transfer

The member ops pipeline never sends GCA. Any 10,000 GCA member benefit remains manual reserve-wallet processing after review.

Required Review Record

reviewIdUnique internal id
registrationIdAccount or packet reference
laneReview queue lane
statusAllowed queue status
walletAddressPublic EVM address
checkedAtBalance check time
holdingStartDateUser-supplied member evidence date
holdingPeriodDaysVerifiedMember holding evidence
holdingPeriodPreviewEligiblePacket preview flag
evidenceTxHashPublic purchase or transfer tx
evidenceTxHashFormatOk0x format check
memberBenefitReviewEvidenceStatusPending support and ledger review
creditUsageIdCredit usage record reference when credits are consumed
creditAmountUsedService unit deduction amount
remainingCreditsAfterPost-usage credit balance
reviewerNoteNo secrets
publicEvidenceReferencePublic support, reviewer, or chain reference
reviewPackageRedactionModeredacted-public for external handoff
reviewPackageDigestSha256Digest verified before sharing

Required Evidence

Official account recordRegistered account reference
Base walletPublic EVM address only
GCA balanceRead-only eth_call balanceOf
Transaction hashPublic chain reference
Holding-period proofPublic purchase or transfer transaction hash
Holding start dategca_member_preregistration_v2 packet date
Evidence tx hash format0x + 64 hex characters
Member evidence noteNon-sensitive context only
Support noteNon-sensitive note only
Review referencePublic reviewer or platform reference
Redacted package digestpackageDigestSha256 only after verification

Local Review Package Handoff

Use this only when a platform or reviewer asks for local member-ledger evidence. The external package must be redacted-public, verified locally, and sent with the Platform Replies handoff text. The package is support evidence only, not a third-party audit or approval claim.

Review trail.venv/bin/python tools/verify_gca_support_review_audit.py
Retained checkpointtools/verify_gca_support_review_audit.py --checkpoint PATH
External moderedacted-public
Export.venv/bin/python tools/export_gca_review_package.py --redact public --output gca-public-redacted-review-package.json
Verify.venv/bin/python tools/verify_gca_review_package.py gca-public-redacted-review-package.json
Full-local exportInternal-only evidence review

Decision Rules

10,000 GCA100 GCA AI Quant Access credits eligibility
1,000,000 GCA + 30 daysGCA Member eligibility
Approved GCA Member10,000 GCA member benefit eligibility
Below thresholdRecord below_threshold
Missing evidenceRecord needs_more_information
Manual supportCannot override wallet-balance verification

Response Rules

ReceivedConfirm queue receipt only
Needs more informationPublish a non-sensitive memberPrompt; keep operatorNote private
EligibleSay pending ledger activation
Below thresholdState read-only balance result
Platform follow-upSend public URLs and status only
Redacted exportDo not send user replies from redacted-public data
ClosedState final review status

Operational Controls

No Sensitive Data

Reject Private key or seed phrase, Exchange API secret or withdrawal permission, one-time code, recovery phrase, Custody request, fund-transfer request, or live trading instruction.

No Manual Override

Manual support cannot override on-chain wallet-balance verification, release gates, credit ledger activation, or member ledger activation.

Public Boundary

Every response should keep GCA described as concept-stage product buildout with live account intake and eligible ledger records, while live trading and automatic token-benefit transfer remain off.

Redacted Package Only

External reviewer handoff must use the redacted package and verified digest. Full-local records remain internal operator evidence.

No Replies From Redacted Exports

Public-redacted exports are evidence handoff artifacts only. Run the internal operator export before sending account-specific support replies.

Local Continuity Only

The support-review SHA-256 chain detects edits, reordering, and interior deletion while a later chained record remains. Without an independently retained head, it cannot prove that the tail was not truncated or the complete ledger was not replaced. It is not signed, externally anchored, immutable, a production approval system, or a third-party audit.

An unsigned checkpoint export is available for separate retention. Comparing an unchanged receipt later can detect truncation below or a different lineage before that saved head. No public checkpoint, digital signature, independent authenticity proof, or external timestamp is currently claimed.

Safe Reply Template

Your account request has been received. GCA can review your public Base wallet address with a read-only GCA balance check and, for member benefit review, the gca_member_preregistration_v2 holding start date plus public purchase or transfer transaction hash. We will never ask for private keys, seed phrases, exchange API secrets, withdrawal permission, custody, or fund transfers.

Unsafe Reply Boundary

Do not state that the 10,000 GCA member benefit is automatic, listings are approved, liquidity is deep, a third-party audit is complete, wallet warnings are permanently removed, or any trading outcome is expected.

Official Market Reference

PairGCA/USDT
NetworkBase Mainnet
Pool0xfe6a598bf738d7eec9640897064ca3a490128d3d447ced96077aef8e9dd1c1d0
USDT0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2

Operations References

Use the readable operations, review queue, API, and support pages first. These pages do not create custody, withdrawals, automatic token-benefit transfer, or live trading access.

Public References

Member Accesslive account path
Review Queue Contractmanual review lanes
Access API ContractWorkers + D1 routes
Member Ledger Schemaeligible ledger records
Support & Intakemanual support route
Reviewer Kitreview package context
Platform Repliescopyable reviewer replies
Release Gatesgo-live boundaries