---
name: "@abstract"
slug: "abstract"
description: "Official AGW Reusables registry from Abstract Foundation for building on the Abstract Global Wallet (AGW) chain. Components cover: AGWProvider (session setup), ConnectWalletButton, SIWEButton (Sign-In with Ethereum), OnboardingDialog, CreateSessionKeyButton, AbstractProfile, AbstractAppVoting, and config utilities for abstract contracts and AI rule files. Built on shadcn/ui + Next.js; requires the @abstract-foundation/agw-react SDK. Free, open-source. Use for: any Abstract-chain dApp front-end that needs wallet connection, SIWE auth, and session-key management UI out of the box."
category: "Crypto/web3"
tags: ["ai", "auth", "buttons", "cards", "charts", "crypto", "hooks", "marketing", "media", "onboarding", "overlays"]
framework: "react"
license: null
author: "Abstract-Foundation"
website: "https://build.abs.xyz"
github: "https://github.com/Abstract-Foundation/agw-reusables"
registry: "https://build.abs.xyz/registry.json"
pro: false
pro_url: null
github_stars: 14
component_count: 13
generated_at: "2026-07-28T08:00:50.948Z"
---

# @abstract

Official AGW Reusables registry from Abstract Foundation for building on the Abstract Global Wallet (AGW) chain. Components cover: AGWProvider (session setup), ConnectWalletButton, SIWEButton (Sign-In with Ethereum), OnboardingDialog, CreateSessionKeyButton, AbstractProfile, AbstractAppVoting, and config utilities for abstract contracts and AI rule files. Built on shadcn/ui + Next.js; requires the @abstract-foundation/agw-react SDK. Free, open-source. Use for: any Abstract-chain dApp front-end that needs wallet connection, SIWE auth, and session-key management UI out of the box.

## Links

- Website: https://build.abs.xyz
- GitHub: https://github.com/Abstract-Foundation/agw-reusables
- Registry JSON: https://build.abs.xyz/registry.json
- Directory page: https://sh4dcn.vercel.app/registry/abstract
- This file: https://sh4dcn.vercel.app/md/abstract.md

## Install

```sh
# add the whole registry (shadcn CLI)
npx shadcn@latest add https://build.abs.xyz/registry.json
pnpm dlx shadcn@latest add https://build.abs.xyz/registry.json
bunx shadcn@latest add https://build.abs.xyz/registry.json
# clone the source repo
git clone https://github.com/Abstract-Foundation/agw-reusables.git
# fetch the raw registry index
curl -s https://build.abs.xyz/registry.json
```

## Components (13)

| name | type | description | install |
| --- | --- | --- | --- |
| connect-wallet-button | registry:component | A connect wallet button using Abstract Global Wallet with dropdown menu when connected | `npx shadcn@latest add https://build.abs.xyz/r/connect-wallet-button/json` |
| abstract-profile | registry:component | A profile component that displays user profile pictures from Abstract Portal with tier-based styling and loading states | `npx shadcn@latest add https://build.abs.xyz/r/abstract-profile/json` |
| agw-provider | registry:component | Provider component that wraps your application with Abstract Global Wallet and React Query | `npx shadcn@latest add https://build.abs.xyz/r/agw-provider/json` |
| siwe-button | registry:component | A streamlined SIWE authentication button that handles wallet connection, message signing, and authentication state | `npx shadcn@latest add https://build.abs.xyz/r/siwe-button/json` |
| session-keys | registry:component | A comprehensive session key management button that handles creation, validation, and revocation of Abstract Global Wallet session keys | `npx shadcn@latest add https://build.abs.xyz/r/session-keys/json` |
| onboarding-dialog | registry:component | A configurable multi-step onboarding dialog that guides users through AGW authentication (wallet connection, SIWE, session keys) with progress indication | `npx shadcn@latest add https://build.abs.xyz/r/onboarding-dialog/json` |
| portfolio-chart | registry:component | An interactive area chart that displays Abstract Global Wallet portfolio value over time with multiple time period selections | `npx shadcn@latest add https://build.abs.xyz/r/portfolio-chart/json` |
| use-optimistic-write-contract | registry:hook | An experimental hook for optimistic transaction execution using Abstract's unstable_sendRawTransactionWithDetailedOutput endpoint to get instant transaction fe… | `npx shadcn@latest add https://build.abs.xyz/r/use-optimistic-write-contract/json` |
| abstract-contracts | registry:lib | Configuration for common Abstract network contract addresses and ABIs for tokens and DEX infrastructure | `npx shadcn@latest add https://build.abs.xyz/r/abstract-contracts/json` |
| abstract-app-voting | registry:component | A voting button for Abstract apps that checks vote status and submits votes via Abstract Global Wallet | `npx shadcn@latest add https://build.abs.xyz/r/abstract-app-voting/json` |
| nft-card | registry:component | A single NFT card component that displays an NFT with image, name, collection, and balance | `npx shadcn@latest add https://build.abs.xyz/r/nft-card/json` |
| cursor-ai-config | registry:lib | Cursor project rules and MCP configuration optimized for Abstract ecosystem development with AGW, wagmi, and Next.js | `npx shadcn@latest add https://build.abs.xyz/r/cursor-ai-config/json` |
| claude-config | registry:lib | Claude Code project instructions and MCP server configuration optimized for Abstract ecosystem development with AGW, wagmi, and Next.js | `npx shadcn@latest add https://build.abs.xyz/r/claude-config/json` |

## For AI agents

```text
You are adding components from @abstract to a shadcn-compatible project.
1. Read this file (https://sh4dcn.vercel.app/md/abstract.md) for the component list.
2. Fetch the machine-readable index: https://build.abs.xyz/registry.json
3. Install a single component with its install command from the table above.
4. Full structured record: https://sh4dcn.vercel.app/json (library slug: abstract).
```
