Skip to content

docs: add improved sessions blog post#695

Merged
brendanjryan merged 5 commits into
mainfrom
brendanjryan/improved-sessions-blog
Jun 15, 2026
Merged

docs: add improved sessions blog post#695
brendanjryan merged 5 commits into
mainfrom
brendanjryan/improved-sessions-blog

Conversation

@brendanjryan

@brendanjryan brendanjryan commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add blog post for sessions v2

@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mpp Ready Ready Preview, Comment Jun 12, 2026 2:17pm

Request Review

@github-actions github-actions Bot added the docs label Jun 11, 2026
@brendanjryan brendanjryan marked this pull request as ready for review June 11, 2026 22:39
@brendanjryan brendanjryan force-pushed the brendanjryan/improved-sessions-blog branch from 9129695 to b84770a Compare June 11, 2026 22:42

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9129695fc0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/pages/blog/sessions-improved.mdx Outdated
export async function handler(request: Request) {
// [!code hl:start]
const result = await mppx.session({
amount: '25',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep the example price within the client cap

This server example charges 25 human-readable currency units per llm_token, but the paired client example below caps maxDeposit at 1, so copying the integration cannot authorize even one metered unit and paid requests will fail instead of demonstrating improved sessions. Use a realistic sub-dollar per-token amount or raise the client cap so the example can complete.

Useful? React with 👍 / 👎.

Comment thread src/pages/blog/index.mdx Outdated
<BlogPostList posts={[
{
date: "Friday, June 12, 2026",
title: "Improved sessions",

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

an improved sessions experience

Comment thread src/pages/blog/index.mdx Outdated
{
date: "Friday, June 12, 2026",
title: "Improved sessions",
description: <>Improved sessions make pay-as-you-go API billing cheaper and easier to integrate.</>,

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above

Comment thread src/pages/blog/sessions-improved.mdx Outdated

Sessions are one of MPP's core primitives. They power the cost-efficient, high-throughput, usage-based billing that modern APIs and services depend on—metering payment at the granularity of a single LLM token, API call, or byte transferred.

Today we're shipping two improvements that make sessions the cheapest and easiest machine-payments primitive to integrate:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove hyphen

Comment thread src/pages/blog/sessions-improved.mdx Outdated
Today we're shipping two improvements that make sessions the cheapest and easiest machine-payments primitive to integrate:

1. **The session intent is now a formal spec.** Sessions are standardized as an MPP intent (`session`), so extending them to new payment methods and networks is faster and more predictable.
2. **Sessions on Tempo are faster and cheaper.** The new [TIP-1034](https://tips.sh/1034-1) precompile path cuts channel costs by as much as 72% and improves reliability.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread src/pages/blog/sessions-improved.mdx Outdated
Today we're shipping two improvements that make sessions the cheapest and easiest machine-payments primitive to integrate:

1. **The session intent is now a formal spec.** Sessions are standardized as an MPP intent (`session`), so extending them to new payment methods and networks is faster and more predictable.
2. **Sessions on Tempo are faster and cheaper.** The new [TIP-1034](https://tips.sh/1034-1) precompile path cuts channel costs by as much as 72% and improves reliability.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

greatly improves reliability

Comment thread src/pages/blog/sessions-improved.mdx Outdated

## Performance and improvements

Moving the channel lifecycle onto the [TIP-1034 reserve precompile](https://tips.sh/1034-1) makes the common operations dramatically cheaper.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

makes session operations

| Open, existing reserve balance | 1,055,229 | 294,425 | -72.1% |
| Open, first reserve balance | 1,302,429 | 791,625 | -39.2% |
| Settle, existing payee balance | 312,037 | 301,631 | -3.3% |
| Settle, new payee balance | 312,037 | 559,871 | +79.4% |

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rm this one

Comment thread src/pages/blog/sessions-improved.mdx Outdated

## How to integrate

On the server, use an account from the local account store, register `tempo.session`, and call `mppx.session`:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just register tempo.session.. remove the "and call"

Comment thread src/pages/blog/sessions-improved.mdx Outdated

- [Tempo session IETF Specification](https://paymentauth.org/draft-tempo-session-00)
- [Sessions guide](/payment-methods/tempo/session)
- [`tempo.session` server API](/sdk/typescript/server/Method.tempo.session)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rm

Comment thread src/pages/blog/sessions-improved.mdx Outdated
- [Tempo session IETF Specification](https://paymentauth.org/draft-tempo-session-00)
- [Sessions guide](/payment-methods/tempo/session)
- [`tempo.session` server API](/sdk/typescript/server/Method.tempo.session)
- [`tempo.session` client API](/sdk/typescript/client/Method.tempo.session)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rm

Comment thread src/pages/blog/sessions-improved.mdx Outdated

A session lets a client authorize spending once, then incrementally increase the authorized amount as it consumes a service—paying exactly for what it uses. Instead of one payment per request, the client and server maintain a single running authorization that grows with usage.

By keeping payment verification close to instant, sessions make metering at the granularity of a single LLM token, API call, or byte transferred practical and remove credit risk, reconciliation complexity, and complex credit-based billing workflows.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By keeping payment verification close to instant, sessions make metering at the granularity of a single LLM token, API call, or byte transferred practical and remove credit risk, reconciliation complexity, and complex credit-based billing workflows.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Comment thread src/pages/blog/sessions-improved.mdx Outdated
| Request close | 31,752 | 30,123 | -5.1% |
| Close after settlement | 85,118 | 62,913 | -26.1% |

In addition to lower costs, the new implementation makes channel operations payment-lane traffic on Tempo. Opens, top-ups, settlements, close requests, closes, and withdrawals get the same congestion treatment as payments, so providers can settle many channels while the network is busy.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...channel operations payment-lane traffic on Tempo...

It may not be immediately clear to the reader (i.e if not super familiar with Tempo semantics) the true benefits of this being on the payment-lane. Maybe worth another sentence?

@brendanjryan brendanjryan merged commit ceb0453 into main Jun 15, 2026
11 checks passed
@brendanjryan brendanjryan deleted the brendanjryan/improved-sessions-blog branch June 15, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants