Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags:
related:
- node-json-rpc.md
- webhooks-details.md
updated: 2026-04-22
updated: 2026-05-27
---
# WebSocket Subscriptions

Expand Down Expand Up @@ -205,6 +205,15 @@ ws.on("message", (data) => {
- `newPendingTransactions` is very high volume. Use tight filters if available, or switch to `alchemy_pendingTransactions` with `addresses` and `hashesOnly: true` to keep bandwidth (and billing) predictable.
- If WebSockets are unavailable, fall back to HTTP polling with coarse intervals and backoff.

## Non-EVM chains

Same WebSocket scheme (`wss://<network>.g.alchemy.com/v2/$ALCHEMY_API_KEY`), different message protocols:

- **Solana subscriptions** (`accountSubscribe`, `programSubscribe`, `logsSubscribe`, `signatureSubscribe`, `slotSubscribe`, `rootSubscribe`) — Solana-specific RPC, different envelope from `eth_subscribe`. See [Solana Subscription API](https://www.alchemy.com/docs/reference/subscription-api).
- **UTXO chains (Bitcoin / BCH / LTC / DOGE)** — Trezor Blockbook protocol passed through unchanged. JSON envelope is `{ "id", "method", "params" }`. Push subscriptions: `subscribeNewBlock`, `subscribeNewTransaction`, `subscribeAddresses`, `subscribeFiatRates`. Only one active subscription per event type per connection. See the per-chain "UTXO WebSockets" reference page under each Bitcoin-ecosystem chain in the docs.
- **`subscribeNewTransaction`** requires Blockbook's `-enablesubnewtx` flag on the backend — may not be enabled everywhere. Fall back to `subscribeAddresses` if you see no events.

## Official Docs
- [Subscription API Overview](https://www.alchemy.com/docs/reference/subscription-api)
- [eth_subscribe](https://www.alchemy.com/docs/chains/ethereum/ethereum-api-endpoints/eth-subscribe)
- [UTXO WebSockets (Bitcoin)](https://www.alchemy.com/docs/chains/bitcoin/utxo-websockets)
21 changes: 18 additions & 3 deletions plugins/alchemy/skills/alchemy-api/references/solana-das-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ tags:
- solana
related:
- solana-rpc.md
updated: 2026-02-23
updated: 2026-05-27
---
# Solana DAS (Digital Asset Standard) API

Expand All @@ -28,9 +28,11 @@ Returns metadata for a single asset by its ID.
| `id` | string | Yes | Asset ID (mint address, base58) |
| `displayOptions.showUnverifiedCollections` | boolean | No | Include unverified collections |
| `displayOptions.showCollectionMetadata` | boolean | No | Include collection metadata |
| `displayOptions.showZeroBalance` | boolean | No | Include assets with zero balance |
| `displayOptions.showInscription` | boolean | No | Include inscription details (singular — `showInscriptions` is rejected) |
| `displayOptions.showFungible` | boolean | No | Include fungible token details |
| `displayOptions.showNativeBalance` | boolean | No | Include native SOL balance |
| `displayOptions.showInscriptions` | boolean | No | Include inscription data |

> The server accepts `options` as an alias of `displayOptions`. Send only one — including both returns a `duplicate field` error. `showNativeBalance` and `showGrandTotal` are NOT supported (rejected with `unknown field`).

### Request

Expand Down Expand Up @@ -311,6 +313,19 @@ curl -s -X POST https://solana-mainnet.g.alchemy.com/v2/$ALCHEMY_API_KEY \
- Pagination is required for large wallets. Use `page` and `limit`.
- Compressed assets require `getAssetProof` for on-chain operations.

### Shared `displayOptions` / `options` shaping flags
The same `DisplayOptions` schema is accepted on `getAsset`, `getAssets`, `getAssetsByOwner`, `getAssetsByAuthority`, `getAssetsByCreator`, `getAssetsByGroup`, and `searchAssets`. All flags are boolean and default to `false`:

| Flag | Effect |
|------|--------|
| `showUnverifiedCollections` | Include unverified collections instead of skipping them. |
| `showCollectionMetadata` | Include collection metadata. |
| `showZeroBalance` | Include assets with zero balance. |
| `showInscription` | Include inscription details. Spelled singular — `showInscriptions` (plural) is rejected. |
| `showFungible` | Include fungible assets in the result. |

The server accepts `options` as an alias of `displayOptions`. Send only one — including both returns a `duplicate field` error. `showNativeBalance` and `showGrandTotal` are NOT supported and return `unknown field`.

## Official Docs
- [DAS APIs for Solana](https://www.alchemy.com/docs/chains/solana/das-api)
- [getAsset](https://www.alchemy.com/docs/chains/solana/solana-api-endpoints/getasset)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,39 +1,61 @@
---
id: references/wallets-account-kit.md
name: 'Account Kit'
description: 'Account Kit is Alchemy''s wallet SDK for onboarding users and managing wallet UX. Use it for embedded wallet flows or seamless authentication.'
name: 'Account Kit (v4) and the v5 stack'
description: 'Account Kit v4 is the legacy SDK for signer + smart-account UX (still maintained for signer-only flows). New builds should target the v5 stack: @alchemy/wallet-apis + Privy as signer.'
tags:
- alchemy
- wallets
related:
- wallets-wallet-apis.md
- wallets-smart-wallets.md
- wallets-gas-manager.md
- operational-auth-and-keys.md
updated: 2026-02-05
updated: 2026-05-27
---
# Account Kit
# Account Kit (v4) and the v5 stack

## Summary
Account Kit is Alchemy's wallet SDK for onboarding users and managing wallet UX. Use it for embedded wallet flows or seamless authentication.
"Account Kit" now refers to the **v4** SDK family (`@account-kit/*`, `@aa-sdk/*`). Wallet APIs **v5** is the recommended stack for new builds. The docs site labels the legacy nav section "Account Kit (v4)" to make this explicit.

## Primary Use Cases
- Email/social login wallet creation.
- Embedded wallet UX in web apps.
- Signing and sending transactions with minimal setup.
## v4 vs v5 routing

| Use case | Recommended package(s) | Notes |
|---|---|---|
| New smart-account integration (EVM or Solana) | `@alchemy/wallet-apis@^5` + `@alchemy/smart-accounts@^5` | The v5 stack. Solana support landed via `wallet_prepareCalls` + `wallet_sendPreparedCalls` (CAIP-2 IDs `solana:mainnet`, `solana:devnet`). |
| Low-level bundler client | `@alchemy/aa-infra@^5` | Replaces `@account-kit/infra` from the v4 era. |
| Embedded signer / auth UX (passkey, email, social, EOA) | Account Kit v4 (`@account-kit/react`, `@account-kit/signer`) | v5 has no signer SDK yet. For new builds, Alchemy's recommended pairing is **Wallet APIs v5 + Privy as signer**. |
| Existing Account Kit v4 app | Stay on v4 for now | v4 is still maintained. The `aa-sdk` repo dropped v4 reference docs from `main`; use `aa-sdk@v4.x.x` branch for source. |
| Migration off Account Kit v4 → v5 | See [v5 migration guide](https://www.alchemy.com/docs/wallets/resources/migration-v5) | Plus the v4 banner on each affected page in `/docs/wallets/...`. |

## What changed in v5 (highlights)
- Package surface renamed: `@account-kit/*` and `@aa-sdk/*` → `@alchemy/wallet-apis`, `@alchemy/smart-accounts`, `@alchemy/aa-infra`.
- Solana transactions go through Wallet APIs alongside EVM (anyOf-style param schema; the same `wallet_prepareCalls` / `wallet_sendPreparedCalls` methods).
- BSO (Bundler Sponsored Operations) now requires three zero fields, not two — see `wallets-gas-manager.md` and `wallets-bundler.md`.
- v5 SDKs use viem-style `bigint` for amounts (`fromAmount`, `minimumToAmount`). Raw JSON-RPC still uses `0x`-hex strings.
- Beta notices have been removed across the wallets section — Wallet APIs v5 is GA.

## Primary Use Cases (Account Kit v4)
- Embedded wallet UX in web apps (signer-driven authentication).
- Email/social/passkey wallet creation.
- Signing flows that don't yet have a v5 equivalent.

## Integration Notes
- Typically used client-side with a wallet UI layer.
- Pair with `wallets-gas-manager.md` for sponsored transactions.
- For v5 builds, route most "Account Kit"-shaped questions to `wallets-wallet-apis.md`.

## Gotchas & Edge Cases
- Ensure you store session/auth tokens securely.
- Keep wallet creation flows resilient to network errors.
- `aa-sdk` reference URLs on `main` now 404 — use the `v4.x.x` branch.
- Account Kit v4 has no Solana support; use v5 Wallet APIs for Solana.
- Mixing v4 and v5 packages in the same app is not supported.

## Related Files
- `wallets-wallet-apis.md` (v5 surface)
- `wallets-smart-wallets.md`
- `wallets-gas-manager.md`
- `operational-auth-and-keys.md`

## Official Docs
- [Account Kit Core Reference](https://www.alchemy.com/docs/wallets/reference/account-kit/core)
- [Intro to Account Kit](https://www.alchemy.com/docs/wallets/concepts/intro-to-account-kit)
- [v5 migration guide](https://www.alchemy.com/docs/wallets/resources/migration-v5)
- [aa-sdk v4.x.x branch](https://github.com/alchemyplatform/aa-sdk/tree/v4.x.x) — source of truth for v4 reference symbols.
31 changes: 28 additions & 3 deletions plugins/alchemy/skills/alchemy-api/references/wallets-bundler.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ tags:
related:
- wallets-smart-wallets.md
- wallets-gas-manager.md
updated: 2026-04-22
- wallets-wallet-apis.md
updated: 2026-05-27
---
# Bundler

Expand All @@ -25,18 +26,42 @@ When configuring the bundler, ensure you target the correct EntryPoint version f
## Primary Use Cases
- AA transaction submission via standard ERC-4337 JSON-RPC endpoints.
- UserOperation lifecycle handling (submit, track, drop-and-replace).
- BSO (Bundler Sponsored Operations) for gas-free smart-account flows — see `wallets-gas-manager.md`.

## v5 client SDK
Bundler APIs are available in `@alchemy/aa-infra` (v5; replaces `@account-kit/infra` from the v4 era). For higher-level abstractions, use `@alchemy/wallet-apis` (Wallet APIs v5).

```ts
import { createAlchemySmartAccountClient } from "@alchemy/aa-infra";
// pair with @alchemy/smart-accounts for the account factory
```

## BSO request shape
Bundler Sponsored Operations require **all three** gas fields zeroed (not just two):

```ts
await bundlerClient.sendUserOperation({
calls: [{ to, data, value }],
maxFeePerGas: 0n,
maxPriorityFeePerGas: 0n,
preVerificationGas: 0n,
});
```

The `x-alchemy-policy-id` header goes on the bundler transport via `fetchOptions.headers` — no `createPaymasterClient` needed, BSO does not use a paymaster contract. If you forget `preVerificationGas`, the bundler returns `precheck failed: preVerificationGas too low`.

## Integration Notes
- Ensure correct chain configuration and EntryPoint version.
- Monitor bundler latency and failures.
- Use `eth_getUserOperationByHash` to poll UserOp status; if still null after timeout, drop and replace with higher fees.
- For `Replacement Underpriced` errors, increase both `maxFeePerGas` and `maxPriorityFeePerGas` by at least 10%.
- Bundler APIs are available in `@account-kit/infra`. For higher-level abstractions, use Wallet APIs or aa-sdk.

## Related Files
- `wallets-smart-wallets.md`
- `wallets-gas-manager.md`
- `wallets-wallet-apis.md`

## Official Docs
- [Bundler Overview](https://www.alchemy.com/docs/wallets/transactions/low-level-infra/bundler/overview)
- [Bundler Overview](https://www.alchemy.com/docs/wallets/low-level-infra/bundler/overview)
- [Bundler Sponsored Operations](https://www.alchemy.com/docs/wallets/bundler-api/bundler-sponsored-operations)
- [Bundler FAQs](https://www.alchemy.com/docs/wallets/reference/bundler-faqs)
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ tags:
related:
- wallets-smart-wallets.md
- wallets-bundler.md
updated: 2026-04-22
- wallets-wallet-apis.md
updated: 2026-05-27
---
# Gas Manager

Expand All @@ -19,14 +20,33 @@ Gas Manager (paymaster) enables gas sponsorship and cost control for smart walle
- Gasless user onboarding.
- Sponsoring specific methods or contracts.
- ERC-20 token gas payments (pay gas with any supported token).
- BSO (Bundler Sponsorship) policies for EIP-7702 undelegation.
- BSO (Bundler Sponsorship) policies for EIP-7702 undelegation and other native-gas-free flows.

## Live Source of Truth — Dashboard
The list of supported ERC-20 tokens and networks rotates more often than docs can keep up. Treat the **Tokens & Networks** panel of the [Gas Manager Dashboard](https://dashboard.alchemy.com/gas-manager) as the authoritative source for what's available right now. The published docs FAQ enumerates the same tokens but lags by a release or two.

## ERC-20 Gas Payment Supported Networks
Native USDC/USDT/wETH coverage spans Ethereum mainnet/Sepolia, Arbitrum (Mainnet, Sepolia, **Nova**), Optimism, Base, Polygon, BNB, Celo, Worldchain, Stable mainnet, Stable testnet, and Monad testnet. Any token supported by Alchemy's [Token Prices By Address API](https://www.alchemy.com/docs/data/prices-api/prices-api-endpoints/prices-api-endpoints/get-token-prices-by-address) can be enabled via the [Admin API `create-policy`](https://www.alchemy.com/docs/wallets/api/gas-manager-admin-api/admin-api-endpoints/create-policy) endpoint even if it's not in the Dashboard preset list.

For a token or network that isn't supported, contact `wallets@alchemy.com`.

## BSO Chain Support
Bundler Sponsored Operations (BSOs) are a bundler feature and are supported on **every chain that has both bundler and gas sponsorship support**, with the exception of **MegaETH** (coming soon). Always confirm against the live [Wallet APIs supported chains](https://www.alchemy.com/docs/wallets/supported-chains) matrix before launch.

## Integration Notes
- Define strict sponsorship policies.
- Monitor for abuse and enforce caps.
### BSO request shape (triple-zero gas fields)
To opt into BSO on a user operation, set ALL THREE of `maxFeePerGas`, `maxPriorityFeePerGas`, **and** `preVerificationGas` to `0n` (client SDK) or `"0x0"` (raw JSON-RPC). The bundler treats triple-zero as the signal to cover gas under the BSO policy. The `x-alchemy-policy-id` header goes on the **bundler** transport (no `createPaymasterClient` — BSO does not use a paymaster contract).

```ts
// v5 client SDK
await bundlerClient.sendUserOperation({
calls: [{ to: "0x000000000000000000000000000000000000dEaD", data: "0x" }],
maxFeePerGas: 0n,
maxPriorityFeePerGas: 0n,
preVerificationGas: 0n,
});
```

If you forget `preVerificationGas`, the bundler returns `precheck failed: preVerificationGas too low` (`-32000`).

## ERC-20 Token Gas Payment — Revert Risk
When using **post-operation** mode for ERC-20 gas payments:
Expand All @@ -35,10 +55,17 @@ When using **post-operation** mode for ERC-20 gas payments:
- **Use post-operation** when operations are unlikely to revert (works with all ERC-20 tokens).
- **Use pre-operation** when operations may revert — the token transfer happens before execution so the paymaster is always compensated.

## Integration Notes
- Define strict sponsorship policies.
- Monitor for abuse and enforce caps.

## Related Files
- `wallets-smart-wallets.md`
- `wallets-bundler.md`
- `wallets-wallet-apis.md`

## Official Docs
- [Gas Manager Admin API](https://www.alchemy.com/docs/wallets/low-level-infra/gas-manager/policy-management/api-endpoints)
- [Pay Gas With Any Token](https://www.alchemy.com/docs/wallets/transactions/pay-gas-with-any-token)
- [Bundler Sponsored Operations](https://www.alchemy.com/docs/wallets/bundler-api/bundler-sponsored-operations)
- [Gas Manager FAQs](https://www.alchemy.com/docs/wallets/gas-manager-admin-api/gas-manager-faqs)
Original file line number Diff line number Diff line change
@@ -1,27 +1,44 @@
---
id: references/wallets-solana-notes.md
name: 'Solana Wallet Notes'
description: 'Solana wallet integration differs from EVM. Use Solana-specific tooling and RPC semantics.'
description: 'Solana wallet integration via the v5 Wallet APIs (wallet_prepareCalls / wallet_sendPreparedCalls). Also covers Solana RPC and DAS routing.'
tags:
- alchemy
- wallets
- solana
related:
- wallets-wallet-apis.md
- solana-rpc.md
- solana-das-api.md
updated: 2026-02-05
updated: 2026-05-27
---
# Solana Wallet Notes

## Summary
Solana wallet integration differs from EVM. Use Solana-specific tooling and RPC semantics.
Wallet APIs **v5** (GA) supports Solana alongside EVM via the same `wallet_prepareCalls` and `wallet_sendPreparedCalls` methods. The request schema is `anyOf`-shaped — same RPC endpoint, different fields based on whether you target EVM or Solana. Account Kit v4 has no Solana support; v5 Wallet APIs is the path.

## Guidance
- Use Solana JSON-RPC for account data and program interactions.
- Use DAS for NFT and compressed asset data.
## Request shape (Solana)
- `chainId` is CAIP-2: `"solana:mainnet"` or `"solana:devnet"`.
- `from` is a base58-encoded Solana address (32–44 chars). Validation rejects `0x`-style hex.
- Send `instructions` (an array of raw Solana instructions: `{ programId, accounts, data }`) instead of EVM's `calls`.
- Prepared response carries `type: "solana-transaction-v0"` (Solana v0 versioned transaction). EVM responses use `type: "user-operation-v0.7"` and similar.
- Sign the returned tx with the user's Solana keypair, then submit it back through `wallet_sendPreparedCalls`.

## Routing
- Wallet onboarding + smart-account flows on Solana → `wallets-wallet-apis.md` (v5).
- Solana JSON-RPC (account data, transactions, signatures, block info) → `solana-rpc.md`.
- Solana NFT / compressed-asset / DAS data → `solana-das-api.md`.

## Gotchas
- Don't mix CAIP-2 IDs and decimal `chainId` — Solana payloads MUST use `solana:<cluster>`.
- The same Wallet API method namespace (`wallet_*`) handles both EVM and Solana; ensure your transport/headers (especially `x-alchemy-policy-id` for sponsorship) are correct for the network you're targeting.
- Sponsored gas on Solana is gated differently than EVM — confirm with Alchemy support if you need sponsored Solana flows.

## Related Files
- `wallets-wallet-apis.md`
- `solana-rpc.md`
- `solana-das-api.md`

## Official Docs
- [Wallet APIs Solana support](https://www.alchemy.com/docs/wallets/api/wallet-api-endpoints/wallet-prepare-calls)
- [Solana API Quickstart](https://www.alchemy.com/docs/reference/solana-api-quickstart)
Original file line number Diff line number Diff line change
@@ -1,25 +1,41 @@
---
id: references/wallets-supported-chains.md
name: 'Wallet Supported Chains'
description: 'Wallet tooling may support a subset of chains compared to raw RPC. Always confirm chain support before launch.'
description: 'Wallet tooling supports a different chain set than raw RPC. Confirm chain support against the live dashboard before launch.'
tags:
- alchemy
- wallets
related:
- wallets-gas-manager.md
- operational-supported-networks.md
updated: 2026-02-05
updated: 2026-05-27
---
# Wallet Supported Chains

## Summary
Wallet tooling may support a subset of chains compared to raw RPC. Always confirm chain support before launch.
Wallet tooling (Wallet APIs v5, bundler, paymaster, Gas Manager) supports a subset / superset of chains compared to raw RPC. Always confirm against live sources before launch.

## Sources of truth
- [Wallet APIs supported chains matrix](https://www.alchemy.com/docs/wallets/supported-chains) — chain-by-chain capability axes (bundler, paymaster, ERC-20 gas payments, BSOs).
- **Tokens & Networks** panel of the [Gas Manager Dashboard](https://dashboard.alchemy.com/gas-manager) — authoritative live list of which networks have ERC-20 gas payments enabled and which tokens are preset.
- For tokens that aren't preset, the Admin API can enable any token supported by Alchemy's [Token Prices By Address API](https://www.alchemy.com/docs/data/prices-api/prices-api-endpoints/prices-api-endpoints/get-token-prices-by-address).

## Recently added wallet chains (capability axis)
- **Arbitrum Nova** — re-added to the ERC-20 paymaster supported list.
- **BNB Smart Chain** — ERC-20 gas payments (USDC, DAI).
- **Celo** — ERC-20 gas payments (USDC, USDT, CELO).
- **Stable mainnet / testnet** — ERC-20 gas payments (USDT0).

These additions don't replace the docs/dashboard matrix — check there before assuming a chain × capability cell is live.

## Guidance
- Check Alchemy dashboard for wallet-specific chain availability.
- Test on testnet before enabling production.
- A chain having bundler ≠ that chain having gas sponsorship. Cross-reference both columns.

## Related Files
- `wallets-gas-manager.md`
- `operational-supported-networks.md`

## Official Docs
- [Supported Chains](https://www.alchemy.com/docs/reference/node-supported-chains)
- [Wallet APIs supported chains](https://www.alchemy.com/docs/wallets/supported-chains)
- [Supported Networks (RPC)](https://www.alchemy.com/docs/reference/node-supported-chains)
Loading