Share Dialog
Share Dialog

Subscribe to angg

Subscribe to angg
<100 subscribers
<100 subscribers
Curious about the new payment protocol touted as the 'payment protocol of the internet'? @angela delves into its intricacies, evaluating a Typescript library for off-chain delegation. Discover what it means for interoperability and its current limitations in the latest blog post.
oooh very cool that it adds a little catchy description ๐ฅ
I was having a hard time trying to dissect what exactly is this new standard marketed as 'payment protocol of the internet' so I decided to spend an embarrassing amount of time to understand the code and its implications.
Writing this article because I think its definitely intriguing but should be called exactly what it is: a method that standardizes off-chain delegation, also more of a primer to my other article where I mention some pointers to keep in mind before starting to build: https://x.com/probablyangg/status/1922541517283234183 (the stuff that I had to figure out before I could code with it)
a typescript library that enables you to do just want I mentioned above - easy off-chain delegation. Define who can act on behalf of a wallet, what they can do, and under what constraints.
There's a service provider and a service consumer
the service provider generates what it wants from the EOA (or the service consumer), sending it along with 402 status code
an EOA (agent/human), the client: generates and signs on the payload it generates based on what it received in the 402 header
this payload is sent over to the Facilitator for verification and settlement
on settlement, the faciliator executes this payload on behalf of the service consumer on the blockchain
Now because there's a Facilitator and delegated blockchain execution involved, there's a limitation to the infrastructure that can be used with this standard - which is kind of stupid given by definition a standard needs to be as infra-agnostic as possible (and this was the primary reason my brain was so bummed most of the time I tried figuring this standard out)
Only EIP3009 compatible ERC20 tokens can be supported
Only Base chain is supported right now (afaik)
It is hard (but not impossible) to support DAI (or coins that support permit), it is straightforward to support EVM chains. Everything else - non-EVM chains, any other ERC20 tokens - is extremely hard and you'd be better off not trying to use this standard on those scenarios
You could employ this standard (given you're okay with the caveats) to any situation that involves two parties: a seller with services and a consumer. The consumer needs to have an EOA. Eg., seller: API access provider, consumer: your web-app; relayer (or facilitator) simply willing to execute transactions for you (consumer) for a certain fee -- meta transaction
I was having a hard time trying to dissect what exactly is this new standard marketed as 'payment protocol of the internet' so I decided to spend an embarrassing amount of time to understand the code and its implications.
Writing this article because I think its definitely intriguing but should be called exactly what it is: a method that standardizes off-chain delegation, also more of a primer to my other article where I mention some pointers to keep in mind before starting to build: https://x.com/probablyangg/status/1922541517283234183 (the stuff that I had to figure out before I could code with it)
a typescript library that enables you to do just want I mentioned above - easy off-chain delegation. Define who can act on behalf of a wallet, what they can do, and under what constraints.
There's a service provider and a service consumer
the service provider generates what it wants from the EOA (or the service consumer), sending it along with 402 status code
an EOA (agent/human), the client: generates and signs on the payload it generates based on what it received in the 402 header
this payload is sent over to the Facilitator for verification and settlement
on settlement, the faciliator executes this payload on behalf of the service consumer on the blockchain
Now because there's a Facilitator and delegated blockchain execution involved, there's a limitation to the infrastructure that can be used with this standard - which is kind of stupid given by definition a standard needs to be as infra-agnostic as possible (and this was the primary reason my brain was so bummed most of the time I tried figuring this standard out)
Only EIP3009 compatible ERC20 tokens can be supported
Only Base chain is supported right now (afaik)
It is hard (but not impossible) to support DAI (or coins that support permit), it is straightforward to support EVM chains. Everything else - non-EVM chains, any other ERC20 tokens - is extremely hard and you'd be better off not trying to use this standard on those scenarios
You could employ this standard (given you're okay with the caveats) to any situation that involves two parties: a seller with services and a consumer. The consumer needs to have an EOA. Eg., seller: API access provider, consumer: your web-app; relayer (or facilitator) simply willing to execute transactions for you (consumer) for a certain fee -- meta transaction
2 comments
Curious about the new payment protocol touted as the 'payment protocol of the internet'? @angela delves into its intricacies, evaluating a Typescript library for off-chain delegation. Discover what it means for interoperability and its current limitations in the latest blog post.
oooh very cool that it adds a little catchy description ๐ฅ