Skip to content
0xSU (Ethereum Shortened URL) JS Wrapper
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

0xSU - Ethereum Short URLs (JS Lib)

Finally, the thing you've been waiting for your entire adult life. Decentralized URL shortener. It's like except it can't be taken down. It's hosted on QuikNode and integrated with Wyre. This is the JS client you can use for integration with your web3 front-end.

Install: npm install @jonbiro/0xsu-js-lib --save

Here's how it works:

import Du4e from '@jonbiro/0xsu-js-lib'
let oxsu = new Du4e()

Then it will automatically ask for permissions when necessary and pick up the appropriate version of web3. Now you can do things like, get the long version of a link based on a short slug:

const short = "0x397997"

oxsu.getUrl(short).then(url => {
  console.log(url) //

// or with await
let url = await oxsu.getUrl(short) //

or if you want to redirect the browser:

oxsu.forward("0x397997") //

or just shorten a URL:

const url = ""
// with zero config
await oxsu.shortenURL(url) // 0xe8d142c0d547f254be15e4aa3a8b7e45139c7b74e7cf425269d63990bb602a8a
// with more control 
    slug: "vitalik", // [optional] do you know what you want your shortened slug to be?
    acct: "0x31D583a494af597B53eB49B62FCaAb4BAF7f2e69", // [optional] do you want to send from some different address?
    cb: (txID) => { // [optional] using an older version of web3 lib?
      console.log("0xSU TX ID: ", txID) // 0xSU TX ID: 0xe8d142c0d547f254be15e4aa3a8b7e45139c7b74e7cf425269d63990bb602a8a

and then you can listen for a shortenedURL:

oxsu.onURLShorten = (slug) => {
  console.log("Slug is ", slug) // Slug is 0x397997

or grab all the shortened URLs for a particular Ethereum account:

oxsu.listOfUrls((urls) => {
  console.log(urls) // list of short url slugs useable on any forwarder
}) // gets web3 account urls
oxsu.listOfUrls("0x31D583a494af597B53eB49B62FCaAb4BAF7f2e69", (urls) => {
  console.log(urls) // list of short url slugs useable on any forwarder
}) // gets web3 account urls

Thanks. This project was made by @jonathanbiro and @bunsen

You can’t perform that action at this time.