Cover photo

Why We Built UIS

For the past year, we've been working on Oscillator and our first challenge was identity. I want to share why we built UIS (Universal Identity System) and open sourced it.

Context

We're trying to make data portable between apps, starting with music because it's a good test case - clear data models, defined relationships (artists, releases, users, behaviors), and real value in making it portable.

The Identity Challenge

When we started thinking about how to make data portable, we kept hitting the same wall: how do you know who owns what data? And more importantly, how do you verify that ownership across different applications?

Traditional identity systems (OAuth, OIDC) are built for a world where each service owns its own user data. They're about access, not ownership. We needed something that could work across apps while giving users actual control of their data.

This led us to combining Decentralized Identifiers (DIDs) with smart contract wallets, plus Verifiable Credentials (VCs) for data claims. Each user gets both a DID and a smart wallet account - the DID provides the identity that links everything together, while the smart wallet enables secure ownership and control. VCs then let apps make claims about that identity - when you play an album 50 times, follow an artist, or save a track on one platform, those actions become credentials that you can bring to other apps (if you choose to).

For artists, it works the same way - they get both a DID and smart wallet that lets them prove they're the same verified artist everywhere. Their streaming numbers, content ownership, and follower relationships become VCs that are verified across platforms, not locked in silos.

We looked at existing standards like did:web, did:pkh, and did:ethr, but each had fundamental limitations that made them impractical for our use case. So we wrote our own DID spec, built specifically to work with smart contract wallets.

The Technical Bits

UIS uses two key EIPs that make this possible:

  • EIP-3668 for off-chain lookups, keeping most data off-chain while maintaining verifiability

  • EIP-6492 for counterfactual verification, which lets us validate signatures from smart contract wallets that don't exist yet onchain (great explainer here)

This combination means we can create DIDs with smart contract wallets without requiring users to pay gas up front, while still maintaining data integrity across apps. Everything stays minimal and efficient onchain.

Key features:

  • No gas fees for creation

  • Minimal onchain storage

  • Works with any EVM account type

  • Built on proven standards

The smart wallet implementation handles key management, so apps can build whatever auth flows make sense for their users.

How It Fits Together

Applications can implement their own auth flows (OAuth, email, whatever works for them) while still leveraging UIS for portable identities and verifiable data.

  • UIS provides the portable identity and data ownership layer - entirely separate from how users log into apps

  • UIS does not impose cumbersome, ethereum-based UX requirements typical with other wallet experiences

  • Ethereum wallets can link to these UIS identities and smart accounts, making them more useful for regular apps

  • ENS gives us human-readable names, while UIS handles the identity and data layer underneath

UIS is designed to work alongside existing systems, not replace them.

What This Enables

Here's how this works in practice:

For Users: Immediately, a user can access multiple music apps with one identity. When they follow artists or create playlists in one app, they can choose to bring that data to others. Their music identity becomes portable, but they control what gets shared.

For Artists: An artist like James Blake has fans across dozens of platforms. With UIS, he can maintain one verified identity that works everywhere. More importantly, he can access verified data about his audience's engagement across platforms, not just siloed in each app.

For Apps: A new music app doesn't have to start from zero. With user permission, they can access verified data about listening habits, follows, and engagement from other apps in the ecosystem. They compete on experience, not data lock-in.

Now, apply this beyond music. This is what UIS + Oscillator can enable: portable identity.

The Best Part

Behind the scenes, there's an eth-based wallet and identity for every user. But here's what matters: users never need to know this exists. They just use apps like they usually do - no seed phrases, no web3 onboarding, nothing changes about their experience. If they ever want to claim full control of their wallet and data, they can.

For developers, it's just as simple. Integrate UIS, let users bring their data, and even earn from contributing to the ecosystem. That's it.

Why Now

Ethereum isn't just for tokens and money. It's the only proven platform for building permissionless, composable systems. But for mainstream apps to build on it, we need infrastructure that works at scale without compromising on decentralization.

UIS is our small contribution to this. We needed it for Oscillator, but it should be useful for any app that wants to give users control of their data. Looking forward to seeing what gets built with it.

Next I will write about Oscillator, how we are imagining the relationship between UIS and VCs to work, starting with music identity, and then beyond.

Stay tuned on updates to UIS here.

Oscillator, Inc. logo
Subscribe to Oscillator, Inc. and never miss a post.