Our products

A suite of APIs to easily build distributed consumer applications

Developers

Profiles

Read and update user profiles

Why use Profiles?

GET
SET

Profiles API makes it easy to add social user profiles and basic reputation to your Ethereum application. With profiles, your users no longer need to interact with robotic hexadecimal addresses, but can begin to enjoy a more usable, familiar, and human web3 experience.

3Box profile data is stored in a decentralized IPFS datastore that is controlled by the user, so data is secure and can be shared across various apps and services.

  • bullet point

    Humanize your decentralized application

  • bullet point

    Access shared social identity and basic reputation

  • bullet point

    Save public and encrypted profile data

  • bullet point

    Support for shared or application specific profiles

  • bullet point

    Compatible with Ethereum accounts

GET
// Read profile data
const profile = await Box.getProfile(<ethereum-address>)
console.log(profile)
// Output:
// {
//   name: 'mollie the narwhal',
//   emoji: 😋
// }

const name = await box.public.get('name')
console.log(name)
// Output:
// 'mollie the narwhal'

const email = await box.private.get('email')
console.log(email)
// Output:
// 'mollyíe@3box.io'
SET
// Update public profile data
await box.public.set('name', 'Molly the Narwhal')

// Update encrypted profile data
await box.private.set('email', 'narwhal@3box.io')

Messaging

Add chat, comment, and content threads

Why use Messaging?

GET
SET

Messaging API makes it easy to add interactivity to your application with decentralized storage for user-generated content streams, comment threads, reviews, chats, and more. With threads, users can interact with each other on your application platform, but still retain ownership of the content they produce.

3Box messaging data is stored in decentralized OrbitDB feedstores that are shared between one or more participants.

  • bullet point

    Add interactivity to your decentralized application

  • bullet point

    Build chat, comment, and content threads

  • bullet point

    Support for moderation, if desired

  • bullet point

    Compatible with Ethereum apps

GET
// Statically read thread
const posts = await Box.getThread('myApp', 'thethread')
SET
// Post in thread
const myAppSpace = await box.openSpace('myApp')
await thread.post('the message')

Storage

Read and update app specific datastores

Why use Storage?

GET
SET

Storage API makes it easy to store data and content specific to your application directly with your user in a secure, sandboxed environment. With decentralized storage, developers can build lighterweight applications and reduce data management risk, while users enjoy more trust in the services they use.

3Box storage API saves data to an OrbitDB key-value datastore that is controlled by the user, so the user can consent to their data being shared with other apps and services.

  • bullet point

    Reduce liability by storing content directly with users

  • bullet point

    Store sensitive, application-specific, and context-specific data

  • bullet point

    Support for public and encrypted storage

  • bullet point

    Compatible with Ethereum apps

GET
// Read space data
const spaceData = await Box.getSpace(<eth-address>, 'myApp')
SET
// Open space for writing
const myAppSpace = await box.openSpace('myApp')

// Update public space data
await myAppSpace.public.set('favorite-nft', 'Space Narwhal')

// Update encrypted space data
await myAppSpace.private.set('last used', 'id-of-last-used-item')

Towards a better web for all

Join our mailing list to never miss an update.