Skip to content

Conversation

@recurmj
Copy link

@recurmj recurmj commented Dec 11, 2025

This PR proposes two related ERCs that together define a portable, revocable pull-permission primitive:

  1. Permissioned Authorization Object (PPO)

    • EIP-712 typed struct describing bounded, revocable consent to pull tokens.
    • Chain-agnostic, portable across executors that adopt the same type.
    • Intended as the shared “authorization primitive” layer.
  2. Permissioned Pull Execution Interface

    • Standard pull executor interface that consumes a PPO and executes transferFrom under strict rules.
    • Defines pull(), nonce & revocation views, canonical events, and normative execution behavior.

Both drafts are aligned with the architectural analysis in RIP-000 / “The One-Shot Authorization Flaw in Digital Value Systems” and the updated RIP-001 thread. Philosophical framing has been removed; these drafts focus purely on:

  • defining a neutral, reusable EIP-712 Authorization object (PPO), and
  • a minimal, composable execution interface that can be implemented by any executor.

The intention is for these to serve as the canonical ERC-A / ERC-B split that James and others suggested earlier:

  • ERC-A: Authorization object (PPO)
  • ERC-B: Pull execution interface

I’m happy to adapt naming, file layout, or minor spec details to fit current ERC process preferences.

Add ERC-A: Permissioned Authorization Object (PPO)
Add ERC-B: Permissioned Pull Execution Interface
@eip-review-bot
Copy link
Collaborator

eip-review-bot commented Dec 11, 2025

File ERCS/erc-8102.md

Requires 1 more reviewers from @g11tech, @SamWilsn, @xinbenlv

File ERCS/erc-8103.md

Requires 1 more reviewers from @g11tech, @SamWilsn, @xinbenlv

@github-actions github-actions bot added the w-ci label Dec 11, 2025
@eip-review-bot eip-review-bot changed the title ERC: Permissioned Authorization Object (PPO) & Permissioned Pull Execution Interface Add ERC: Permissioned Pull Execution Interface Dec 11, 2025
@@ -0,0 +1,216 @@
---
eip: <to be assigned>
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
eip: <to be assigned>
eip: 8102

Assigning next sequential EIP/ERC/RIP number.
Numbers are assigned by editors & associates.

Please also update the filename.

@@ -0,0 +1,216 @@
---
eip: <to be assigned>
title: Permissioned Pull Execution Interface
Copy link
Contributor

@abcoathup abcoathup Dec 12, 2025

Choose a reason for hiding this comment

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

Suggested change
title: Permissioned Pull Execution Interface
title: Permissioned Pull

Interface seems superfluous in an ERC title. Note: I am not an editor.
Given you used Permissioned Pull in the discussion topic on Eth Magicians, you may want to go with that.

title: Permissioned Pull Execution Interface
description: Standard interface for executing pull-based transfers using Permissioned Authorization Objects (PPOs).
author: Mats Heming Julner (@recurmj)
discussions-to: https://ethereum-magicians.org/t/draft-erc-rip-001-permissioned-pull-standard-consented-flow-layer-for-digital-value/25931
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
discussions-to: https://ethereum-magicians.org/t/draft-erc-rip-001-permissioned-pull-standard-consented-flow-layer-for-digital-value/25931
discussions-to: https://ethereum-magicians.org/t/erc-8102-permissioned-pull/25931

Updated with assigned number and title

@@ -0,0 +1,217 @@
---
eip: <to be assigned>
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
eip: <to be assigned>
eip: 8103

Assigning next sequential EIP/ERC/RIP number.
Numbers are assigned by editors & associates.

Please also update the filename.

title: Permissioned Authorization Object (PPO)
description: "A portable, revocable EIP-712 authorization struct for bounded pull-based transfers."
author: "Mats Heming Julner (@recurmj)"
discussions-to: "https://ethereum-magicians.org/t/draft-erc-rip-001-permissioned-pull-standard-consented-flow-layer-for-digital-value/25931"
Copy link
Contributor

Choose a reason for hiding this comment

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

Each ERC should have a separate discussions thread

@abcoathup
Copy link
Contributor

Please note, ERCs are not for promotion/marketing purposes.

@abcoathup
Copy link
Contributor

Suggest splitting each ERC into a separate PR.

@eip-review-bot eip-review-bot changed the title Add ERC: Permissioned Pull Execution Interface Add ERC: Permissioned Pull Dec 12, 2025
@github-actions github-actions bot added w-ci and removed w-ci labels Dec 12, 2025
@recurmj
Copy link
Author

recurmj commented Dec 12, 2025

Thanks for the guidance.

I’ve split the specification into ERC-8102 (execution) and ERC-8103 (authorization), updated filenames, cross-references, titles, and discussions-to links accordingly.

Let me know if anything else is needed.

Removed the word “standard” in description
@github-actions
Copy link

The commit 4c1d55a (as a parent of 4639c21) contains errors.
Please inspect the Run Summary for details.

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