PageSourceSearch

https://www.cryptact.com/_next/static/chunks/5485-dcabbd4f9d004a8b.js

js cryptact.com collected 2026-10-03 21:05:41 UTC 21,482 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5485],{11092:(e,t,a)=>{a.d(t,{A:()=>n,H:()=>r});var s=a(20413),i=a(18398);function n(e){let{pageTitle:t,description:a,canonical:s,locale:i,breadcrumbs:n=[]}=e,c=r({breadcrumbs:n,locale:i});return{"@context":"https://schema.org","@type":"WebPage",name:t,description:a,url:s,...c?{breadcrumb:c}:{}}}function r(e){let{breadcrumbs:t,locale:a}=e;if(0===t.length)return;let n=(0,s.lf)(a),r="ja"===a?"":"/".concat(a.toLowerCase());return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{title:i.bC[n],url:"/"},...t].map((e,t)=>({"@type":"ListItem",position:t+1,name:e.title,item:e.url?i.jA+r+e.url:void 0}))}}},30661:(e,t,a)=>{a.d(t,{k:()=>g,K:()=>f});var s=a(33499),i=a(99584),n=a.n(i),r=a(6779),c=a(20413),l=a(40829);let o={"/":["en-jp"],"/pricing":["en-au","en-ca","en-in","en-jp"],"/features":["en-au","en-ca","en-in","en-jp"],"/tax-accountants":["en-jp"],"/ai-mcp-cli/usecases":["en-jp"]};function d(e){var t;return null!=(t=o[e])?t:[]}var p=a(11092),m=a(18398);let u={en:m.jA+"/share-en.png",ja:m.jA+"/share.png"},h=new URL(m.jA).origin;function g(e){let{alternates:t,contentLocale:a,description:i,title:o,image:g,simpleTitle:x=!1,breadcrumbs:y=[],schemaMarkup:j,ogType:b="website"}=e,{locale:w}=(0,c.Ym)(),C=(0,c.lf)(w),{asPath:v}=(0,r.useRouter)(),k=g||{url:u[C],height:630,width:1200},N=function(e){let t="1790840487334";if(!t)return e;let a=new URL(e,m.jA);return a.origin!==h?e:(a.searchParams.set("t",t),a.toString())}(k.url),P=m.bC[C],I=x?o:o+m.XD+P,{pathname:A}=new URL(v,m.jA),L=A.endsWith("/")&&"/"!==A?A.slice(0,-1):A,q=v.endsWith("/")?v.slice(0,-1):v,M=f(q,null!=a?a:(0,l.lI)(w)||d(L).includes(w)?w:"en"),S=null!=j?j:[];y.length>0&&S.push((0,p.A)({pageTitle:I,description:i,canonical:M,locale:C,breadcrumbs:y}));let T=d(L);return(0,s.jsxs)(n(),{children:[(0,s.jsx)("title",{children:I}),i&&(0,s.jsx)("meta",{name:"description",content:i}),(0,s.jsx)("link",{rel:"canonical",href:M}),t?(0,s.jsx)(s.Fragment,{children:Object.entries(t).map(e=>{let[t,a]=e;return(0,s.jsx)("link",{rel:"alternate",hrefLang:"x-default"===t?"x-default":t.toLowerCase(),href:"x-default"===t?m.jA+"/en"+a:m.jA+("ja"===t?"":"/"+t.toLowerCase())+a},t)})}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("link",{rel:"alternate",hrefLang:"ja",href:f(q,"ja")}),(0,s.jsx)("link",{rel:"alternate",hrefLang:"en",href:f(q,"en")}),T.map(e=>(0,s.jsx)("link",{rel:"alternate",hrefLang:e.toLowerCase(),href:f(q,e)},e)),(0,s.jsx)("link",{rel:"alternate",hrefLang:"x-default",href:f(q,"en")})]}),(0,s.jsx)("meta",{property:"og:title",content:o}),(0,s.jsx)("meta",{property:"og:site_name",content:P}),i&&(0,s.jsx)("meta",{property:"og:description",content:i}),(0,s.jsx)("meta",{property:"og:type",content:b}),(0,s.jsx)("meta",{property:"og:image",content:N}),(0,s.jsx)("meta",{property:"og:image:width",content:k.width.toString()}),(0,s.jsx)("meta",{property:"og:image:height",content:k.height.toString()}),(0,s.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,s.jsx)("meta",{name:"twitter:site",content:"@Cryptact"}),(0,s.jsx)("meta",{name:"twitter:title",content:o}),i&&(0,s.jsx)("meta",{name:"twitter:description",content:i}),(0,s.jsx)("meta",{name:"twitter:image",content:N}),null==S?void 0:S.map((e,t)=>(0,s.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(e)}},t))]})}let x=["page","category","year","month","tag"];function f(e,t){let a=new URL(("ja"!==t?"/".concat(t.toLowerCase()):"")+e,m.jA),s=new URLSearchParams;for(let[e,t]of a.searchParams.entries())x.includes(e)&&("page"!==e||"1"!==t)&&s.set(e,t);return a.search=s.toString(),a.toString()}},53689:(e,t,a)=>{a.d(t,{aj:()=>j,r1:()=>C,vA:()=>b});var s=a(33499),i=a(29825),n=a(66422),r=a.n(n),c=a(65235),l=a(20630),o=a(81363),d=a(38589),p=a(20413),m=a(39877),u=a(92085),h=a(70611),g=a(61602);let x=["step-1","step-2","step-3"],f={mcp:{"step-1":null,"step-2":{keyword:"https://mcp.cryptact.com/mcp"},"step-3":null},cli:{"step-1":{keyword:"npm",rest:" install -g @cryptact/cli"},"step-2":{keyword:"cryptact",rest:" auth login"},"step-3":{keyword:"cryptact",rest:" ledger summary"}}},y=async e=>{var t;if(!(null==(t=navigator.clipboard)?void 0:t.writeText)||!window.isSecureContext)return!1;try{return await navigator.clipboard.writeText(e),!0}catch(e){return!1}},j=()=>{let e=(0,d.o)(w),t=(0,d.o)(),a=(0,u.R)(),i=(0,m.I)(768),[n,l]=(0,c.useState)("mcp"),[p,j]=(0,c.useState)(null);(0,c.useEffect)(()=>
1{if(!p)return;let e=window.setTimeout(()=>j(null),2e3);return()=>window.clearTimeout(e)},[p]);let[b,C]=(0,c.useState)(!1),v=(0,c.useRef)(null),k=(0,c.useCallback)(e=>{if(!e){var t;null==(t=v.current)||t.disconnect(),v.current=null;return}v.current=new IntersectionObserver(e=>{let[t]=e;if(null==t?void 0:t.isIntersecting){var a;C(!0),null==(a=v.current)||a.disconnect(),v.current=null}},{threshold:.25}),v.current.observe(e)},[]),N=async(e,t)=>{await y((e=>{let{keyword:t,rest:a=""}=e;return"".concat(t).concat(a)})(t))&&j(e)};return(0,s.jsx)("section",{className:"padding-top-80 padding-bottom-80 mcp-cli-get-started mb-0",children:(0,s.jsxs)("div",{className:"container",children:[(0,s.jsxs)("div",{className:"text-center mb-5",children:[(0,s.jsx)("div",{className:"badge p-0 mb-3",children:(0,s.jsx)("div",{children:(0,s.jsx)("p",{className:"mb-0",children:e({id:"badge"})})})}),(0,s.jsx)("h2",{className:"h2 mb-3",children:e({id:"title"})}),(0,s.jsx)("p",{className:"mb-4",children:e({id:"subtitle"})}),(0,s.jsxs)("div",{className:"get-started-switch",children:[(0,s.jsx)("button",{type:"button",className:"mcp"===n?"active":"","aria-pressed":"mcp"===n,onClick:()=>l("mcp"),children:e({id:"toggle.mcp"})}),(0,s.jsx)("button",{type:"button",className:"cli"===n?"active":"","aria-pressed":"cli"===n,onClick:()=>l("cli"),children:e({id:"toggle.cli"})})]})]}),(0,s.jsx)("div",{ref:k,className:"d-flex flex-wrap justify-content-center align-items-start padding-bottom-80 get-started-steps".concat(b?" is-visible":""),children:x.map((c,l)=>{let d=f[n][c],m="".concat(n,"-").concat(c),u=p===m,x=e({id:u?"tooltip.copied":"tooltip.copy"});return(0,s.jsxs)("article",{className:"p-4 user-voice-card rounded-4 get-started-step",children:[(0,s.jsxs)("div",{className:"d-flex align-items-center gap-2 mb-3",children:[(0,s.jsx)("img",{src:"/assets/mcpandcli/icon-number-circle-".concat(l+1,".svg"),alt:h.m,width:24,height:24,className:"flex-shrink-0"}),(0,s.jsx)("p",{className:"h5 fw-600 mb-0",children:e({id:"".concat(n,".").concat(c,".title")})})]}),(0,s.jsx)("p",{className:"text-graphite-dark mb-0",children:e({id:"".concat(n,".").concat(c,".description")})}),"mcp"===n&&"step-1"===c&&(0,s.jsx)(g.F,{href:a("pafin","/signup?service=cryptact"),label:t({id:"common.nav.try"}),className:"mt-3",textClassName:"button-sm"}),"mcp"===n&&"step-3"===c&&(0,s.jsxs)(r(),{className:"d-inline-flex align-items-center mt-3 link-with-arrow",href:"/ai-mcp-cli/usecases",children:[(0,s.jsx)("span",{className:"fw-600",children:e({id:"mcp.step-3.link"})}),(0,s.jsx)("span",{className:"link-arrow right"})]}),d&&(0,s.jsxs)("div",{className:"get-started-snippet mt-3",children:[(0,s.jsxs)("code",{children:[(0,s.jsx)("span",{className:"snippet-keyword",children:d.keyword}),d.rest]}),(0,s.jsx)("button",{type:"button",className:"snippet-copy-btn","data-tooltip-id":"tooltip-".concat(m),"data-tooltip-place":"bottom",onClick:()=>N(m,d),"aria-label":x,children:(0,s.jsx)("img",{src:u?"/assets/mcpandcli/icon-check.svg":"/assets/mcpandcli/icon-copy.svg",alt:h.m,width:16,height:16})}),!i&&(0,s.jsx)(o.m_,{id:"tooltip-".concat(m),place:"bottom",offset:14.5,className:"rounded-3 py-1 px-2 tooltip",content:x})]})]},c)})}),(0,s.jsx)("h3",{className:"h3 mb-4 mb-lg-5 text-center mt-3 mt-lg-0",children:e({id:"guides.title"})}),(0,s.jsxs)("div",{className:"d-flex flex-column flex-lg-row justify-content-center gap-4",children:[(0,s.jsx)("a",{className:"p-4 bg-white rounded-4 detailed-guides-card mb-2 mb-lg-0",href:a("cryptact-support","/articles/56762747250201"),target:"_blank",rel:"noopener noreferrer",children:(0,s.jsxs)("div",{className:"d-flex flex-column flex-lg-row align-items-start align-items-lg-center gap-3",children:[(0,s.jsx)("img",{src:"/assets/mcpandcli/icon-mcp-guide.svg",alt:h.m,width:96,height:96}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"h4 fw-600 mb-1",children:e({id:"guides.mcp.title"})}),(0,s.jsx)("p",{className:"mb-0",children:e({id:"guides.mcp.description"})})]})]})}),(0,s.jsx)("a",{className:"p-4 bg-white rounded-4 detailed-guides-card",href:"https://github.com/pafin-inc/cryptact-cli",target:"_blank",rel:"noopener noreferrer",children:(0,s.jsxs)("div",{className:"d-flex flex-column flex-lg-row align-items-start align-items-lg-center gap-3",children:[(0,s.jsx)("img",{src:"/assets/mcpandcli/icon-cli-guide.svg",alt:h.m,width:96,height:96}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"h4 fw-600 mb-1",children:e({id:"guides.cli.title"})}),(0,s.jsx)("p",{className:"mb-0",children:e({id:"guides.cli.description"})})]})]})})]})]})})},b=()=>{let e=(0,d.o)();return(0,s.jsxs)("p",{className:"free-plan-note mb-0",children:[(0,s.jsx)("img",{src:"/assets/mcpandcli/icon.svg",alt:h.m,loading:"lazy"}),(0,s.jsx)("span",{children:e({id:"mcp-cli.free-plan"},{free:(0,s.jsx)("span",{className:"free-keyword",children:"Free"})})})]})},w=(0,i.k)({en:{badge:"Get started",title:"How to start with AI & automation",subtitle:"Pick the tool that fits your goal — set up in three steps.","toggle.m
1cp":"MCP server","toggle.cli":"CLI","tooltip.copy":"Copy","tooltip.copied":"Copied!","mcp.step-1.title":"Create a free account","mcp.step-1.description":"Create a free cryptact account. Already have one? Skip to step 2.","mcp.step-2.title":"Connect your AI assistant","mcp.step-2.description":"Go to Settings in Claude or ChatGPT and add the cryptact MCP server URL shown below.","mcp.step-3.link":"See example prompts","mcp.step-3.title":"Start asking","mcp.step-3.description":"That's it. Ask about your P&L, portfolio, transactions, or account status — just tell your AI assistant what you need.","cli.step-1.title":"Install the CLI","cli.step-1.description":"Install from npm. Works on macOS, Linux, and Windows.","cli.step-2.title":"Authenticate","cli.step-2.description":"One-time browser-based sign-in with your cryptact account.","cli.step-3.title":"Run commands","cli.step-3.description":"Upload files, search transactions, and pull P&L summaries.","guides.title":"Guides for MCP and CLI","guides.mcp.title":"MCP Setup Guide","guides.mcp.description":"Detailed walkthrough for connecting to Claude Desktop, ChatGPT, and more.","guides.cli.title":"CLI Setup Guide","guides.cli.description":"Source code, installation, command reference, and contribution guide."},ja:{badge:"はじめに",title:"AI連携・自動化の始め方",subtitle:"目的に合うツールを選び、3ステップで始められます。","toggle.mcp":"MCP サーバー","toggle.cli":"CLI","tooltip.copy":"コピー","tooltip.copied":"コピーしました","mcp.step-1.title":"無料アカウントを作成","mcp.step-1.description":"クリプタクトの無料アカウントを作成します。すでにアカウントをお持ちの方はスキップしてください。","mcp.step-2.title":"AIアシスタントに連携","mcp.step-2.description":"ClaudeやChatGPTで、設定画面から下記のMCPサーバーURLを追加します。","mcp.step-3.link":"プロンプト例を見る","mcp.step-3.title":"AIに質問する","mcp.step-3.description":"損益の確認、ファイルのアップロード、取引の編集など、AIアシスタントに指示するだけで処理されます。","cli.step-1.title":"CLIをインストール","cli.step-1.description":"npmからワンコマンドでインストール。macOS、Linux、Windowsに対応しています。","cli.step-2.title":"認証する","cli.step-2.description":"ログインコマンドを実行すると、ブラウザが開き、クリプタクトアカウントで一回限りのサインインを行います。","cli.step-3.title":"コマンドを実行","cli.step-3.description":"ファイルのアップロード、取引検索、損益サマリーの取得など、すべてターミナルから実行できます。","guides.title":"MCPとCLIの詳しいガイド","guides.mcp.title":"MCP接続ガイド","guides.mcp.description":"Claude Desktop、ChatGPTなどへの接続方法の詳細なウォークスルー。","guides.cli.title":"GitHub — CLI","guides.cli.description":"ソースコード、インストール手順、コマンドリファレンス、コントリビューションガイド。"}}),C=e=>{let{totalExchangeCount:t,totalCryptoCoinsCount:a}=e,i=(0,d.o)(v),{formatNumber:n}=(0,l.A)(),{baseLocale:c,locale:o}=(0,p.Ym)(),m=[{question:i({id:"q-1"}),answer:i({id:"a-1"},{totalExchangeCount:n(t),totalCryptoCoinsCount:n(a)})},{question:i({id:"q-2"}),answer:i({id:"a-2"}),..."ja"===c&&{link:{href:"/blog/cryptocurrency-how-to-taxfiling",label:i({id:"link-2"})}}},{question:i({id:"q-3"}),answer:i({id:"a-3"}),link:{href:"/pricing",label:i({id:"link-3"})}},{question:i({id:"q-4"}),answer:i({id:"a-4"})},{question:i({id:"q-5"}),answer:i({id:"a-5"},{link:(0,s.jsx)("a",{href:"/crypto-tax-simulator",rel:"noopener noreferrer",className:"text-brand-dark fw-600",children:"「仮想通貨の税金計算シミュレーション」"}),usecases:(0,s.jsxs)(r(),{href:"/ai-mcp-cli/usecases#case-".concat((0,p.Hm)(o)?14:15),className:"link-with-arrow d-inline text-brand-dark fw-600",children:[i({id:"a-5.usecases"}),(0,s.jsx)("span",{className:"link-arrow right d-inline-block align-middle ms-1"})]})})}];return(0,s.jsx)("section",{className:"padding-top-80 padding-bottom-80 support-faq mb-0 overflow-hidden",itemScope:!0,itemType:"https://schema.org/FAQPage",children:(0,s.jsx)("div",{className:"container faq-gradient",children:(0,s.jsxs)("div",{className:"d-flex flex-column justify-content-center align-items-center",children:[(0,s.jsx)("div",{className:"badge p-0 mb-4",children:(0,s.jsx)("div",{children:(0,s.jsx)("p",{className:"mb-0",children:i({id:"badge"})})})}),(0,s.jsx)("div",{className:"bg-white rounded-16 p-4 mb-4 faq-container faq-box-shadow",children:(0,s.jsx)("div",{className:"pt-4 p-lg-4",children:(0,s.jsx)("div",{children:(0,s.jsxs)("div",{className:"mw-1060 mx-auto",children:[(0,s.jsx)("h2",{className:"h2 mb-3 text-center",children:i({id:"title"})}),(0,s.jsx)("p",{className:"mw-1100 block-center mb-5 text-center",children:i({id:"subtitle"})}),m.map((e,t)=>(0,s.jsxs)("dl",{className:"faq-item text-start ".concat(t!==m.length-1&&"border-bottom-graphite-very-light pb-4 my-4"),itemScope:!0,itemProp:"mainEntity",itemType:"https://schema.org/Question",children:[(0,s.jsx)("dt",{className:"h5 text-gra
1phite-dark text-preline",itemProp:"name",children:e.question}),(0,s.jsxs)("dd",{itemScope:!0,itemProp:"acceptedAnswer",itemType:"https://schema.org/Answer",style:{margin:0},children:[(0,s.jsx)("span",{className:"d-block text-preline mb-0",itemProp:"text",children:e.answer}),e.link&&(0,s.jsx)("a",{className:"d-inline-block mt-2 mw-100 link-with-arrow",href:e.link.href,rel:"noopener noreferrer",children:(0,s.jsxs)("span",{className:"fw-600",children:[e.link.label,(0,s.jsx)("span",{className:"link-arrow right d-inline-block align-middle ms-1"})]})})]})]},e.question))]})})})})]})})})},v=(0,i.k)({en:{badge:"Support",title:"Frequently asked questions",subtitle:"Common questions and answers from our users.","q-1":"What is cryptact's AI integration feature?","a-1":"cryptact's AI integration lets you operate your crypto transaction data in natural language from AI assistants like Claude and ChatGPT. We offer two formats — the MCP Server (conversational) and the CLI (command-line) — so you can complete P&L summaries, transaction search and editing, and recalculations through conversation with AI. Supports {totalExchangeCount}+ exchanges and blockchains, and {totalCryptoCoinsCount} cryptocurrencies.","q-2":"What is MCP? Can I use it for crypto tax filing?","a-2":'MCP (Model Context Protocol) is an open standard that connects AI assistants to external services. With the cryptact MCP server, you can use AI assistants like Claude or ChatGPT to pull your P&L data, portfolio, and transaction history directly — just by asking in plain language. For example, you can ask "What was my BTC realized P&L in 2025?" and instantly get the information you need for tax filing, making it a practical tool for managing your crypto taxes.',"link-2":"","q-3":"Is the cryptact MCP server free to use?","a-3":"Yes, it's free for all cryptact users on every plan, including the Free plan. There are no additional charges. If you already have a cryptact account, you can connect to the MCP server using your existing credentials — no extra setup or subscription required.","link-3":"View details of the cryptact Free Plan","q-4":"Is it safe to send my crypto transaction data to an AI?","a-4":"cryptact's MCP server securely connects to your cryptact account via OAuth authentication. Your credentials are never passed directly to the AI assistant, and data is read or written only based on your instructions. Please note that how the AI assistant handles your data (including its use for training) is governed by the policies of the AI service you are using (such as Claude or ChatGPT), so we recommend also reviewing the privacy settings of each service.","q-5":"Can I estimate my crypto taxes using data from the MCP?","a-5.usecases":"see our use cases","a-5":'The data you receive through the MCP server — P&L summaries, portfolio positions, and transaction history — is calculated by the cryptact engine. The AI assistant serves as a convenient way to query and organize those results in natural language. You can quickly check things like "What\'s my realized P&L this year?" or "Which assets have gains?" to make tax filing preparation much faster. For examples of reviewing tax-saving options with AI, {usecases}'},ja:{badge:"サポート",title:"よくある質問",subtitle:"お客様から寄せられたよくあるご質問と回答です。","q-1":"クリプタクトのAI連携機能とは何ですか?","a-1":"クリプタクトのAI連携機能は、ClaudeやChatGPTなどのAIアシスタントから、仮想通貨(暗号資産)の取引データを自然言語で操作できる機能です。MCPサーバー(対話型)とコマンドライン(CLI)の2形態を提供し、損益サマリーの取得・取引の検索や編集・計算がAIとの対話で完結します。{totalExchangeCount}以上の取引所・ブロックチェーン、{totalCryptoCoinsCount}の仮想通貨に対応しています。","q-2":"MCPとは何ですか?仮想通貨の確定申告に使えますか?","a-2":"MCP(Model Context Protocol)とは、AIアシスタントと外部サービスを接続するための仕組ã
1¿ã§ã™ã€‚クリプタクトのMCPサーバーを利用すると、ClaudeやChatGPTなどのAIアシスタントから、自然言語でクリプタクトの損益データやポートフォリオ、取引履歴を直接取得できます。「ビットコインの実現損益を教えて」のように質問するだけで、確定申告に必要な情報をすぐに確認できますので、仮想通貨の税務管理にも活用いただけます。","link-2":"【2026年最新版】仮想通貨の確定申告が必要?計算方法とやり方・手順","q-3":"クリプタクトのMCPサーバーは無料で使えますか?","a-3":"はい、無料プランを含む全プランでご利用いただけます。追加費用は発生しません。クリプタクトのアカウントをお持ちであれば、既存のクリプタクトアカウントでそのままMCPサーバーに接続できます。","link-3":"Freeプランの詳細を見る","q-4":"仮想通貨取引のデータをAIに送っても安全ですか?","a-4":"クリプタクトのMCPサーバーは、OAuth認証を経由してクリプタクトアカウントに安全に接続します。AIアシスタントに認証情報を直接渡すことはなく、お客様の指示に基づいてデータの読み取り・書き込みが行われます。AIアシスタント側でのデータの取り扱い(学習への利用を含む)は、お使いのAIサービス(Claude、ChatGPTなど)のポリシーに準じますので、各サービスのプライバシー設定もあわせてご確認ください。","q-5":"MCPに送ったデータから仮想通貨の税金もある程度計算できますか?","a-5.usecases":"活用事例ページでご紹介しています","a-5":"クリプタクトが提供するのは、確定申告に必要な仮想通貨の損益計算データです。MCPサーバーを通じて、AIアシスタントから損益サマリーやポートフォリオ、取引履歴の確認、取引の編集、再計算の実行ができます。「今年の実現損益はいくらか」「この取引を反映して再計算して」といったやりとりがスムーズに行えますので、確定申告の準備を大きく効率化できます。概算の税額を確認したい場合は、別途 {link} (公認会計士・税理士監修、無料)をあわせてご利用ください。税制改正後の納税額の試算や、含み損の実現による税金対策の検討をAIと進める例は、{usecases}"}})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.