<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: tehnalogos</title>
    <description>The latest articles on DEV Community by tehnalogos (@tehnalogos).</description>
    <link>https://dev.to/tehnalogos</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3973026%2F70e2cc12-586a-44d9-afd0-2c2fdf8c7578.jpg</url>
      <title>DEV Community: tehnalogos</title>
      <link>https://dev.to/tehnalogos</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tehnalogos"/>
    <language>en</language>
    <item>
      <title>After learning Solidity forget the ERCs</title>
      <dc:creator>tehnalogos</dc:creator>
      <pubDate>Sun, 07 Jun 2026 21:41:25 +0000</pubDate>
      <link>https://dev.to/tehnalogos/after-learning-solidity-forget-the-ercs-5dii</link>
      <guid>https://dev.to/tehnalogos/after-learning-solidity-forget-the-ercs-5dii</guid>
      <description>&lt;p&gt;ERC20, ERC721, and ERC1155 were brilliant inventions.&lt;/p&gt;

&lt;p&gt;They gave Ethereum a shared language for digital assets. Wallets could recognize tokens. Marketplaces could list NFTs. Indexers could track balances and ownership. Apps could integrate with assets they had never seen before without every team inventing its own custom logic.&lt;/p&gt;

&lt;p&gt;That was a foundational step for the EVM ecosystem.&lt;/p&gt;

&lt;p&gt;But here is the uncomfortable part: &lt;strong&gt;an app can use ERCs correctly and still feel absolutely terrible.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The contract can be audited. The token standard can be familiar. The wallet integration can work. The transaction can settle. The events can index properly. The marketplace can display the asset.&lt;/p&gt;

&lt;p&gt;And the user can still leave thinking, “Why was that so painful?”&lt;/p&gt;

&lt;p&gt;That is the gap developers keep misdiagnosing as “bad UX.” It is deeper than that. The problem is not that crypto apps need prettier buttons or fewer popups. The problem is that most EVM apps are built around assets first and users second.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ERCs standardized tokens. They did not standardize the user. And that is the layer consumer crypto is still missing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Correct ERCs, Terrible UX
&lt;/h2&gt;

&lt;p&gt;The classic EVM learning path goes something like this:&lt;/p&gt;

&lt;p&gt;Learn Solidity.&lt;br&gt;
Learn ERC20.&lt;br&gt;
Learn ERC721.&lt;br&gt;
Maybe learn ERC1155.&lt;br&gt;
Deploy a token.&lt;br&gt;
Build an app around it.&lt;/p&gt;

&lt;p&gt;That path made sense for a long time because ERCs were one of Ethereum’s great achievements. They gave the ecosystem interoperability. A token could move between wallets, marketplaces, games, DeFi apps, explorers, and indexers because everyone agreed on a shared interface.&lt;/p&gt;

&lt;p&gt;But ERCs also trained developers to think in assets before they learned to think in users.&lt;/p&gt;

&lt;p&gt;That bias is everywhere.&lt;/p&gt;

&lt;p&gt;A new app often starts by asking:&lt;/p&gt;

&lt;p&gt;What token standard do we need?&lt;br&gt;
Do we mint ERC721 or ERC1155?&lt;br&gt;
How do approvals work?&lt;br&gt;
How do we expose transfers?&lt;br&gt;
How do we make the wallet recognize the asset?&lt;br&gt;
How do we preserve marketplace compatibility?&lt;/p&gt;

&lt;p&gt;Those are valid questions. But they are not the first questions a consumer product should ask.&lt;/p&gt;

&lt;p&gt;The first question should be:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is the user trying to do, and why is the blockchain in their way?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because most of the time, it is.&lt;/p&gt;

&lt;h2&gt;
  
  
  ERC20 Approvals Are a UX Horror Story Wearing a Standard
&lt;/h2&gt;

&lt;p&gt;Take ERC20.&lt;/p&gt;

&lt;p&gt;ERC20 is one of the most important standards in crypto. It works. It is everywhere. It made fungible tokens interoperable across the entire ecosystem. (Interesting side note: Fabian Vogelsteller, the creator of the ERC20 standard later recognized its problems and created a set of new standards called LSPs)&lt;/p&gt;

&lt;p&gt;It also gave us one of the worst default user experiences in consumer software: approvals.&lt;/p&gt;

&lt;p&gt;A user wants to swap, subscribe, buy, stake, mint, join, or play. Instead of completing the action, the app first asks them to approve a spender. Then it asks them to confirm the actual transaction. Sometimes the approval is unlimited. Sometimes it is for a specific amount. Sometimes the wallet warning is terrifying. Sometimes the user has no idea what they just authorized.&lt;/p&gt;

&lt;p&gt;From the protocol’s perspective, this is normal.&lt;/p&gt;

&lt;p&gt;From a user’s perspective, it is insane.&lt;/p&gt;

&lt;p&gt;Imagine opening a normal app and being asked:&lt;/p&gt;

&lt;p&gt;“Before you can use this feature, please grant this third-party contract permission to move some amount of your money. You may revoke this later using another interface you have never heard of.”&lt;/p&gt;

&lt;p&gt;That is not product design. That is infrastructure leaking through the screen.&lt;/p&gt;

&lt;p&gt;The ERC20 approval flow may be technically correct, but technical correctness is not the same as user safety, user understanding, or user trust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;(Interesting side note: Fabian Vogelsteller, the creator of the ERC20 standard later recognized its problems and created a set of new standards called LSPs to solve what ERCs got wrong)&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ERC721 and ERC1155 Solved Ownership, Not Experience
&lt;/h2&gt;

&lt;p&gt;The same pattern shows up with NFTs and multi-token assets.&lt;/p&gt;

&lt;p&gt;ERC721 and ERC1155 let apps create recognizable, transferable digital objects. That matters. Without those standards, the NFT ecosystem would not have scaled the way it did.&lt;/p&gt;

&lt;p&gt;But ownership alone is a thin product primitive.&lt;/p&gt;

&lt;p&gt;A user does not experience a collectible, badge, membership, ticket, credential, or game item as a token ID sitting at an address. They experience it as part of a larger context.&lt;/p&gt;

&lt;p&gt;What is this asset?&lt;br&gt;
Why did I receive it?&lt;br&gt;
What can I do with it?&lt;br&gt;
Which app issued it?&lt;br&gt;
Does it unlock anything?&lt;br&gt;
Can I use it safely?&lt;br&gt;
Can another app understand its meaning?&lt;br&gt;
Can it interact with my profile, my permissions, or my history?&lt;/p&gt;

&lt;p&gt;ERC721 and ERC1155 do not answer those questions by themselves.&lt;/p&gt;

&lt;p&gt;They tell the ecosystem that an address owns a token. They do not tell the user why that token matters.&lt;/p&gt;

&lt;p&gt;So teams bolt on the missing product layer themselves. Profiles live in one place. Metadata lives somewhere else. Permissions are handled through custom backend logic. Notifications are custom. Token-gating is custom. Recovery is custom. Social context is custom. Delegation is custom.&lt;/p&gt;

&lt;p&gt;Every app rebuilds the same missing layer, and almost none of it composes.&lt;/p&gt;

&lt;p&gt;That is how you end up with products that are “onchain” in theory but fragmented in practice.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Real Problem: The User Is Just an Address
&lt;/h2&gt;

&lt;p&gt;Most EVM apps still have a painfully weak model of the user.&lt;/p&gt;

&lt;p&gt;The user is an address.&lt;/p&gt;

&lt;p&gt;The address connects.&lt;br&gt;
The address signs.&lt;br&gt;
The address owns assets.&lt;br&gt;
The address pays gas.&lt;br&gt;
The address grants approvals.&lt;br&gt;
The address appears in a database.&lt;/p&gt;

&lt;p&gt;That model is precise at the protocol level, but it is far too primitive at the product level.&lt;/p&gt;

&lt;p&gt;A real user has identity, preferences, devices, permissions, recovery needs, relationships, reputation, history, and intent.&lt;/p&gt;

&lt;p&gt;An address has none of that by default.&lt;/p&gt;

&lt;p&gt;This mismatch explains why so many crypto apps feel patched together. The contracts may be clean, but the user model is improvised. The product has to reconstruct the human being around a cryptographic key.&lt;/p&gt;

&lt;p&gt;That is backwards.&lt;/p&gt;

&lt;p&gt;You cannot build consumer software around the assumption that the user is a signing key with a balance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gas Is Not a Fee. It Is a Product Interruption.
&lt;/h2&gt;

&lt;p&gt;Gas is the most obvious symptom of this broken architecture.&lt;/p&gt;

&lt;p&gt;In a consumer app, gas is not just a transaction fee. It is an interruption in user intent.&lt;/p&gt;

&lt;p&gt;The user arrives wanting to do something simple: collect, publish, join, vote, play, claim, send, follow, create, or participate.&lt;/p&gt;

&lt;p&gt;The app responds by saying:&lt;/p&gt;

&lt;p&gt;“First, go acquire this separate asset from somewhere else so you can pay for the computational cost of doing the thing you already decided to do.”&lt;/p&gt;

&lt;p&gt;That may be rational from the protocol’s perspective. It is absurd from the user’s perspective.&lt;/p&gt;

&lt;p&gt;It is especially destructive during onboarding. The first few minutes of a product experience are when curiosity is highest and trust is lowest. Yet many EVM apps choose that exact moment to teach users about native tokens, exchanges, withdrawals, bridges, balances, transaction fees, failed transactions, and wallet funding.&lt;/p&gt;

&lt;p&gt;By the time the user is ready to press the original button again, the product has already taught them that using it is work.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;That is why gasless UX is not a cosmetic improvement. For consumer apps, it is a requirement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The user should bring intent.&lt;br&gt;
The application should handle execution.&lt;/p&gt;

&lt;p&gt;The chain can still settle the action. The transaction can still be verifiable. Ownership can still be meaningful. But the first interaction should not feel like a funding tutorial.&lt;/p&gt;

&lt;h2&gt;
  
  
  Approvals Are Not Permissions
&lt;/h2&gt;

&lt;p&gt;Approvals reveal the same architectural weakness.&lt;/p&gt;

&lt;p&gt;A wallet popup appears. The user wants to continue. The system treats a click as informed consent.&lt;/p&gt;

&lt;p&gt;But most users are not approving from understanding. They are approving from momentum.&lt;/p&gt;

&lt;p&gt;That is not a real permission model.&lt;/p&gt;

&lt;p&gt;In mature software, authority is scoped. A mobile app can access your camera without getting access to your whole filesystem. A team member can publish content without controlling billing. An API key can be limited to a narrow set of operations. A device can be trusted for some actions but not others.&lt;/p&gt;

&lt;p&gt;Crypto should be better at permissions than Web2, not worse.&lt;/p&gt;

&lt;p&gt;A creator should be able to let a publishing tool manage content without touching funds.&lt;br&gt;
A brand should be able to give a campaign manager limited rights without handing over the whole account.&lt;br&gt;
A game should be able to perform low-risk actions without asking for broad control.&lt;br&gt;
An agent should be able to act within boundaries instead of becoming a private key with too much power.&lt;/p&gt;

&lt;p&gt;The right question is not simply:&lt;/p&gt;

&lt;p&gt;“Did this address sign?”&lt;/p&gt;

&lt;p&gt;The right question is:&lt;/p&gt;

&lt;p&gt;“Is this actor allowed to perform this action for this user, under this scope?”&lt;/p&gt;

&lt;p&gt;That is the foundation consumer crypto actually needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ideal Flow Looks Nothing Like Today’s Default Flow
&lt;/h2&gt;

&lt;p&gt;The ideal consumer crypto flow is not:&lt;/p&gt;

&lt;p&gt;Connect wallet.&lt;br&gt;
Switch network.&lt;br&gt;
Buy gas.&lt;br&gt;
Approve token.&lt;br&gt;
Confirm transaction.&lt;br&gt;
Wait.&lt;br&gt;
Confirm again.&lt;br&gt;
Hope the asset appears somewhere recognizable.&lt;/p&gt;

&lt;p&gt;The ideal flow is closer to:&lt;/p&gt;

&lt;p&gt;The user enters with intent.&lt;br&gt;
The app recognizes a profile, not just an address.&lt;br&gt;
The app requests only the permissions it needs.&lt;br&gt;
The user understands what is being authorized.&lt;br&gt;
Gas is handled in the background when appropriate.&lt;br&gt;
Assets arrive with context.&lt;br&gt;
The account can support multiple devices, apps, keys, and agents.&lt;br&gt;
Recovery and delegation are built into the account model.&lt;br&gt;
Other applications can understand the user, their assets, and their permissions without rebuilding everything from scratch.&lt;/p&gt;

&lt;p&gt;That is what normal software feels like.&lt;/p&gt;

&lt;p&gt;The blockchain should make that flow more &lt;strong&gt;powerful&lt;/strong&gt;, not more painful.&lt;/p&gt;

&lt;p&gt;The user should not need to understand the machinery before receiving value from the product. The machinery should exist underneath the experience, executing intent, preserving ownership, and making the system verifiable.&lt;/p&gt;

&lt;p&gt;This is the shift from asset-first design to user-first design.&lt;/p&gt;

&lt;p&gt;And this is where LUKSO’s LSPs become interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  LSPs Start Where ERCs Stop
&lt;/h2&gt;

&lt;p&gt;The interesting thing about LUKSO’s LSPs is not simply that they are “more standards.”&lt;/p&gt;

&lt;p&gt;Crypto already has plenty of standards.&lt;/p&gt;

&lt;p&gt;The interesting thing is the direction of the abstraction.&lt;/p&gt;

&lt;p&gt;ERCs mostly start from the asset. They define how tokens behave, how they transfer, how balances are read, how ownership is tracked, and how approvals work.&lt;/p&gt;

&lt;p&gt;LSPs start from a different premise:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if the user was the primitive?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A Universal Profile is a smart contract based account that can represent a person, creator, brand, DAO, agent, or organization. It can own assets, store metadata, manage permissions, receive interactions, and act as the user’s onchain presence.&lt;/p&gt;

&lt;p&gt;The profile is not decoration around the account.&lt;/p&gt;

&lt;p&gt;The profile is the account.&lt;/p&gt;

&lt;p&gt;That changes the entire product model.&lt;/p&gt;

&lt;p&gt;In the usual address-first world, the app begins with &lt;code&gt;0x...&lt;/code&gt; and then tries to attach meaning later. In a profile-first world, the app begins with a richer onchain object that can express identity, ownership, metadata, permissions, and relationships from the start.&lt;/p&gt;

&lt;p&gt;That is a much better primitive for consumer applications.&lt;/p&gt;

&lt;p&gt;A creator is not just an address that minted something.&lt;br&gt;
A brand is not just an address that owns a collection.&lt;br&gt;
A community member is not just an address that passed a token gate.&lt;br&gt;
A player is not just an address holding items.&lt;br&gt;
An agent is not just a key with too much power.&lt;/p&gt;

&lt;p&gt;These are users with context.&lt;/p&gt;

&lt;p&gt;The account model should be able to express that.&lt;/p&gt;

&lt;h2&gt;
  
  
  LSP6 Turns Wallet Prompts Into Real Permissions
&lt;/h2&gt;

&lt;p&gt;LSP6 Key Manager is one of the most important pieces of this architecture because it moves permissions into the account layer.&lt;/p&gt;

&lt;p&gt;Instead of treating authority as a single private key that can do everything, a Universal Profile can be controlled through different keys with different permissions.&lt;/p&gt;

&lt;p&gt;That means an app, device, agent, or session key can be allowed to do some things but not others.&lt;/p&gt;

&lt;p&gt;This is a massive product unlock.&lt;/p&gt;

&lt;p&gt;A social app could publish posts without being able to move assets.&lt;br&gt;
A game could update low-risk gameplay state without controlling the whole profile.&lt;br&gt;
A commerce app could request limited permissions for a specific interaction.&lt;br&gt;
A team could give different members different rights over the same brand profile.&lt;br&gt;
An AI agent could act inside a defined scope instead of becoming a security nightmare.&lt;/p&gt;

&lt;p&gt;That is the difference between asking users to blindly sign and giving applications a real permission system.&lt;/p&gt;

&lt;p&gt;It is also the difference between crypto as a wallet popup simulator and crypto as an application platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  LSP7 and LSP8 Make Assets Fit the User Layer
&lt;/h2&gt;

&lt;p&gt;LSP7 and LSP8 extend the same user-first philosophy to assets.&lt;/p&gt;

&lt;p&gt;They are not just about creating another version of fungible and non-fungible tokens. They are about making assets work more naturally inside a profile-based ecosystem.&lt;/p&gt;

&lt;p&gt;Consumer assets are rarely just balances or token IDs.&lt;/p&gt;

&lt;p&gt;They can be memberships, collectibles, credentials, access passes, tickets, badges, reputation markers, social objects, game items, creator drops, or brand interactions.&lt;/p&gt;

&lt;p&gt;Their meaning depends on who holds them, where they came from, what metadata surrounds them, what permissions they unlock, and how applications interpret them.&lt;/p&gt;

&lt;p&gt;In an ERC-first model, assets often float around as isolated objects at addresses.&lt;/p&gt;

&lt;p&gt;In an LSP-first model, assets can live inside a richer user graph.&lt;/p&gt;

&lt;p&gt;That is a very different foundation.&lt;/p&gt;

&lt;p&gt;It means assets can be received with more context. Profiles can track what they own. Applications can build around users instead of reconstructing ownership from scattered token contracts. The asset becomes part of the user’s onchain presence, not just another entry in an indexer.&lt;/p&gt;

&lt;p&gt;That is how digital objects start to feel like part of a product instead of artifacts from a transaction log.&lt;/p&gt;

&lt;h2&gt;
  
  
  LSP25 Fixes the First-Mile Problem
&lt;/h2&gt;

&lt;p&gt;The first-mile problem in crypto is simple:&lt;/p&gt;

&lt;p&gt;Users often have to pay before they understand why they should care.&lt;/p&gt;

&lt;p&gt;They need gas before they can try the app. They need the right network before they can interact. They need a funded wallet before they can experience the product.&lt;/p&gt;

&lt;p&gt;That is backwards.&lt;/p&gt;

&lt;p&gt;LSP25 and relay-based execution help flip the order.&lt;/p&gt;

&lt;p&gt;The user signs intent.&lt;br&gt;
The application or relay handles execution.&lt;br&gt;
The user gets to experience value before being forced to understand infrastructure.&lt;/p&gt;

&lt;p&gt;This does not make the system less onchain. It makes the onchain system usable.&lt;/p&gt;

&lt;p&gt;For consumer apps, that sequencing matters. Let the user collect the thing, join the community, publish the post, claim the badge, or try the game. Let the app handle the transaction complexity underneath.&lt;/p&gt;

&lt;p&gt;Users should not need to buy gas to discover whether your product is worth using.&lt;/p&gt;

&lt;h2&gt;
  
  
  The EVM Does Not Need More Token Interfaces. It Needs a User Layer.
&lt;/h2&gt;

&lt;p&gt;Solidity taught developers how to write programmable contracts.&lt;/p&gt;

&lt;p&gt;ERCs taught developers how to build programmable assets.&lt;/p&gt;

&lt;p&gt;But consumer crypto needs the next step:&lt;/p&gt;

&lt;p&gt;Programmable users.&lt;/p&gt;

&lt;p&gt;That means smart accounts, universal profiles, scoped permissions, richer metadata, received asset tracking, relay execution, delegation, recovery, and gasless flows.&lt;/p&gt;

&lt;p&gt;These are not side features.&lt;/p&gt;

&lt;p&gt;They are the difference between an application that exposes contracts and an application that feels like software.&lt;/p&gt;

&lt;p&gt;This is the uncomfortable part for experienced EVM developers: knowing ERCs may make you good at the asset layer while leaving you undertrained at the product layer.&lt;/p&gt;

&lt;p&gt;You can deploy a correct token.&lt;br&gt;
You can integrate a wallet.&lt;br&gt;
You can expose a mint button.&lt;br&gt;
You can index the events.&lt;br&gt;
You can show the asset in a marketplace.&lt;/p&gt;

&lt;p&gt;And you can still ship something only crypto-native users can tolerate.&lt;/p&gt;

&lt;p&gt;That was acceptable when the ecosystem was mostly building for itself. It will not be acceptable if the goal is consumer adoption.&lt;/p&gt;

&lt;h2&gt;
  
  
  After Learning Solidity, Forget the ERCs
&lt;/h2&gt;

&lt;p&gt;The title is obviously bait.&lt;/p&gt;

&lt;p&gt;Do not actually forget ERCs.&lt;/p&gt;

&lt;p&gt;ERC20, ERC721, and ERC1155 still matter. They are part of the foundation. Developers should understand them. Apps will continue to use them. Interoperability is still valuable.&lt;/p&gt;

&lt;p&gt;But after learning Solidity, developers need to stop treating ERCs as the center of the application universe.&lt;/p&gt;

&lt;p&gt;ERCs are asset standards.&lt;/p&gt;

&lt;p&gt;They are not product architecture.&lt;br&gt;
They are not a user model.&lt;br&gt;
They are not a permission system.&lt;br&gt;
They are not onboarding.&lt;br&gt;
They are not recovery.&lt;br&gt;
They are not identity.&lt;br&gt;
They are not context.&lt;br&gt;
They are not intent.&lt;/p&gt;

&lt;p&gt;The next wave of EVM apps will not win because users admire the contracts.&lt;/p&gt;

&lt;p&gt;They will win because users do not have to think about the contracts.&lt;/p&gt;

&lt;p&gt;The infrastructure will still matter, but it will be arranged around the user instead of exposed as a prerequisite for every action.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;That is the promise of LSPs. They do not make the EVM less powerful. They make the power usable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The EVM already has programmable contracts.&lt;br&gt;
It already has programmable assets.&lt;/p&gt;

&lt;p&gt;The missing primitive is the programmable user.&lt;/p&gt;

&lt;p&gt;Developers who understand that shift will build products.&lt;/p&gt;

&lt;p&gt;Developers who do not will keep shipping contract interfaces and wondering why everyone outside crypto leaves.&lt;/p&gt;

&lt;p&gt;To learn more about LSPs see &lt;a href="https://docs.lukso.tech/" rel="noopener noreferrer"&gt;the technical docs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>ethereum</category>
      <category>solidity</category>
      <category>lukso</category>
    </item>
  </channel>
</rss>
