Skip to main content

Offchain Pattern guide

This document provides guidance on how to write a document that complies with Offchain's editorial standards

Content Types

Choose the right content type based on your audience and purpose:

Content TypePurposeWhen to UseExample
Gentle IntroductionDay 1 onboarding for newcomersMultiple audiences need foundational knowledgeArbitrum Intro
QuickstartFast onboarding with hands-on stepsSingle audience needs immediate activationSolidity Quickstart
How-toStep-by-step task completionUsers need to accomplish a specific taskRunning an Archive Node
TutorialComprehensive learning experienceUsers need to learn through guided practiceIntegration guides
ConceptExplain ideas and relationshipsUsers need to understand how something worksSecurity Council
ReferenceQuick lookup of technical detailsUsers need specific technical informationAPI documentation
TroubleshootingProblem-solution mappingUsers are encountering specific issuesNode Troubleshooting

Writing Principles

PrincipleDescriptionGood ExampleAvoid
Use sentence caseFirst letter capitalized, rest lowercase"Deploy your smart contract""Deploy Your Smart Contract"
Write descriptive linksLinks describe their destination"See our [deployment tutorial]""Find more [here]"
Minimize technical jargonUse plain language when possible"How to reuse contract methods""How to leverage trait-based composition"
Lead with what mattersPut important information firstStart with the outcome or benefitBury the key point
Write conciselyUse short, clear sentencesBreak up complex ideasWrite three-line sentences
Use QuicklooksUse Quicklooks with terms found in docs/partials/glossaryIn the past, Arbitrum chains ordered incoming transactions on a "First-Come, First-Serve (FCFS)" basis.In the past, Arbitrum chains ordered incoming transactions on "First-Come, First-Serve (FCFS)" basis.

Guide

TermCorrectIncorrect
JavaScriptJavaScriptjs, javascript, Javascript
appfirst mention on page → decentralized app

subsequent mentions → app | dapp, dApp | | Smart contract | smart contract, contract | smartcontract | | Cross-chain | cross-chain | cross chain, crosschain | | Allowlist/Denylist | allowlist, denylist | whitelist, blacklist | | ERC-XX (ERC-20, ERC-721, …) | ERC-20, ERC-721, ERC-1155 | ERC20, erc721, … | | Sequencer Coordination Manager | Sequencer Coordination Manager (SQM) | sequencer coordinator manager | | AnyTrust | AnyTrust | anytrust, Anytrust | | Ethereum currency | ETH, Ether, ether | eth, Eth, ETH | | onchain | onchain | on-chain, on chain | | Arbitrum chains | "Your Arbitrum chain" | Avoid "L3 Orbit chain" or "blockchain" | | Challenge period | 6.4 days to challenge an assertion | Distinguished from confirmation period | | Bond | Bonded funds for proposing | Preferred over "stake" | | Rollup | Rollup | rollup | | allowlist | allowlist | whitelist | | denylist | denylist | blacklist |

Diagrams and Visual Content

Preferred Format

  • Use SVG for scalability and code-friendliness
  • Avoid PNG unless necessary
  • excalidraw for creating diagrams
  • Focus on illustrating concepts, data structures, and flows
  • Third-party content guide - if you’re not sure how to incorporate third-party content and tooling into our docs