Build with privacy and permanence
Integrate user-owned storage into your (d)apps.
Teams are using Akord vaults in diverse ways
From reforestation to leasing healthcare data – Akord's API is enabling organizations to unlock new ways of working with data.
Veritree are on a mission to plant 1 billion trees by 2030.
Dedoco are a decentralised document management platform.
Mahamati Foundation are preserving ancient Buddhist texts
Genobank enable researchers to share genetic data with NFTs.
ForeverStories podcast stories and preserve guests’ content.
WITH AKORD VAULTS
Permanent, decentralised and on-chain storage
Built on Arweave – a decentralised, on-chain storage network with a pay once, store forever model. Akord protocol sends and verifies all data and logic on Arweave.
Complete privacy by design
AkordJS handles all quantum resistant, end-to-end encryption, while making sure data is encrypted during transmission, processing and storage.
Composable – built to be extended
Akord vaults arrange how members can save, exchange and process data. The protocol is designed for developers to extend.
The data ownership toolkit
Vault access controlled by the user’s consent.
Always read your data, even right after posting a transaction.
Containers for verifiable claims and zero knowledge proofs.
Akord protocol allows owners of vaults to invite others within an encrypted context, where members can message and create notes, as well as upload data.
Any transactions dropped by Arweave are automatically reposted, providing a safety net when the network is experiencing issues.
Add custom extensions to create new types of vaults, or take the existing vault structure and embed it in any number of ways to an existing app.
Get going with a few lines of codes
The Akord Protocol and SDK provide the tools to store data, share and collaborate on Arweave. Bring data ownership, permanence and privacy to your apps
npm install @akord/akord-js
# Init Akord
import { Akord, Auth } from "@akord/akord-js";
const { wallet } = await Auth.signIn(username, password);
const akord = await Akord.init(wallet);
# Create your vault
const { vaultId } = akord.vault.create("My personal vault");
# Upload a file to your vault
const { stackId, uri } = await akord.stack.create(vaultId, "./photo.jpg");
# Once the transaction is accepted on Arweave network (it takes 5-15 minutes on average),
# you can access your file on ViewBlock by visiting the following URL: https://viewblock.io/arweave/tx/{uri}
# Download your file
const filePath = await akord.stack.download(stackId);
Get going in the terminal with our CLI.
Some people prefer diving in with the basics rather than reading every page of the docs!
Supporting and connecting our community
We have a range of channels to support builders, from grants to our community Discord. It’s easy to connect with our team and other builders in the ecosystem, and get any help you may need.
Our success is a successful community.
We’re not here just to create a product. We’re here to join with like-minded builders, eyes gleaming at the thought of the potential, the possibilities, the future. Without you, our work is incomplete.
FAQ
Check out Akord-JS. That’s our client-side library that takes care of:
- end-to-end encryption
- posting transactions to Arweave using Akord protocol
- talking to Akord API
- talking to Arweave API.
That little lib is performing all actions you will see on our app, v2.akord.com. You can create a new vault, upload E2E encrypted files or subscribe to Arweave transaction status change.
PS. it works on node too.
Some of the benefits of using Akord API:
- end-to-end encryption
- instant and fast access to your data
- deterministic and finite transaction id right after posting
- notifications – for example, instant info about a new member in your vault.
To get the feeling for how it works, check out our tutorial.
With this you get everything Akord offers, accessible in your terminal. Also, the source code of our CLI can serve as an example of how you can use akord-js on nodejs.
Remember the backup phrase from your Akord wallet? This is what we use for restoring your account if you forget the password. But not only that, we also use it also for cryptographic operations executed on client side (e2e encryption). The CLI is using it as well.
Transaction id returned by akord-js is a smart contract interaction with the Akord protocol. It is instantly accessible from Warp Contracts explorer SonAR: https://sonar.warp.cc/#/app/interaction/{transactionId}.
Warp Contracts use BundlrNetwork to post transactions, when displaying interaction on their explorer, there is a field called Bundler Id which can take us to the bundled transaction on viewblock.
The actual file data is referenced in this smart contract interaction and is bundled by the Akord API. We can see the status of file transaction and corresponding permalink in the application's storage tab: https://v2.akord.com/storage.
Here’s a script to extract the permalinks from a vault: https://gist.github.com/rcaetano/6dcdb285c790e0e393f5f9957863ec77
import { AkordWallet } from "@akord/crypto";const wallet = await AkordWallet.importFromBackupPhrase("my backup phrase");
Get all this info and more general FAQs from our documentation pages.
Chat with our community
Talk to other members of our community, ask questions and get the heads up on all the latest Akord happenings.