docs: reposition around undercollateralized lending for leverage - #64
Merged
Merged
Conversation
The docs site still described t1 as cross-chain appchain infrastructure, while the relaunched landing page positions t1 as the permissionless credit protocol for DeFi. This brings the docs in line with it. New under Protocol Overview: Programmable Custody, Margin Accounts, Risk Engine and Liquidation, and Lending Pools. Introduction rewritten around permissionless credit; TEE and Real-Time Proving reframed as the infrastructure the credit protocol runs on; Network Architecture kept but retitled and labelled as the long-term network vision from the litepaper. New Ecosystem page for amplifi and juiced, and two new integration pages for venues and lenders. Glossary gains the credit vocabulary and loses two stale litepaper anchors. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
✅ Deploy Preview for t1docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
…verclaims Perpetual DEXs offer leverage natively, so listing them as venues that cannot get leverage without t1 was wrong. Removed from the homepage. An adversarial review of the rest of the PR found claims the docs made that the source material does not support, three of them checkable and false: - amplifi and juiced were described as running on the same TEE-held margin accounts and risk engine. amplifi keeps wallet keys in Postgres (003_polymarket.sql, owner_private_key, TODO: encrypt this later) and has no enclave code. The ecosystem page no longer asserts a mechanism for the two shipped apps. - "The risk engine is open-source" invited a reader to go read code that is not public; t1protocol/amplifi is private. Replaced with what attestation actually gives a lender. - Interest was listed inside the immutable loan policy. The shipped RateAdminLendingPool exposes setRateParams to owner and rateAdmin, and the curve is utilization-kinked, so the rate moves by design. Interest is now a pool parameter, separate from the bound policy. Also softened two absolute guarantees no TEE deployment supports, narrowed the legal and KYC claims back to what the landing page says, fixed a withdrawal-rights contradiction on the ecosystem page, scoped the present-tense rollup definition in architecture.md, dropped a rollup-exit latency bullet from rtp.md that does not apply to pool repayment, removed an invented integration promise, repointed the footer Integration link at the new overview, and corrected three British spellings. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Cross-Chain Reads sat as a co-equal third card on the docs homepage and as a third H2 in the Integration overview, which put a developer primitive next to the two things the credit protocol is actually selling. The homepage deck is now Offer Leverage and Provide Liquidity only, and the overview leads with those two and points at xChainRead, ERC-7683 and Docker dApps in one trailing line instead. The pages themselves are untouched and still in the sidebar. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The previous commit removed the claim that the two shipped apps run on TEE-held margin accounts, which left the mechanism pages silent about how far the architecture is actually deployed. Rather than asserting a negative, this states the direction the way amplifi's terms of service already do: controlling keys are migrating into TEEs and in certain environments are already held that way, with the full TEE architecture across every environment as the long-term design. A Rollout section at the bottom of programmable-custody.md carries it, linking the terms as the authoritative account of where the migration stands. The risk engine's verifiability section and the ecosystem page point at it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The Rollout note described the migration in terms of controlling keys and environments, which is how amplifi's terms of service put it. The actual status quo is broader: some subsystems already run inside a TEE and others are in the process of being moved into one. Says that instead, and points the TEE page at the same note, since it lists four uses in the present tense. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
OrestTa
added a commit
that referenced
this pull request
Sep 23, 2026
All t1 Discord links now use https://discord.gg/efGTM9q54s: the homepage community card, the config footer, and the contact CTAs on the two integration pages. Follow-up to #64, which merged before this landed. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why: docs.t1protocol.com has not been touched since January and still tells visitors that t1 is infrastructure for building composable appchains, while t1protocol.com — relaunched this month and linking straight here from its "Read the docs" button — says t1 is the permissionless credit protocol for DeFi.
What: this rewrites the docs around undercollateralized lending for leverage on anything, with programmable custody as the core mechanism, and demotes the rollup material to a clearly-labelled long-term network vision instead of deleting it.
What a reader gets now
The story the docs tell, start to finish: permissionless credit has never been possible on-chain because every existing answer charges for trust — overcollateralized lending makes capital sit idle, permissioned credit brings back KYC and loan agreements, custodial leverage makes you hand over your assets. t1's answer is a margin account whose private key lives in a TEE and is bound at creation to the lender's loan policy. The key signs a trade the policy permits and will not sign a withdrawal to the borrower. The borrower gets direction rights and never gets withdrawal rights, which is what makes the loan safe to undercollateralize.
The reason this reaches "anything" gets its own explanation, because it is the non-obvious part: a smart contract can only police its own execution environment, and Polymarket, Hyperliquid, and Lighter all run off-chain orderbooks. A key sits in front of the transaction rather than inside the destination, so one account and one policy work across on-chain venues, off-chain orderbooks, and other chains.
New pages
Rewritten or reframed
Nothing was deleted from the Integration section: xChainRead, ERC-7683, and Docker dApps are all still there, now presented as the primitives underneath the credit protocol rather than as the product.
UTM rows
Two off-site product links ship in this PR, both on the Ecosystem page, and both rows are already in the UTM sheet:
t1-docsis a newutm_source(the parallel oft1-landing), andt1docs-creditis a new campaign slug for this repositioning. Every other off-site link in the new pages is internal or points at Discord, so these two are the whole surface. The homepage's amplifi and juiced cards deliberately link to the Ecosystem page rather than out, so all product traffic from the docs is attributed through one place.Two things to check
nbvyXZHgkein two places (homepage card and config footer); the landing page shipsqVEUA6jmGZ. I aligned the docs to the landing page's value, in the homepage, the footer, and the two new contact CTAs. Worth confirming that is the invite you want public./intro/resources#t1-litepaper, but the heading is "t1 Vision Litepaper", so the anchor never resolved. Fixed to#t1-vision-litepaper.No API surface was invented: the builder and lender pages describe the model and end in a contact CTA, because there is no self-serve onboarding to document yet. Claims in the new pages were initially carried over from the landing page's shipped copy; see Review round 1 below for the ones that did not survive checking.
Verification
yarn lintclean (0 errors; the 6 warnings are pre-existingno-explicit-any).yarn buildsucceeds with no broken-link warnings. Rendering checked in a browser against the production build: sidebar ordering, both card decks, the markdown tables, the admonition, and the heading anchors the cross-links point at.Plan
Read the docs and the landing page, confirm three scoping decisions, rewrite the intro and add the four credit pages, reframe TEE/RTP and subordinate the network architecture, add the ecosystem and two integration pages, update the glossary and homepage, register the UTM rows, verify by build and browser, open the PR for review.
User prompts
Three scoping questions were asked before any writing, and all three were answered with the recommended option: keep the rollup material but clearly subordinate it, keep all existing integration docs but reframe them, and write concepts plus "work with us" pages without inventing an API.
Review round 1
Both localhost review CLIs were unavailable — codex is past its usage limit until Sep 26 4:59 PM, and cursor-agent needs an interactive
agent login. An independent adversarial review ran in their place, checking every claim in the new pages against the landing page copy and against the actual shipped code. It found real problems. Three were checkable and false:amplifi/src/persistence/migrations/003_polymarket.sql:38isowner_private_key VARCHAR(66) NOT NULL, -- TODO: encrypt this later, and there is no enclave code insrc/t1protocol/amplifiis private; the only public repo isamplifi-contracts, which holds pool contracts, not the risk engineamplifi-contracts/src/RateAdminLendingPool.sol:37exposessetRateParams(...)toowner()/rateAdmin, and the curve is utilization-kinkedEach is now fixed: the ecosystem page no longer asserts a mechanism for the two shipped apps, the open-source claim is replaced with what attestation actually gives a lender, and interest is described as a pool parameter separate from the bound policy.
Also corrected in the same pass: two absolute guarantees no TEE deployment supports ("Nobody … can make it do otherwise", "not by compromising their own credentials"); "No legal exposure" and the KYC-obligation clause, both wider than the landing page's wording; a withdrawal-rights contradiction on the ecosystem page; the present-tense "t1 is a TEE-enabled cross-chain application infrastructure" opening of
architecture.md, now scoped to "As a network"; artp.mdbullet importing seven-day rollup-exit latency into pool repayment; an invented integration promise inleverage.md; the footer's Integration link, still pointing at the demoted xChainRead page; and three British spellings.That last one left the landing page disagreeing with the docs, since its
LEND.claimsstill read "Open-source risk engine". Closed by t1protocol/t1-landingpage#14, which removes it there too.amplifi-landingpageandjuiced-landing-pagecarry no equivalent claim.Verification (round 2)
yarn lintclean (0 errors, 6 pre-existing warnings).yarn buildsucceeds; the only warnings are the pre-existingonBrokenMarkdownLinksdeprecation notices, no broken links. Link and anchor targets across all 25 docs pages were machine-checked, including#residual-risk,#loan-policy,#amplifi,#juiced,#the-loan-policyand/intro/resources#t1-vision-litepaper; all resolve.Review round 2
Two changes from the author's review of the rendered pages:
programmable-custody.md— that a contract on another chain cannot inspect or unwind a position on an off-chain orderbook, Hyperliquid and Lighter included — is about enforcement reach rather than leverage availability, and stands.rtp.mdstill links xChainRead from its "Beyond credit" section, which is its natural home.Review round 3
Removing the "these two apps run on TEE-held accounts" claim left the mechanism pages saying nothing about how far the architecture is actually deployed, which is its own kind of misleading. Rather than asserting a negative, the docs now state the status quo: some subsystems already run inside a TEE, and others are in the process of being moved into one, with the full TEE architecture as the long-term design.
A Rollout section at the bottom of Programmable Custody carries that, and links amplifi's terms of service as the authoritative account for the live products — §2.4 there covers the controlling keys specifically. The TEE page, the risk engine's "What lenders can verify" section, and the Ecosystem page all point at the note, so a reader who meets a present-tense claim on any of them is one click from where the rollout stands.
🤖 Generated with Claude Code