Referendum #362
Treasury #577

Bagpipes - Powerful No-code Cross-Chain XCM Dapp and Workflow Builder for the Polkadot Ecosystem 🪄

Treasury
10 Comments
Awarded

Project Name: Bagpipes

Description:  Powerful No-code Cross-Chain XCM Dapp and Workflow Builder for the Polkadot Ecosystem 🪄

Authors: Ramsey Ajram, Filip Kalebo

Total Amount: 151,500 USD (DOT 25,910.7234) Converted into DOT at the ema30 price of: 5.847 USD/DOT

Beneficiary: “Bagpipes Org Multisig:” 15iN8aQnPuX4vjcovenu15EtnYfcwbtiXjeKGRN3KkkzNNtt

ETD: 6 to 8 months

Milestones: 4

Full Proposal Link: https://docs.google.com/document/d/1vpZPQCi11ja8fGcJ--ucjymMNG4BzQdsVFa4MKUunZU/edit?usp=sharing

Intro Post:   https://forum.polkadot.network/t/powerful-no-code-cross-chain-xcm-dapp-builder/4767

 

 

Links:

Website

Docs

Repo

 

Short Summary:

Question: How can we make all the available pallets over the XCM abstraction layer easier to compose on top of a single no-code environment? 

Answer: Bagpipes.

Bagpipes can help to unlock the possibilities of cross-chain, and make it simple and accessible so that anyone can solve their own problems and realize their ideas seamlessly. 

Bagpipes is a drag and drop workflow builder for web3, allowing people to quickly create and compose custom cross-chain application flows in a no-code way, kinda like a “Zapier for Web3”.

All while embodying web3 values of self-sovereignty and open source code.

This treasury propsoal seeks to get 6 to 8 months of funding for further developement so that we can include all the key pallets and features of the Polkadt runtime and SDK. 

 


 

Motivation

#simple and #accessible

We wanted to make building things on web3 attainable to more than the “hard core” developer community.

There are various successful drag and drop tools that have given superpowers to people in building “web2” applications, to name a few:

  • API workflows: with Zapier.com, Make.com and n8n.io (open source option);
  • Creative web design: with Figma
  • Learning to code, like SAM labs which teaches children how to program and visualize the logic blocks of the program.

 

We are heavily inspired by the power that these tools bring to users in their respective industries, all with the common trait of building from a birds-eye-view and dropping blocks of abstracted code. So we’ve made it our mission to make web3 accessible to a community of creative problem solvers who will leverage Bagpipes’ no-code interface that will enable the user to seamlessly build powerful and secure cross chain workflows, mini dapps, internal tools and fully functioning dapps, with such rapidity to make the user feel like they have superpowers.

Tools for the next wave of web3 builders.

In the next 5 years web3 tools will be seamlessly integrated into the stack of millions of developers and automators. And web developers can leverage these tools with ease. As demand for web3 increases and push factors start to set in, businesses, entrepreneurs and freelancers will require attainable solutions. Our glimpse of the future is that people will be able to compose Dapps that leverage multiple chains, pallets, contracts, features and SDKs. And as the ever looming AI wave draws closer, generative AI will be baked into how we design our platform too. LLMs are great at coding, but even better at coding with black box code blocks.


Problem statement

  • In polkadot and web3 in general, there is a gap between realizing ideas and having the expertise, time or resources to deliver them.
  • There are many knowledgeable non-technical (and technical) active users that could automate their processes, if they either had the skill set, or had the time.
  • Interaction with chains is still only accessible for developers.

 

Currently, XCM based parachains have their own native apps containing their own features, which are each useful for their chains, pallets and features. However cross-chain infrastructure demands better ways that harness such an interoperable environment.

With “XCM” coming into maturity, we have the possibility to build on this higher abstraction layer, enabling apps which can leverage features and pallets from different chains. Wallets are surely not the end game for XCM Dapps. Wallets currently fill the gap of enabling some cross chain functionality, but these are hard-coded and limited to what the wallet providers desire to prioritize. If a user wants to make use of multiple chain features, they have to independently go to each chain to execute the transaction. This manual process is inefficient and laborious. What is required is a place that allows the user to cherry-pick features from different chains and build workflows specific to their needs.


Solution

Welcome to Bagpipes, a user-friendly solution designed to enable cross-chain interactions within the Polkadot ecosystem. Bagpipes serves as a "Zapier for Web3," offering a user-friendly drag-and-drop interface that empowers developers and users to effortlessly build applications and interact with on-chain features. Bagpipes allows users to connect actions across different chains, leveraging pallets and logic to automate repetitive and laborious tasks.


Mission

To make a wide selection of features from chains, which are connected to cross-chain infrastructure, accessible and connectable, all in one place. Bagpipes allows anyone to create cross chain transaction flows in an easy to use drag and drop style interface.

As the features we add from different chains increase, the usefulness and possibilities will compound, opening the door for many workflow scenario possibilities that we have not yet seen or considered.

Minutes not weeks

It can take minutes rather than days or weeks to put together novel and useful workflows that will contain a variety of features from various chains, including: assets, DEXs, GOV, NFTs, Identity, Scheduling, Staking, Defi, etc.

Abstracting away complexity

In the “Web2” world, no-code apps are powerful tools that just makes building faster. There are many examples of no-code platforms that enable simplicity with a birds-eye view clarity, and in many cases, without much loss of customizability. Think of middleware API builders such as Zapier, or Make; and for building web pages and UIs, think of Webflow and Figma. We aim to create similar experiences for Web3 and the Polkadot ecosystem. This will be attractive for new active participants in the ecosystem to be able to weave together transaction flows that fits their use-case without having to learn how to interact with pallets, Polkadot.js or similar under the hood functionality, allowing people to quickly create MVP’s, prototypes and cross chain applications.


Minutes not weeks

It can take minutes rather than days or weeks to put together novel and useful workflows that will contain a variety of features from various chains, including: assets, DEXs, GOV, NFTs, Identity, Scheduling, Staking, Defi, etc.


We Currently Support

As we have completed 2 milestones from W3F grants, and have continued building for another 8 weeks, we have made continuous progress, and have introduced more features, such as: support for a DEX, web tools like webhooks and http requests, and have transformed the U/X.

Wallets/Signers

Subwallet

Talisman

Polkadot JS Extension

Nova

Metamask

Fearless

Thanks to Subwallet for making it easy for us to integrate multiple wallets with subconnect for our initial MVP. 

Chains

Polkadot

Kusama

HydraDX

Moonbeam

AssetHub

Interlay

We support the basic XCM cross-chain transfers for the chains ( shared above). 


Core Team

Ramsey Ajram

Hi I’m Ramsey, I’ve been interested in building something that makes this ecosystem - of parachains, primitives, pallets and tools - more accessible to more people, especially the creative and entrepreneurial minds who have a desire to solve their own problems and/or solve other people’s problems, so they can be more effective at experimenting and realizing their ideas and automating their systems and processes..

I have quite a wide ranging experience in the ecosystem. I discovered the Substrate framework in December 2020. I’ve spent 6 months getting my bearings, watching a bunch of Dan Forbes weekly substrate videos. Followed Josh Orndorff’s breadcrumbs, and nagged Dan Shields for answers.

I’m very familiar with the substrate/polkadot repo, and have launched a live parachain, taking it through a crowdloan on Kusama (kabocha parachain).

I am the product owner of “supersig” pallet+UI, (where you can create an org, like multisig but you can add and remove members).

I then attended the Polkadot Blockchain Academy, which took me from a hacky mechanic to a blockchain engineer. . And now I want to leverage all of that experience and knowledge gained, channel it into Bagpipes, and make life easier and fun for the next wave of users.

 

Filip Kalebo

Started working with information security in 2011 with a love for open source and an urge to explore. Since then, Filip has worked on offensive security for several Fortune 30 companies, trained a red team responsible for finding bugs in Amazon, Facebook and several large entities.

In the defensive line, Filip has worked on enterprise intrusion detection systems and anti-malware projects.

In 2014, he started to operate a public Bitcoin node service, thereafter snowballing into Ethereum and Monero development. Filip was introduced to Rust at an OpenSource meetup a few years ago, and is now combining his passion for Rust and web3. In 2021, he started as one of the first Rust developers for early stages of Picasso chain, moved a year later to Edgeware to perform a major substrate version upgrade, and from the pains of this experience, he was compelled to work on an open source project called Uptest, which was funded by the Polkadot Treasury.


Ideas and Use Cases

Here are a couple ideas about what you can build with Bagpipes. This is intended to get the juices flowing and give you some real context. Hopefully you can come up with even more awesome ideas and let us know.

Send -> Swap -> Send 

This is a Web3 only use case (available now):

Here we swap some DOT (from polkadot) to USDT and send to AssetHub in one fell swoop.

Save time jumping from 2 platforms, and making 3 separate signing actions, into 1 single signing ceremony, then execute the scenario.

Polkadot Node ->

xTransfer Action ->

HydraDX node -> Swap action -> HydraDX node

xTransferAction ->

AssetHub node

Select from the dropdown menu chain name, asset, address, amount

Send DOT from Polkadot to HydraDX

The node swap node pattern lets you choose which asset you want to exchange. 

then send the USDT to AssetHub. 

Receive the funds to the defined address on Asset Hub

 
 

The above bagpipes contain the nodes and actions to execute a send swap send in one signing ceremony. Meaning that you sign all the transactions safely at the beginning and then the flow is executed without interruption.


“The Witty Tweeter” Bagpipe

This is a Web3 to Web2 flow (available soon):

This is a Bagpipe use case that we have received from feedback from a notable user in the ecosystem.

The websocket it listening for referendum vote events, with filtering logic for critical moments, the http request gets the proposal from ~polkassembly, the GPT Assistant is programmed to be witty and concise, reads the proposal understands the event, curates and tweet, and then the final http request sends the tweet. 

Websocket

Websocket → HTTP Request edge

HTTP Request

GPT Assistant

HTTP Request

Listen for Votes on referendums on Polkadot

Check if the referendum is at an exciting moment (50/50 turning point)

If yes, then:

Get the related proposal

Define ChatGPTs system_message and prompt to curate a witty tweet related to the voting event and proposal info.

Send Tweet


Benefits to the ecosystem

  • Rapid: Quicker and easier to actualise ideas.

  • Inclusive: more people can become active builders.

  • Efficient: Time and resources can be saved on the repetitive and redundant elements.

 

With more ideas being experimented, and more people involved in the building process, all in less time, can lead to increased quality tools, utilities and cross chain Dapps.


Safety and Security:

From the way the user interacts and experiences Bagpipes, to providing warnings and risk messages, we always think defensively for our own code and for users. Currently we are in alpha so only the most curious and competent testers are advised to use Bagpipes. When we have a secure, well tested release then we will be happy to promote our product.

We only integrate well vetted projects that have a strong reputation and track record, whether web2 or web3.


Open Source Web3 Values:

  • Open source

  • Non custodial

  • Host/Run your own instance

  • Interact directly with the chains, no hidden transaction fees or extra usage costs.


Continuous building and learning from users

We continue to build and we are not stopping based on the treasury funding process. We strive to create something useful for people, we are getting a lot of interesting feedback and conducted product interviews with users who are excited to use Bagpipes to solve their pains and realize some of their previously unattainable wishes.


Milestones/Budget breakdown 

M0: Core Web Tools

Estimated delivery: 

Release version: 

Time: 

FTE: 

5 to 7 weeks

0.1.0

245 Hours

2

In Progress

No.

Name

Description

FTE

Total Hours:

0

Docker

Docker instance for instant self hosting

1

5

1

Documentation

User guides and documentation

1

10

2

Webhooks Module

Webhooks module for all scenarios (details below). 

2

50

3

HTTP Requests Module

An HTTP module that enables users to make http requests and receive event data that can be used in the workflow. (details below)

2

60

4

Control Panel with Pill Nodes

A Pill Node is a placeholder event object key that can be dragged and dropped into a field. It is a variable that represents a value not yet known. . 


The Control Panel is a menu that contains all the no-code tools such as event objects, logic statements, and crypto utilities (hashing, etc). 


The user can Drag and drop Pill nodes into input fields as well as add logi statements such as “if/else then/else’, switch statements, etc. 

1

20

5

UI Second Version

Redesign of UI with clean nodes, toolbar, popover menus and submenus. 

1

100

     

Total:

245

Milestone Feature information:

further details in our main doc

M1: Polkadot Core Primitives: Actions, Templates, Remarks and Queries

Estimated delivery: 

Release version: 

Time: 

FTE: 

6 to 8 weeks

0.2.0

370 Hours

2

no.

Name

Description

FTE

Total Hours:

0

Docker

Docker instance for instant self hosting

1

5

1

Documentation

User guides and documentation on a clean Docusaurus v2 site

1

20

2

Remark 

Action: System -> Remark Integrate on-chain remarks as in action type in the UI playground.

2

30

3

Templates

Create and/or use templates generated from workflows (features below)

2

85

4

API 

All milestones features available in Bagpipes JSON http api.

2

30

5

Query 

Action: Support querying for 6 pallets focussing on the main methods of each pallet (details below)

2

150

6

Tests

Full test suit coverage for UI and API

2

30

7

Project management

Community communication, release notes, bug tracking, QA

2

20

     

Total:

370

An action is a Bagpipes term for executing some kind of action, whether or not it requires signing. 

Milestone Feature information:

further details in our main doc

M2 - OpenGov and Staking 

Estimated delivery: 

Release version: 

Time: 

FTE: 

5 to 7 weeks weeks

0.3.0

295 Hours

2

Number

Name

Description

FTE

Total 

hours:

0

Docker

Docker instance for instant self hosting

1

5

1

Documentation

User guides and documentation

1

20

2

Vote and Delegate

  • Support for voting in referendums. (Add a warning message for the new multiple lock period.)

  • Polkadot delegate voting power action

2

80

Staking 

  • Bond/Unbond to nomination pools Polkadot bond to nomination pool action / form/ table view


  • Nominate validator Polkadot Nominate validator action / form

1

60

4

API integration

Features made available in Bagpipes API.

2

20

5

Project management

Community communication, release notes, bug tracking, QA

1

20

6

Scenario Template improvement

Scenario Template sharing feature improvement. 

¨C8C

Thumbnail image generation. Preview linked scenario image with OpenGraph.

2

50

7

Tests

Full test suit coverage for UI and API

2

40

     

Total:

295

Milestone Feature information:

further details in our main doc

M3 - Ink/Smart Contracts, Light Client (Smoldot) and Mobile view:

Estimated delivery: 

Release version: 

Time: 

FTE: 

8 to 10 weeks

0.4.0

605 Hours

2

No.

Name

Description

FTE

Total Hours:

0

Docker

Docker instance for instant self hosting

1

5

1

Documentation

Documentation and user guides

1

20

2

Ink integration

Ability to create and interact with Ink smart contracts

2

140

3

Smoldot support

Support for connecting to chains with Smoldot light client 

2

100

4

Mobile compatible UI

Simplified mobile UI Support

2

100

5

Tests

Full test suit coverage for UI and API

1

40

6

API integration 

All milestones features available in Bagpipes API.

2

80

7

Project management

Community communication, release notes, bug tracking, QA

2

20

     

Total:

605

Milestone Feature information:

further details in our main doc

Milestones Summary

 

No.

Name

Description

Total Hours

Cost per Milestone @

$125/hr $100/hr

M0

Core Web Tools

Webhooks Module, HTTP Requests  Module, Control Panel with Pill Nodes, UI Second Version

245

$24 500 

M1

Polkadot Core Primitives

Polkadot Core Primitives:  and Actions, Templates, Webhooks, Remarks and Queries

370

$37 000 

M2

OpenGov and Staking 

Vote and Delegate, Staking, AssetHub, API integration, Project management, Scenario template improvements. 

295

$31 500

M3

Ink/Smart Contracts, Light Client (Smoldot) and Mobile view

Ink integration, Smoldot support, Mobile compatible UI, SDK/ API  integration and documentation revamp

605

$60 500

   

Total:

1515

$151 500

 

Delivery

All code will be publicly available on our Github: https://github.com/xcmsend.

Releases together with project updates will be reported to the community on a monthly basis.

If you want to get updates more frequently, feel free to tune into our discord server:

Bagpipes Org Discord link

Public Documentation: 

All documentation and user guides will be published here:

https://xcmsend.github.io/

Public instance: 

Bagpipes Org, will provide a free public instance of the latest version of Bagpipes, hosted here: https://app.xcmsend.com

Docker images:

We maintain docker images that are synced to the public releases here: https://hub.docker.com/r/xcmsend/xcmsend

https://xcmsend.github.io/deployments/docker.html

Funding Terms:

Project multisig address: (Bagpipes Org) 15iN8aQnPuX4vjcovenu15EtnYfcwbtiXjeKGRN3KkkzNNtt

The funds will be sent from the Treasury to a ⅔ multisig with the members:

  • Rust Syndicate (FIlip) — 16Ziip8mK44sh7uKFkZgHbapxoKrRxriZaDdzqNAPW9Wr6x4

  • Decentration (Ramsey) - 16Uj8FfDPhYNbK3nErtwUk9eiXy5j5JLux61QcjRbMJiiHW7

  • JelliedOwl  (Paul) -  15AxeitVU5FQ5nV8P9Dr7AXXNQBXgFSem7NZv4cicxeTK4v4

 

  • Funds will be paid out on a monthly basis. (50% will be managed by Rust Syndicate and 50% by Decentraiton).

  • Some funds will be liquidated and some will be staked.

  • Funds will not be used to vote on any project that involves Rust Syndicate or Decentration.

We ask the treasury for a total of 151 500 USD, converted in DOT using the EMA30(5.847) rate from Subscan. JelliedOwl(Paul) is an rpc provider and an independent third party to act as a third signatory.

We appreciate your support and look forward to making Polkadot the most simple, usable and accessible software for cross-chain dapp building. 

Check out the main doc for more details.

Reply
Up
Share
  • Metadata
  • Timeline2
Comments

As a non-developer, this looks like something that will be extremely beneficial. Well put together proposal, Aye.

Reply
Up 1

I think it is what Polkadot needed right now. It is 100% matching with Gavins's Accords idea, full support !

Reply
Up