Skip to content

Solana session intent specification#201

Draft
lgalabru wants to merge 2 commits intotempoxyz:mainfrom
solana-foundation:feat/solana-sessions
Draft

Solana session intent specification#201
lgalabru wants to merge 2 commits intotempoxyz:mainfrom
solana-foundation:feat/solana-sessions

Conversation

@lgalabru
Copy link
Copy Markdown
Contributor

@lgalabru lgalabru commented Mar 22, 2026

Specification draft for MPP session intent, driving an implementation that will the audited and maintained by Solana Foundation (not ready for review)

@alexanderattar
Copy link
Copy Markdown

Closed #200 to move things here. I went through the draft and had a few questions.

The lean voucher makes sense to me if channelId is always treated as the authoritative commitment to payer, recipient, asset, and program state. Does that imply the verifier is expected to resolve channel state onchain, or is there an intended offchain-only verification path?

Are you aiming for one canonical channel program, or would any program that implements this instruction set and state model be compatible?

I noticed metering is entirely server-side in this draft, with the voucher only authorizing cumulative payment. Was that intentional?

I had also written up sections on replay protection, crash safety for distributed servers, and Ed25519 instruction introspection that may be worth pulling into this draft if useful.

@lgalabru
Copy link
Copy Markdown
Contributor Author

Thanks @alexanderattar, appreciate your help!
The server verifies vouchers off-chain during the session (signature check, monotonicity, balance — no RPC needed per request). The channel state is resolved on-chain only at open (to confirm the deposit landed) and at settle/close (to claim funds). This is the same as Tempo — off-chain during streaming, on-chain at settlement boundaries.

Any compatible program with the spec should be usable, this is why we're proposing channelProgram in the challenge: different programs could offer different trade-offs (grace period length, supported tokens, compression, etc.). The spec defines the logical interface; implementations vary.

Co-authored-by: jo <17280917+dev-jodee@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

Spec Preview

Spec Changed
draft-card-charge-00 Yes
draft-httpauth-payment-00 Yes
draft-lightning-charge-00 Yes
draft-lightning-session-00 Yes
draft-payment-discovery-00 Yes
draft-payment-intent-charge-00 Yes
draft-payment-transport-mcp-00 Yes
draft-solana-charge-00 Yes
draft-solana-session-00 -
draft-stripe-charge-00 Yes
draft-tempo-charge-00 Yes
draft-tempo-session-00 Yes

Download spec artifacts (HTML, TXT, XML, PDF)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants