Wednesday, November 4, 2026
banner
Top Selling Multipurpose WP Theme

The Letter Firm has launched the beta of Letterpress-1, a coding agent, harness and IDE for progress engineering. The Letterpress-1 coding agent reads a web site and its market, then decides what ought to exist. It builds the change in a sandbox and opens a pull request with a dwell preview.

TL;DR

  • Measurement: Letter group says it combines frontier fashions with fine-tuned small fashions; names and sizes will not be disclosed.
  • Runs on: Letter’s hosted platform in opposition to your git repository. No native GPU wanted. Setup takes below 5 minutes, per Letter.
  • Efficiency: No public benchmark. Letter reveals 1 self-reported, side-by-side web page construct in opposition to Codex.
  • Greatest: 760 instruments uncovered by 1 registry over MCP, REST and CLI.
  • Worst: No measurable eval; entry plan is $100/month with overage at 5x the record charge.

What’s Letterpress-1?

Letterpress-1 is a progress engineering agent from The Letter Firm. It turns web site and market indicators into pull requests. The letter firm group argues that web sites, not like apps, react to exterior forces. These embrace agent behavior, Google rankings, human visits and competitor activity. Basic coding brokers had been constructed to scale codebases, to not act on these indicators.

The agent is aimed toward groups that host their advertising and marketing web site in git. It’s proactive: it suggests the subsequent factor to construct. Examples embrace de-anonymization, touchdown pages, warmed emails, weblog automation and agent telemetry.

How does Letterpress-1 work?

Letterpress-1 runs in 3 modes:

  • Construct: create a web page or characteristic from a immediate, with model copy and visuals stored constant.
  • Plan: decide a purpose and get a construct plan of progress actions.
  • Repair: discover web site points and dispatch pull requests to repair them.

Each change follows the identical loop. The agent reads the location, plans and builds in a sandbox. It evaluations its personal change, then opens a pull request. Every change returns a preview link of your own site. Nothing lands till you select a preview, a pull request, or a merge after checks move.

Letter group lists 6 surfaces. These are the net platform, a Slack app, the letterpress CLI and a web site portal. A standalone app and your personal agent spherical out the record. The in-site IDE works on a dwell web page. Press ⌘L, edit textual content the place you see it, and a pull request follows. Showcase examples additionally cowl A/B assessments from dwell edits.

For builders, agents.md paperwork an MCP server at app.letterstory.com/api/mcp with OAuth. The MCP manifest, OpenAPI spec and API reference type 1 registry of 760 instruments. Claude Code, Codex or any MCP-capable agent can name the identical capabilities the app makes use of.

What are Proofs, Simulations, Benches and Phantoms?

The launch publish highlights 4 primitives aimed toward successful over AI brokers as patrons:

  • Proofs: signed proof of buyer success, constructed from telemetry and billing knowledge, for agent guests.
  • Simulations: mirror variations of your API or MCP with simulated knowledge, so brokers can strive earlier than shopping for.
  • Benches: self-hosted, reproducible benchmark apps with open-source code and impartial governance.
  • Phantoms: impartial, autonomous blogs used to sandbox progress methods.

The location provides extra: Kernels, Letterbases, Guests and Mailers. Then it watches competitor sitemaps and flag new pages. Letter group positions these as replacements for instruments like G2, Semrush, Profound, RB2B and Immediately.

<iframe id="lp1x-frame" title="Letterpress-1 interactive explainer" loading="lazy" type="width:100%;top:600px;border:0;show:block;background:clear;" srcdoc="<!doctype html>
<html lang="en"><head><meta charset="utf-8"><meta identify="viewport" content material="width=device-width,initial-scale=1">
<title>Letterpress-1 Defined</title>
<hyperlink rel="preconnect" href="https://fonts.googleapis.com"><hyperlink rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<hyperlink href="https://fonts.googleapis.com/css2?household=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,700&household=Ibarra+Actual+Nova:wght@500;600;700&show=swap" rel="stylesheet">
<type>
html,physique{margin:0!essential;padding:0!essential;background:clear!essential}
#lp1x{–ink:#f3f1ec;–muted:rgba(243,241,236,.6);–line:rgba(243,241,236,.12);–bg:#201e1f;–bg2:#181717;–card:#282627;–phos:#9AF2E0;–press:#EE724A;–mint:#8FD9B6;–amber:#E8912D;–mtp:#76B900;
max-width:880px;margin:0 auto!essential;box-sizing:border-box;background:var(–bg)!essential;colour:var(–ink)!essential;border:1px stable var(–line)!essential;border-radius:16px;overflow:hidden;font-family:"DM Sans",system-ui,sans-serif;font-size:15px;line-height:1.5;
background-image:radial-gradient(rgba(243,241,236,.09) 1px,clear 1.2px)!essential;background-size:18px 18px!essential}
#lp1x *{box-sizing:border-box}
#lp1x hr,#lp1x p:empty,#lp1x del,#lp1x s{show:none!essential}
#lp1x p{margin:0 0 8px}
#lp1x .hd{padding:22px 24px 10px}
#lp1x .kicker{font-size:11px;letter-spacing:.14em;text-transform:uppercase;colour:var(–phos)!essential;font-weight:700}
#lp1x h2{font-family:"Ibarra Actual Nova",Georgia,serif;font-weight:600;font-size:30px;line-height:1.1;margin:6px 0 4px;colour:var(–ink)!essential}
#lp1x h2 em{colour:var(–press)!essential;font-style:italic}
#lp1x .sub{colour:var(–muted)!essential;font-size:14px}
#lp1x .tabs{show:flex;hole:6px;padding:8px 24px 0;border-bottom:1px stable var(–line);overflow-x:auto}
#lp1x .tab{look:none;background:clear!essential;border:0!essential;border-bottom:2px stable clear!essential;colour:var(–muted)!essential;font:600 14px "DM Sans",sans-serif;padding:10px 12px;cursor:pointer;white-space:nowrap;transition:colour .2s}
#lp1x .tab[aria-selected=true]{colour:var(–ink)!essential;border-bottom-color:var(–phos)!essential}
#lp1x .tab:focus-visible{define:2px stable var(–phos);outline-offset:2px}
#lp1x .panel{show:none;padding:20px 24px 22px;animation:lpfade .35s ease}
#lp1x .panel.on{show:block}
@keyframes lpfade{from{opacity:0;rework:translateY(6px)}to{opacity:1;rework:none}}
/* pipeline */
#lp1x .pipe{show:grid;grid-template-columns:repeat(6,1fr);hole:8px;place:relative;margin:6px 0 14px}
#lp1x .rail{place:absolute;left:8%;proper:8%;high:23px;top:2px;background:var(–line)}
#lp1x .rail i{show:block;top:100%;width:0;background:linear-gradient(90deg,var(–phos),var(–mint));transition:width .5s ease}
#lp1x .node{place:relative;z-index:1;text-align:heart;cursor:pointer;background:none!essential;border:0!essential;colour:var(–muted)!essential;font:500 12px "DM Sans",sans-serif;padding:0}
#lp1x .node b{show:grid;place-items:heart;width:46px;top:46px;margin:0 auto 6px;border-radius:50%;background:var(–card)!essential;border:1px stable var(–line)!essential;colour:var(–muted)!essential;font:700 15px "DM Sans";transition:all .3s}
#lp1x .node.achieved b{border-color:var(–mint)!essential;colour:var(–mint)!essential}
#lp1x .node.cur b{background:var(–phos)!essential;colour:#181717!essential;border-color:var(–phos)!essential;box-shadow:0 0 0 6px rgba(154,242,224,.15);rework:scale(1.06)}
#lp1x .node.cur{colour:var(–ink)!essential}
#lp1x .cut up{show:grid;grid-template-columns:1fr 1fr;hole:14px}
#lp1x .card{background:var(–card)!essential;border:1px stable var(–line)!essential;border-radius:12px;padding:14px 16px}
#lp1x .card h3{font-family:"Ibarra Actual Nova",Georgia,serif;font-size:20px;margin:0 0 6px;colour:var(–ink)!essential}
#lp1x .time period{background:var(–bg2)!essential;border:1px stable var(–line)!essential;border-radius:12px;padding:12px 14px;font:13px/1.6 ui-monospace,SFMono-Common,Menlo,monospace;colour:var(–ink)!essential;min-height:168px}
#lp1x .time period .p{colour:var(–phos)!essential}
#lp1x .time period .okay{colour:var(–mint)!essential}
#lp1x .time period .dim{colour:var(–muted)!essential}
#lp1x .time period .cur{show:inline-block;width:7px;top:14px;background:var(–phos);vertical-align:-2px;animation:lpblink 1s steps(1) infinite}
@keyframes lpblink{50%{opacity:0}}
#lp1x .ctl{show:flex;hole:8px;margin-top:12px;flex-wrap:wrap}
#lp1x .btn{look:none;cursor:pointer;border-radius:999px;padding:8px 14px;font:600 13px "DM Sans",sans-serif;border:1px stable var(–line)!essential;background:var(–card)!essential;colour:var(–ink)!essential;transition:background .2s,border-color .2s}
#lp1x .btn:hover{border-color:var(–phos)!essential}
#lp1x .btn.pri{background:var(–phos)!essential;colour:#181717!essential;border-color:var(–phos)!essential}
#lp1x .tag{show:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px stable var(–line);colour:var(–muted)!essential;margin:0 4px 4px 0}
/* modes */
#lp1x .modes{show:grid;grid-template-columns:repeat(3,1fr);hole:10px}
#lp1x .mode{cursor:pointer;text-align:left;font:inherit;colour:var(–ink)!essential;background:var(–card)!essential;border:1px stable var(–line)!essential;border-radius:12px;padding:14px;transition:rework .2s,border-color .2s}
#lp1x .mode:hover{rework:translateY(-2px)}
#lp1x .mode.on{border-color:var(–press)!essential;box-shadow:inset 0 0 0 1px var(–press)}
#lp1x .mode .n{font:700 12px "DM Sans";colour:var(–press)!essential}
#lp1x .mode h3{font-family:"Ibarra Actual Nova",Georgia,serif;font-size:22px;margin:2px 0 4px}
#lp1x .mdetail{margin-top:12px}
#lp1x .chips{show:flex;flex-wrap:wrap;hole:6px;margin-top:8px}
#lp1x .chip{font-size:13px;padding:6px 10px;border-radius:8px;background:var(–bg2)!essential;border:1px stable var(–line)!essential;colour:var(–ink)!essential;opacity:0;rework:translateY(6px);animation:lpin .4s ease forwards}
@keyframes lpin{to{opacity:1;rework:none}}
/* primitives */
#lp1x .filters{show:flex;hole:6px;flex-wrap:wrap;margin-bottom:12px}
#lp1x .flt[aria-pressed=true]{background:var(–ink)!essential;colour:#181717!essential}
#lp1x .prims{show:grid;grid-template-columns:repeat(4,1fr);hole:8px}
#lp1x .prim{cursor:pointer;text-align:left;font:inherit;colour:var(–ink)!essential;background:var(–card)!essential;border:1px stable var(–line)!essential;border-radius:10px;padding:12px;transition:opacity .3s,rework .3s,border-color .2s}
#lp1x .prim.dim{opacity:.28;rework:scale(.97)}
#lp1x .prim.on{border-color:var(–phos)!essential}
#lp1x .prim b{show:block;font-family:"Ibarra Actual Nova",Georgia,serif;font-size:18px}
#lp1x .prim small{colour:var(–muted)!essential;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
/* calc */
#lp1x .calc{show:grid;grid-template-columns:1.05fr 1fr;hole:16px}
#lp1x label{show:block;font-size:13px;colour:var(–muted)!essential;margin:0 0 2px}
#lp1x .row{margin-bottom:10px}
#lp1x .row .v{float:proper;colour:var(–ink)!essential;font-weight:700}
#lp1x enter[type=range]{width:100%;accent-color:#9AF2E0}
#lp1x .seg{show:flex;hole:4px}
#lp1x .seg button{flex:1}
#lp1x .seg button[aria-pressed=true]{background:var(–phos)!essential;colour:#181717!essential}
#lp1x .whole{font-family:"Ibarra Actual Nova",Georgia,serif;font-size:34px;line-height:1;margin:2px 0}
#lp1x .bar{margin:9px 0}
#lp1x .bar .lbl{show:flex;justify-content:space-between;font-size:13px}
#lp1x .bar .trk{top:12px;border-radius:6px;background:var(–bg2);border:1px stable var(–line);overflow:hidden;margin-top:4px}
#lp1x .bar .trk i{show:block;top:100%;width:0;border-radius:6px;background:var(–muted);transition:width .6s cubic-bezier(.2,.8,.2,1)}
#lp1x .bar.greatest .trk i{background:linear-gradient(90deg,var(–phos),var(–mint))}
#lp1x .bar.greatest .lbl b{colour:var(–phos)!essential}
#lp1x .be aware{font-size:12px;colour:var(–muted)!essential;margin-top:8px}
#lp1x .ft{show:flex;justify-content:space-between;hole:10px;flex-wrap:wrap;padding:12px 24px;border-top:1px stable var(–line);font-size:12px;colour:var(–muted)!essential}
#lp1x .ft a{colour:var(–muted)!essential}
#lp1x .ft .mtp{colour:var(–mtp)!essential;font-weight:700}
#lp1x code,#lp1x pre{background:var(–bg2)!essential;colour:var(–phos)!essential;border:0!essential;font-family:ui-monospace,Menlo,monospace;font-size:.92em;padding:1px 5px;border-radius:4px}
@media (max-width:640px){
#lp1x h2{font-size:24px}
#lp1x .hd,#lp1x .panel{padding-left:16px;padding-right:16px}
#lp1x .tabs{padding:8px 12px 0}
#lp1x .pipe{grid-template-columns:repeat(3,1fr);row-gap:14px}
#lp1x .rail{show:none}
#lp1x .cut up,#lp1x .calc,#lp1x .modes{grid-template-columns:1fr}
#lp1x .prims{grid-template-columns:repeat(2,1fr)}
#lp1x .ft{padding:12px 16px}
}
@media (prefers-reduced-motion:cut back){#lp1x *{animation:none!essential;transition:none!essential}#lp1x .chip{opacity:1;rework:none}}
</type></head>
<physique>
<div id="lp1x">
<div class="hd">
<div class="kicker">Interactive explainer · The Letter Firm</div>
<h2>How <em>Letterpress-1</em> turns progress work into pull requests</h2>
<div class="sub">A coding agent, harness and IDE for progress engineering. Launched in beta; figures from letter.dev.</div>
</div>
<div class="tabs" position="tablist">
<button class="tab" position="tab" aria-selected="true" data-t="loop">The loop</button>
<button class="tab" position="tab" aria-selected="false" data-t="modes">3 modes, 6 surfaces</button>
<button class="tab" position="tab" aria-selected="false" data-t="prims">Progress primitives</button>
<button class="tab" position="tab" aria-selected="false" data-t="calc">Price calculator</button>
</div>

<part class="panel on" id="p-loop" position="tabpanel">
<div class="pipe" id="pipe"><div class="rail"><i id="rail"></i></div></div>
<div class="cut up">
<div class="card"><span class="tag" id="stag">Step 1 of 6</span><h3 id="stitle"></h3><p id="sbody" type="colour:var(–muted)"></p></div>
<div class="time period" id="time period" aria-live="well mannered"></div>
</div>
<div class="ctl">
<button class="btn pri" id="play"> Play the loop</button>
<button class="btn" id="prev">← Again</button>
<button class="btn" id="subsequent">Subsequent →</button>
</div>
</part>

<part class="panel" id="p-modes" position="tabpanel">
<div class="modes" id="modes"></div>
<div class="card mdetail"><span class="tag" id="mtag"></span><p id="mbody" type="margin:6px 0 0"></p></div>
<div type="margin-top:16px"><span class="tag">The place it runs</span>
<div class="chips" id="surf"></div>
<p class="be aware">Plus ⌘L in-site modifying: change textual content in your dwell web page and a pull request follows. 760 instruments are uncovered over MCP, REST and CLI.</p>
</div>
</part>

<part class="panel" id="p-prims" position="tabpanel">
<div class="filters" id="flt"></div>
<div class="prims" id="prims"></div>
<div class="card" type="margin-top:12px"><span class="tag" id="ptag">Faucet a primitive</span><h3 id="ptitle">Pre-built progress infrastructure</h3><p id="pbody" type="colour:var(–muted);margin:0">Every primitive is its personal endpoint. The launch publish spotlights Proofs, Simulations, Benches and Phantoms.</p></div>
</part>

<part class="panel" id="p-calc" position="tabpanel">
<div class="calc">
<div>
<div class="row"><label>Pull requests monthly <span class="v" id="vpr"></span></label><enter sort="vary" id="pr" min="0" max="200" worth="20"></div>
<div class="row"><label>Tokens per pull request (Letter cites 150 to 900)</label>
<div class="seg" id="tpr"><button class="btn" data-v="150" aria-pressed="false">150</button><button class="btn" data-v="500" aria-pressed="true">500</button><button class="btn" data-v="900" aria-pressed="false">900</button></div></div>
<div class="row"><label>Articles printed monthly (1,030 tokens every) <span class="v" id="var"></span></label><enter sort="vary" id="ar" min="0" max="60" worth="8"></div>
<div class="row"><label>Phantom websites dwell (300 tokens a month every) <span class="v" id="vph"></span></label><enter sort="vary" id="ph" min="0" max="10" worth="2"></div>
<div class="row"><label>AI visibility solutions (12 tokens every) <span class="v" id="vai"></span></label><enter sort="vary" id="ai" min="0" max="3000" step="50" worth="600"></div>
<div class="row"><label>Recognized guests (25 tokens every) <span class="v" id="vvi"></span></label><enter sort="vary" id="vi" min="0" max="2000" step="25" worth="100"></div>
</div>
<div class="card">
<span class="tag">Your month</span>
<div class="whole" id="tok"></div>
<div type="colour:var(–muted);font-size:13px" id="record"></div>
<div id="bars" type="margin-top:10px"></div>
<p class="be aware">1 token = 1 cent at record. Overage on every plan is 5x its personal per-token charge. Defaults match Letter’s personal pricing instance. Charges from letter.dev/pricing.</p>
</div>
</div>
</part>

<div class="ft"><span>Sources: <a href="https://letter.dev/" goal="_blank" rel="noopener">letter.dev</a> · <a href="https://letter.dev/pricing" goal="_blank" rel="noopener">pricing</a> · <a href="https://letter.dev/brokers.md" goal="_blank" rel="noopener">brokers.md</a></span><span class="mtp">© Marktechpost</span></div>
</div>
<script>
(perform(){
var R=doc.getElementById(‘lp1x’);
perform $(id){return doc.getElementById(id)}
perform publish(){strive{mum or dad.postMessage({lp1xHeight:R.offsetHeight+40},’*’)}catch(e){}}
// tabs
var tabs=R.querySelectorAll(‘.tab’);
tabs.forEach(perform
tabs.forEach(perform(x){x.setAttribute(‘aria-selected’,x===t?’true’:’false’)});
R.querySelectorAll(‘.panel’).forEach(perform(p){p.classList.toggle(‘on’,p.id===’p-‘+t.dataset.t)});
if(t.dataset.t===’calc’)calc(); if(t.dataset.t===’modes’)renderSurf();
setTimeout(publish,60);
})});
// loop
var S=[
[‘Signals’,’Read the site and the market’,’The agent maps your pages and watches outside signals: AI agent visits, Google rankings, human traffic and competitor pages.’,[‘<span class="p">›</span> what should we build for growth?’,'<span class="dim">reading the site · checking competitor pages</span>’]],
[‘Plan’,’Propose what should exist’,’In Plan mode it picks a goal and drafts a build plan. You approve the picks you want before anything is built.’,[‘<span class="dim">plan · 4 actions proposed</span>’,'<span class="dim">waiting on approve</span>’]],
[‘Build’,’Build in a sandbox’,’The change is written inside an isolated sandbox. Letter says it is tuned to keep brand copy and visuals consistent.’,[‘<span class="dim">building in a sandbox</span>’,'<span class="dim">changed 3 files</span>’]],
[‘Review’,’Self-review the change’,’The agent reviews its own diff and fixes what the review finds before handing it over.’,[‘<span class="dim">reviewing the change</span>’,'<span class="ok">fixed what the review found</span>’]],
[‘PR’,’Open a pull request with a preview’,’Every change returns as a pull request plus a live preview link of your own site.’,[‘<span class="ok">✓ pull request opened · preview is up</span>’]],
[‘You’,’You decide what lands’,’Keep it as a preview, leave the pull request open, or merge once checks pass. Nothing lands until you say.’,[‘<span class="p">›</span> merge when checks pass’,'<span class="ok">✓ queued for merge</span>’]]
];
var cur=0,timer=null,typeT=null,strains=[];
var pipe=$(‘pipe’);
S.forEach(perform(s,i){var b=doc.createElement(‘button’);b.className=”node”;b.innerHTML='<b>’+(i+1)+'</b>’+s[0];b.onclick=perform(){cease();go(i)};pipe.appendChild(b)});
perform go(i){
cur=i;var nodes=pipe.querySelectorAll(‘.node’);
nodes.forEach(perform(n,ok){n.classList.toggle(‘achieved’,ok<i);n.classList.toggle(‘cur’,ok===i)});
$(‘rail’).type.width=(i/(S.length-1)*100)+’%’;
$(‘stag’).textContent=”Step “+(i+1)+’ of 6′;$(‘stitle’).textContent=S[i][1];$(‘sbody’).textContent=S[i][2];
if(i===0)strains=[‘<span class="dim">~/website $</span> letterpress’];
sort(S[i][3]);
}
perform sort(add){
clearTimeout(typeT);var ok=0,time period=$(‘time period’);
perform step(){if(ok<add.size){strains.push(add[k++]);if(strains.size>7)strains=strains.slice(-7);time period.innerHTML=strains.be part of(‘<br>’)+'<br><span class="cur"></span>’;typeT=setTimeout(step,420)}}
step();
}
perform cease(){clearInterval(timer);timer=null;$(‘play’).textContent=”▶ Play the loop”}
$(‘play’).onclick=perform(){if(timer){cease();return}if(cur===S.length-1)go(0);$(‘play’).textContent=”❚❚ Pause”;timer=setInterval(perform(){if(cur<S.length-1)go(cur+1);else cease()},1900)};
$(‘subsequent’).onclick=perform(){cease();go(Math.min(cur+1,S.length-1))};
$(‘prev’).onclick=perform(){cease();go(Math.max(cur-1,0))};
go(0);
// modes
var M=[[’01’,’Build’,’Build anything from a prompt’,’Create pages and features from plain words. Letter says the agent is fine-tuned to write brand-ready copy and keep brand visuals.’],
[’02’,’Plan’,’Pick a goal, get a plan’,’Name a goal and Letterpress-1 proposes growth strategies to build straight into your repository, with no extra tools.’],
[’03’,’Fix’,’Find what is broken and fix it’,’Dispatch pull requests that fix common issues across a marketing site, most severe first.’]];
var mw=$(‘modes’);
M.forEach(perform(m,i){var b=doc.createElement(‘button’);b.className=”mode”;b.innerHTML='<div class="n">’+m[0]+'</div><h3>’+m[1]+'</h3><div type="colour:var(–muted);font-size:13px">’+m[2]+'</div>’;b.onclick=perform(){selM(i)};mw.appendChild(b)});
perform selM(i){mw.querySelectorAll(‘.mode’).forEach(perform(x,ok){x.classList.toggle(‘on’,ok===i)});$(‘mtag’).textContent=M[i][1]+’ mode’;$(‘mbody’).textContent=M[i][3];publish()}
selM(0);
var SU=[‘Letter platform’,’Slack app’,’Letterpress CLI’,’Website portal’,’Letterpress App’,’Your own agent via MCP’];
perform renderSurf(){var c=$(‘surf’);c.innerHTML=”;SU.forEach(perform(s,i){var d=doc.createElement(‘span’);d.className=”chip”;d.type.animationDelay=(i*90)+’ms’;d.textContent=s;c.appendChild(d)})}
renderSurf();
// primitives
var P=[
[‘Proofs’,’conv’,’Signed proof of customer success’,’Connect telemetry and billing. Letter issues a third-party verified proof that AI agents can review. You choose what is public.’],
[‘Simulations’,’conv’,’Agents try before buying’,’Mirror versions of your API or MCP with simulated data, so agents can test without touching your database.’],
[‘Benches’,’conv’,’Self-governed benchmarks’,’Describe a benchmark; the app deploys itself, re-runs on a schedule and open-sources its code. The site calls these Benchmarks.’],
[‘Phantoms’,’geo’,’Independent sandbox blogs’,’Launch autonomous publications that write and publish, so you can test growth strategies away from your main site.’],
[‘Letterbases’,’geo’,’Native content database’,’An optional store for content collections that the agent refines without a pull request.’],
[‘Kernels’,’geo’,’Writing kernels’,’Drafting endpoints for content. A kernel draft costs 161 tokens.’],
[‘Visitors’,’in’,’Visitor identification’,’A script that tracks human and AI agent visits per page and de-anonymizes traffic. 25 tokens per identified visitor.’],
[‘Mailers’,’in’,’Warmed mailboxes and sequences’,’Outbound email sequences installed natively. A mailbox costs 300 tokens a month.’],
[‘Seers’,’watch’,’Competitor watching’,’Seers read competitor sitemaps on a schedule and flag new pages for a build to answer.’]
];
var G={all:’All’,conv:’Agentic conviction’,geo:’GEO / web optimization’,in:’Inbound conversion’,watch:’Watching’};
var RP={conv:’Letter positions these in opposition to G2 and Trustpilot.’,geo:’Letter positions these in opposition to Semrush, Sanity and Profound.’,in:’Letter positions these in opposition to RB2B and Immediately.’,watch:’Listed in brokers.md.’};
var fw=$(‘flt’),pw=$(‘prims’);
Object.keys(G).forEach(perform(ok){var b=doc.createElement(‘button’);b.className=”btn flt”;b.textContent=G[k];b.setAttribute(‘aria-pressed’,ok===’all’);b.onclick=perform(){fw.querySelectorAll(‘.flt’).forEach(perform(x){x.setAttribute(‘aria-pressed’,x===b)});pw.querySelectorAll(‘.prim’).forEach(perform(p){p.classList.toggle(‘dim’,ok!==’all’&&p.dataset.g!==ok)})};fw.appendChild(b)});
P.forEach(perform(p,i){var b=doc.createElement(‘button’);b.className=”prim”;b.dataset.g=p[1];b.innerHTML='<small>’+G[p[1]]+'</small><b>’+p[0]+'</b>’;b.onclick=perform(){pw.querySelectorAll(‘.prim’).forEach(perform(x){x.classList.toggle(‘on’,x===b)});$(‘ptag’).textContent=G[p[1]];$(‘ptitle’).textContent=p[0]+’: ‘+p[2];$(‘pbody’).textContent=p[3]+’ ‘+RP[p[1]];publish()};pw.appendChild(b)});
// calculator
var PL=[[‘Basic’,100,10000,50],[‘Starter’,500,50000,50],[‘Growth’,1000,130000,38.46],[‘Scale’,2500,400000,31.25]];
var tpr=500;
$(‘tpr’).querySelectorAll(‘button’).forEach(perform(b){b.onclick=perform(){tpr=+b.dataset.v;$(‘tpr’).querySelectorAll(‘button’).forEach(perform(x){x.setAttribute(‘aria-pressed’,x===b)});calc()}});
[‘pr’,’ar’,’ph’,’ai’,’vi’].forEach(perform(id){$(id).addEventListener(‘enter’,calc)});
perform f(n){return n.toLocaleString(‘en-US’)}
perform calc(){
var pr=+$(‘pr’).worth,ar=+$(‘ar’).worth,ph=+$(‘ph’).worth,ai=+$(‘ai’).worth,vi=+$(‘vi’).worth;
$(‘vpr’).textContent=pr;$(‘var’).textContent=ar;$(‘vph’).textContent=ph;$(‘vai’).textContent=f(ai);$(‘vvi’).textContent=f(vi);
var t=pr*tpr+ar*1030+ph*300+ai*12+vi*25;
$(‘tok’).textContent=f
var prices=PL.map(perform(p){return p[1]+Math.max(0,t-p[2])*p[3]/1000});
var min=Math.min.apply(null,prices),max=Math.max.apply(null,prices),bi=prices.indexOf(min);
var h=””;PL.forEach(perform(p,i){h+='<div class="bar’+(i===bi?’ greatest’:”)+’"><div class="lbl"><span>’+p[0]+’ · $’+f(p[1])+’/mo, ‘+f(p[2])+’ tokens</span><b>$’+f(Math.spherical(prices[i]))+(i===bi?’ ✓’:”)+'</b></div><div class="trk"><i data-w="’+(prices[i]/max*100).toFixed(1)+’"></i></div></div>’});
$(‘bars’).innerHTML=h;
requestAnimationFrame(perform(){requestAnimationFrame(perform(){$(‘bars’).querySelectorAll(‘i’).forEach(perform(i){i.type.width=i.dataset.w+’%’})})});
publish();
}
calc();
window.addEventListener(‘load’,publish);window.addEventListener(‘resize’,publish);setTimeout(publish,300);setTimeout(publish,1200);
})();
</script>
</physique></html>
“>

(perform(){var f=doc.getElementById(‘lp1x-frame’);window.addEventListener(‘message’,perform(e){if(e.supply===f.contentWindow&&e.knowledge&&e.knowledge.lp1xHeight){f.type.top=Math.ceil(e.knowledge.lp1xHeight)+’px’;}});})();

How does Letterpress-1 evaluate with Codex, Claude Code and Cursor?

Function Letterpress-1 OpenAI Codex Claude Code Cursor
Constructed for Progress engineering on git-hosted websites Basic coding Basic coding Basic coding (editor and brokers)
Entry paid plan $100/month, 10,000 tokens Go $8/month; Plus $20/month Professional $20/month ($17 annual) Plus $8/month (Grok fashions solely)
Free entry 5,000 one-time tokens (6,000 with work email) Free plan, $0 Not in Free plan Free plan, restricted agent requests
Billing Token pool; agent runs at mannequin price + 20% Plan limits, credit or API key Shared plan utilization or API credit Weekly pool; third-party fashions at API record value
Fashions Frontier plus fine-tuned small fashions (not named) GPT-6.1 Sol, GPT-6 Luna and others Opus, Sonnet, Haiku; Fable through credit Grok fashions; third-party at API value
Constructed-in progress primitives Proofs, Simulations, Benches, Phantoms, Guests, Mailers, Seers None listed None listed None listed

How a lot does Letterpress-1 price?

Letter payments 1 shared token pool. A token equals 1 cent at record value. Plans are Primary ($100, 10,000 tokens), Starter ($500, 50,000), Progress ($1,000, 130,000) and Scale ($2,500, 400,000). Enterprise begins at 2 million tokens a month at half the record charge.

Agent runs price mannequin spend plus 20%, sometimes 150 to 900 tokens per pull request. That’s $1.50 to $9 at record. A broadcast article prices 1,030 tokens. Overage on Primary and Starter is $50 per 1,000 tokens, 5x the record charge. Unused tokens don’t roll over.

Key Takeaways

  • Letterpress-1 is a coding agent, harness and IDE constructed for progress engineering.
  • Each change ships as a sandboxed pull request with a preview hyperlink.
  • 760 instruments are uncovered over MCP, REST and CLI for exterior brokers.
  • Pricing begins at $100/month; agent runs price mannequin spend plus 20%.
  • No public benchmark but; high quality claims are self-reported.


Try the product page, pricing, showcase, agents.md and the launch post on X. Additionally, be at liberty to observe us on Twitter and don’t neglect to affix our 150k+ML SubReddit and Subscribe to our Newsletter. Wait! are you on telegram? now you can join us on telegram as well.

Have to companion with us for selling your GitHub Repo OR Hugging Face Web page OR Product Launch OR Webinar and many others.? Connect with us

The publish The Letter Firm Releases Letterpress-1: A Coding Agent Constructed for Progress Engineering appeared first on MarkTechPost.

banner
Top Selling Multipurpose WP Theme

Converter

Top Selling Multipurpose WP Theme

Newsletter

Subscribe my Newsletter for new blog posts, tips & new photos. Let's stay updated!

banner
Top Selling Multipurpose WP Theme

Leave a Comment

banner
Top Selling Multipurpose WP Theme

Latest

Best selling

22000,00 $
16000,00 $
6500,00 $

Top rated

6500,00 $
22000,00 $
900000,00 $

Products

Knowledge Unleashed
Knowledge Unleashed

Welcome to Ivugangingo!

At Ivugangingo, we're passionate about delivering insightful content that empowers and informs our readers across a spectrum of crucial topics. Whether you're delving into the world of insurance, navigating the complexities of cryptocurrency, or seeking wellness tips in health and fitness, we've got you covered.