> For the complete documentation index, see [llms.txt](https://learn.buildship.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.buildship.xyz/frontend-roadmap/web3-sdk.md).

# Web3 SDK

## Web3 SDK

it's a open-source React UI Kit that allows anyone to build web3 apps without prior web3 knowledge.

## Motivation

The premise is that on a top level, developer doesn't need to know about gas, transactions, smart-contract – we can have good defaults that work for any wallet and that provide good UI/UX and feedback.

Developer's job is building UI in React, web3-sdk handles all the rest. Developer only decides which data to take from inputs, which transactions to create on each button click – and every blockchain detail is handled by us; or presented to end user to decide.

## Implementation

As input, the SDK receives only the list of smart-contract addresses used in the app ; and a few API keys: Etherscan, Infura, Alchemy (optional), Onboard.js, Buildship (later when we're bigger).

On build step, the ABIs are fetched from etherscan or from our backend (see this endpoint used in widget <https://metadata.buildship.dev/api/info/0xFdf7BA4Edcb8F3F666239EBdA387506B3c598BD5?network_id=1> ).

## Drafts

<https://github.com/caffeinum/web3-ui><https://github.com/buildship-dev/web3-login>

## Reference

<https://github.com/thirdweb-dev/react>

## Roadmap

* make it work!
* gather some developer feedback;
* move from onboard.js to wagmi;
* use hooks everywhere;
* web3-login vs. web3-ui React component lib;
* implement build step thing so abstract away "smart-contracts" for the developer;
* transaction handling (popups, see pending txs, retry, re-fetch tx status);
* allow using [thegraph.com](http://thegraph.com) or our backend to make blockchain read requests faster (cache and combine multiple into one);
* non-React integrations: e.g. phaser.js;
* ENS support, NFT avatar support;
* all the fun stuff.
