The problem EPO solves
🤔 ENS / Basenames use cases are still limited
Existing services that utilize ENS mainly for resolving addresses in crypto-space. We'll try real-world use cases.
✨ Key Features
- Link in BIO: Basenames, ENS
- Verified Skills, Works, Awards, Portfolio: On-chain attestation via EAS schema. You can see who attested. (like LinkedIn skills)
- Content Management: You can post your content easily with Basenames
- Sell content with x402: like gumroad but onchain using x402
Challenges we ran into
Archive designed for everyone:
- Those with an EOA and Basenames -> Login with your EOA wallet.
- Those who don't have a wallet -> Sign in with a passkey wallet and claim your custom ENS (user.epo.im).
To achieve the above, we had to implement several conditional branches. Additionally, there were some special cases that required specific handling for the ERC-4337 wallet.
Considerations in case the primary address of ENS/Basenames is changed:
We worked on simplifying the following on-chain features using name-based identifiers.
- Attestations for users and posts are made on-chain via EAS.
- With x402 access control, managing paid content becomes easy and fee-less, with on-chain control.
However, we discovered a challenge: many parts are still address-based, and additional considerations are needed when the address linked to ENS/Basename is changed.
While we have partially addressed this with a fallback for name resolution, a more robust solution will be necessary in the future.
Data ownership and decentralization:
We store basic user information on-chain with ENS/Basenames.
Initially, we also intended to ensure users' data ownership by publishing user data to IPFS/Arweave, similar to "mirror.xyz" does.
- Keep good UX
- There's a risk that unpaid content could be discovered on IPFS unless encryption is implemented: we would need to implement encryption or other protective measures
- x402 uses URL as a key
Therefore, we decided to currently store user posts in an SQLite DB (off-chain). We aim to decentralize this part of the system in the future.
Disclose
This project was conceived initially during ETHTaipei in April 2025, but we could only complete the ENS part then.
For this hackathon, we revisited the concept and rebuilt everything from scratch. Some functions related to ENS Subnames are being reused. Previous repo
Tracks Applied (1)
