accounts
Version:
Tempo Accounts SDK
126 lines (90 loc) • 5.7 kB
Markdown
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset=".github/logo-dark.svg">
<source media="(prefers-color-scheme: light)" srcset=".github/logo-light.svg">
<img alt="accounts" src=".github/logo-light.svg" width="auto" height="100">
</picture>
</p>
<p align="center"><b>Accounts SDK for Apps and Wallets building on Tempo.</b></p>
<p align="center">
<a href="#quick-prompt">Quick Prompt</a> · <a href="#install">Install</a> · <a href="#documentation">Documentation</a> · <a href="#examples">Examples</a> · <a href="#development">Development</a> · <a href="#license">License</a>
</p>
---
## Quick Prompt
Prompt your agent:
```
Read docs.tempo.xyz/accounts and integrate Tempo Wallet into my application
```
## Install
```bash
npm i accounts
```
```bash
pnpm i accounts
```
```bash
bun i accounts
```
## Documentation
For documentation and guides, visit [docs.tempo.xyz/accounts](https://docs.tempo.xyz/accounts).
## Getting Help
Have questions or building something cool with the Accounts SDK?
Join the Telegram group to chat with the team and other devs: [@mpp_devs](https://t.me/mpp_devs)
## Examples
| Example | Description |
| ----------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [basic](./examples/basic) | Wagmi-based setup using the `tempoWallet` connector to connect to Tempo Wallet. |
| [cli](./examples/cli) | Minimal CLI setup to connect and authorize local keys using Tempo Wallet. |
| [webauthn](./examples/webauthn) | Domain-bound passkey example using Wagmi and the `webAuthn` connector. |
| [access-key](./examples/access-key) | Authorize access keys using Tempo Wallet to submit transactions without prompts. |
| [access-key-and-webauthn](./examples/access-key-and-webauthn) | Authorize access keys using domain-bound Passkeys. |
| [fee-payer](./examples/fee-payer) | Sponsor transactions via Tempo Wallet. |
| [fee-payer-and-webauthn](./examples/fee-payer-and-webauthn) | Sponsor transactions using a Cloudflare Worker with domain-bound Passkeys. |
| [mpp](./examples/mpp) | Auto-pay HTTP `402` responses served by a Hono server using `mppx/hono`. |
## Development
Requires [Docker](https://docs.docker.com/get-docker/) and [OrbStack](https://orbstack.dev/) (recommended on macOS for automatic HTTPS `.accounts.local` domains).
```sh
pnpm dev # start all dev services via docker compose
pnpm build # build library
pnpm check # lint + format
pnpm check:types # type checks
pnpm test # run tests
```
### Services
| Service | OrbStack URL |
| ---------------- | ----------------------------------- |
| Playground | `https://playground.accounts.local` |
| Dialog Reference | `https://dialog-ref.accounts.local` |
| Docs | `https://docs.accounts.local` |
| Wagmi Playground | `https://wagmi.accounts.local` |
## Deployment
The docs site is configured for Vercel as a monorepo project.
| Setting | Value |
| -------------- | ------------ |
| Root Directory | `site` |
| Build Command | `pnpm build` |
| Dev Command | `pnpm dev` |
Set `VITE_BASE_URL` to the production docs origin when using a custom domain.
### Playgrounds
| Playground | Command | Description |
| ---------------------------- | ---------------- | -------------------------------------------- |
| [web](./playgrounds/web) | `pnpm dev` | Web playground for dialog + adapter testing. |
| [wagmi](./playgrounds/wagmi) | `pnpm dev:wagmi` | Wagmi-based playground with connectors. |
| [cli](./playgrounds/cli) | `pnpm dev:cli` | CLI playground for device-code auth flow. |
### Reference Implementations
The `ref-impls/` directory contains reference implementations for building on the Account SDK:
| Directory | Description |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ref-impls/dialog/` | Minimal, unstyled embed dialog app demonstrating how to build a custom embed using the `Remote` API. Select `dialogRefImpl` in the web playground's adapter dropdown to test against it. |
| `ref-impls/cli-auth/` | Minimal React + Cloudflare/Vite host reference for device-code CLI auth: built-in code-auth endpoints plus a single unstyled approval screen and local smoke client. |
## License
<sup>
Licensed under either of <a href="LICENSE-APACHE">Apache License, Version
2.0</a> or <a href="LICENSE-MIT">MIT license</a> at your option.
</sup>
<br>
<sub>
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in these packages by you, as defined in the Apache-2.0 license,
shall be dual licensed as above, without any additional terms or conditions.
</sub>