# W3F Grant Proposal
* **Project Name:** Bundlr Integration to support DOT
* **Team Name:** Bundlr
* **USDC Payment Address:** 0x3d5D4Ad052E8676D4027a05F651849082d573b72
* **[Level](https://github.com/w3f/Grants-Program/tree/master#level_slider-levels):** 3
## Project Overview :page_facing_up:
### Overview
Bundlr is a decentralized network, optimized to provide infinitely scalable, fast and composable web3 data solutions. Bundlr provides intuitive SDKs that scale with the project or company growth. Our scaling solution is built as part of the Arweave ecosystem, the only permanent decentralized data storage protocol.
MAU and DAU is not something that we track as Bundlr is integrated by developers to the project or dApps they are working on. As of September 14th, we have 302,355,014 transactions through Bundlr and we have 169,244 unique wallet addresses. We are responsible for 90% of all transactions on Arweave. One of the main drivers for Bundlr's massive growth is our cross-chain composability, allowing users to pay for storage in their token of choice.The below outlines our proposal to integrate Polkadot's cryotography and token($DOT) with Bundlr's core network.
Integrating with directly Polkadot will be the fastest method to provide access to Bundlr for both Parachains and end users via developer built dApps. Once the proposed integration is complete, we see the following two opportunities:
The first opportunity is among Polkadot Parachains. Parachains can simply integrate Bundlr to their code. To use and pay for Bundlr, the Parachains can swap their swap token for $DOT and will have the optionality to store data using Bundlr. The Parachain team can decide whether they want to exclusively store with Bundlr or offer it as an option for their end users. This benefits the Polkadot ecosystem as it provides flexibility and optionality to the Parachain communities.
The second opportunity is among developers who integrate Bundlr with their dApps. Developers that are building dapps with Bundlr are allowing their end users to pay for storage using the token of their choice, including $DOT. This benefits Polkadot by expanding your exposure to the developer community and ultimately their end users that interface with the dApps.
Long-term, our team can integrate a custom pallet which would streamline and automate the token swap process for Parachains. This is not included in this proposal.
**Of all of the users/teams using Bundlr, what is the vertical distribution? (i.e. How many % belong to NFTs?)**
Approximately 50% belong to NFTs
**What type of files are usually stored on Arweave using Bundlr?**
Videos, images, text, content, virtually any data you would like to store
**What is the average transaction fee per MB a user needs to pay to save files using Bundlr?**
Bundlr is a 30% premium on top of Arweave fees. You can see the Arweave fees at https://ar-fees.arweave.dev
**Of all of the tokens that Bundlr currently supports,
which token is being used the most?**
SOL
**What are some of the issues you've been hearing when users are trying to use Bundlr?**
Improved documentation which our team is actively working on today
### Project Details
### Technoloy stack
1. Javascript
2. Arweave
### Components
This section describes the major components for an integration.
#### Cryptography
The most complex component of an integration is the crypography for a given chain which needs to be supported in order to support the new currency. $DOT mostly uses SR25519 which is an algorithm we do not yet support.
#### Network
Polkadot's core client needs to be integrated into Bundlr's core infrastructure, mostly using common API methods around transferring funds and looking up transactions.
#### Node.js
Polkadot's core client needs to be integrated into Bundlr's Node.js client in order to allow users to use $DOT with Bundlr on the server.
#### Web
Polkadot's core client needs to be integrated into Bundlr's web client in order to allow users to use $DOT with Bundlr in the browser. This will allow users of Polkadot to use Bundlr from the web, a useful tool when creating NFT dApps.
### Ecosystem Fit
- **Where and how does your project fit into the ecosystem?** Bundlr will offer $DOT as a way to pay for storage on Bundlr.
- **Who is your target audience (parachain/dapp/wallet/UI developers, designers, your own user base, some dApps's userbase, yourself)?** Our target audience are the developers working within the Polkadot ecosystem who require instant on-chain storage, our own userbase, and developer building dApps.
- **What need(s) does your project meet?** Our project helps developers build dApps and Web3 infrastructure which require scalable on-chain storage.
- **Are there any other projects similar to yours in the Substrate / Polkadot / Kusama ecosystem?**
- **If not, are there similar projects in related ecosystems?** We have not yet found a project that will be focusing on creating decentralized instant and infinitely scalable storage in the Web3.
### Project Uniqueness
**How is Bundlr unique?**
What makes Bundlr unique are the following 5 pillars:
**True Decentralization**
Data is stored on Bundlr’s decentralized network making it more secure, discoverable and consumable. We are decentralized because we are focused on providing rewards to good actors for processing (bundlers) or valididating (validators) transactions, our nodes are geographically located, we have over 3,200 validators as of August 24th 2022, we are open sourced and have low barriers to participate compared to others.
**Ease of use**
Bundlr can easily integrate with any application while providing testing flexibility to builders.Users have full flexibility to use the devnet, test whatever currency they would like and free transactions under 100 KiB - KibiByte - 1,024. Further, our intuitive docs make it easy for developers to evaluate whether they would build the product. Developers only need to write 5 lines of code to be fully integrated, taking no longer then 1 minute to be complete.
**Perfomance / Speed**
Bundlr is optimized for rapid upload time and is instantly available. Bundlr uses optimistic finality, to be able to treat a transaction as final before it is final, ultimately increasing the transaction speed. Bundlr caches the data before it is stored on Arweave, so from the moment you upload, your data is instantly accessible. Relative to Arweave, Bundlr is over 7000x faster at uploading data. Our transaction finality is 75ms with instant data retrievability.
**Scalability**
Our network is meant to scale indefinitely, increasing the number of transactions per second(tps) and translation finality. Bundlr scales horizontally with the number of bundlers on the network. The more bundlers that are added to the network, the more transactions we can process, therefore the max TPS is infinite. Users have unlimited storage on Bundlr means you’ll never be restricted by data limits again. Bundlr is responsible of r 90% of data uploaded onto Arweave. We have over 287+ million transactions on Bundlr.
**Composability**
Bundlr is multi-chain, providing the ability to sign and pay with any token and allowing maximum flexibility for developers. Bundlr blockchain agnostic allowing users to upload data from any major blockchain ultimately improving the user experience. Users only need one private key to use your dApp. Further it does not enforce any opinionated design decision for developers. Sign and pay with any of the 13 currencies we support:
Algorand (ALGO)
Arbitrum (ETH)
Arweave (AR)
Avalanche C-Chain (AVAX)
Boba (BOBA)
Boba-eth (ETH)
Chainlink (LINK)
Ethereum (ETH)
Fantom (FANTOM)
NEAR (NEAR)
Optimism (ETH)
Polygon (MATIC)
Solana (SOL)
### Problem Addressed
* Performance optimization of slow on-chain storage
* dApps scalability with low TPS / long time-to-finality
* Lack of composability between chains, requiring devs and users to hold storage tokens e.g. $AR
* Cost optimization
* Reducing complexity with easy-to-use tools
## Team :busts_in_silhouette:
### Team members
* Joshua Benaron - Founder & CEO
* Amelia Guertin - COO
* Jesse Wright - Lead Developer
* Miko Niemenen - Rust developer
* Blue Kirby - Rust developer
* William Giani - Fullstack developer
### Contact
* **Contact Name:** Amelia Guertin
* **Contact Email:** amelia@bundlr.network
* **Website:** [https://bundlr.network](https://www.bundlr.network)
### Legal Structure
Registered Address: 64 New Cavendish Street, London, W1G 8TB
Registered Legal Entity: BN Labs LTD
### Team experience
The Bundlr team has over 20 years in combined experience in web2 and web3 development and product management. Our Founder, Josh Benaron began developing in the Arweave ecosytem in 2019. In 2021, he founded Bundlr during the NFT bull market, after founder of Arweave, Sam Williams asked him to solve for limited blockspace on Arweave. Since then, Bundlr has now become one of the fastest web3 data networks. Prior to building Bundlr, our team members held positions at Coinbase, Snowflake, Salesforce, Nomovok, Nokia, Innominds, Scotiabank and more.
### Team Code Repos
* Bundlr Github: https://github.com/bundlr-network
* Bundlr Validator: https://github.com/bundlr-network/validator
* Bundlr Contracts: https://github.com/bundlr-network/contracts
### Team GitHubs
* [Joshua Benaron](https://github.com/joshbenaron) - Founder & CEO
* [Jesse Wright](https://github.com/JesseTheRobot) - Lead Developer
* [Blue Kirby](https://github.com/bluekirby1111) - Lead Developer
* [Miko Niemenen](https://github.com/mikonieminen) - Lead Developer
* [William Giani](https://github.com/TheHoltz) - Lead Developer
### Team LinkedIn Profiles
* [Josh Benaron](https://www.linkedin.com/in/josh-benaron/) - Founder & CEO
* [Amelia Guertin](https://www.linkedin.com/in/amelia-guertin-b2775143/) - COO
* [Mike Nieminen](https://www.linkedin.com/in/miko-nieminen-973b742/) - Lead Developer
* [Jesse Wright](https://www.linkedin.com/in/jesse-cruz-wright/) - Lead Developer
## Development Status :open_book:
* Bundlr is a project built on top of Arweave.
* Bundlr's main network is released & available for public usage and testing.
* There is no Bunldr token today. We will have a token launch at mainnet in 2023.
* For the reminder of 2022, we will be adding a mutability layer and PreWeave a soaking layer with a permanent backing.
* Prior to mainnet we will launch an incentivised testnet (Est. H1 2023).
## Development Roadmap :nut_and_bolt:
For a full public Bundlr roadmap see [here](https://bundlr.network/roadmap).
> [This is meant to be the development roadmap for the integration not our roadmap]
Specific to this grant :arrow_double_down:
### Overview
* **Estimated duration:** 4-6 weeks
* **Full-time equivalent (FTE)**: 3
* **Costs:** 74,000 USDC equivalent
**Key Deliverables**
- Cryptographic integration (signing, verification, address derivation) into Arbundles
- Integration of Polkadot network compatible logic into our JS SDK
- Integration of Polkadot web wallet(s) into our JS SDK, including our web wallet demo application
- Relevant documentation, including specific examples using polkadot with our SDK
| Deliverable | Description | Estimated Hours |
| ------------------------ | --------------------------------------------------------------------- | --------------- |
| Web Integration | Hiro-compatible web wallet integration | 30 |
| Crypto Integration | Cryptography implementation - signing, verifying, address | 20 |
| Lib (Node) Integration | Common Code + Node.js integration | 35 |
| Testing | Full system testing | 25 |
|Post-integration support| Continuous support, time spent helping users, keeping code updated| 75 |
| **Total** | |185|
Goal - Integrate $DOT into Bundlr to allow developers and end users to use $DOT with Bundlr to store data permanently & instantly.
| Number | Deliverable | Specification |
| -----: | ----------- | ------------- |
| 0a. | License | Apache 2.0 |
| 0b. | Documentation | We will provide examples of how tp use $DOT with Bundlr |
| 0c. | Testing Guide | All client and network code will be covered by unit tests. Frontend components will go through unit and end-to-end testing |
| 0d. | Docker | N/A - the integration is a change to client software and doesn't require Docker |
| 0e. | Article | We will write an article that explains the work done as part of the grant|
| 1 | $DOT payment | Web and Node.js client supporting $DOT for paying for Bundlr transactions |
## Future Plans
* Develop and integrate a custom pallet to provide streamlined and automated integration of Bundlr into any parachain.
## Additional Information :heavy_plus_sign:
**How did you hear about the Grants Program?**
Vincent Chan met with Amelia Guertin in June at NFT NYC where he shared the web3 foundation grants program. Our developer team met with Alejandro Martinez Andres, Gautam Dhameja and Vincent Chan on July 27th 2022 to scope the project.