humanpages
Search and hire real humans for tasks — photography, delivery, research, and more
Xaman Wallet Integration
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install harleyscodes/xaman-wallet-integrationInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
<script src="https://xumm.app/assets/cdn/xumm-oauth2-pkce.min.js"></script>
const XummPkce = (window as any).XummPkce;
const xumm = new XummPkce(API_KEY, {
redirectUrl: window.location.origin + "/dashboard"
});
// Listen for auth events
xumm.on("success", async (state) => {
const account = (await xumm.state())?.me?.account;
console.log("Connected:", account);
});
// Start auth flow (opens popup)
await xumm.authorize();
Get your API key from: https://xumm.app/dashboard/developer
Environment variable: NEXT_PUBLIC_XAMAN_API_KEY
new XummPkce(apiKey, options) - Initialize SDKxumm.authorize() - Start OAuth flow, opens Xaman appxumm.state() - Get current user sessionxumm.logout() - Clear sessionxumm.on("success", callback) - Listen for successful authxumm.on("error", callback) - Listen for errors{
redirectUrl: string, // Where to redirect after auth
rememberJwt: boolean, // Persist session in localStorage (default: true)
storage: Storage, // Custom storage (default: localStorage)
implicit: boolean // Use implicit flow (default: false)
}
The SDK auto-restores sessions. Call xumm.logout() before authorize() to force fresh login.
xumm.state().then(s => s.me.account) after success eventThese signals come from indexed source analysis and may lag behind changes. Check the current source files.
# Xaman Wallet Integration
## Quick Start
1. **Load the SDK** (in layout.tsx or HTML head):
```html
<script src="https://xumm.app/assets/cdn/xumm-oauth2-pkce.min.js"></script>
```
2. **Initialize and connect**:
```typescript
const XummPkce = (window as any).XummPkce;
const xumm = new XummPkce(API_KEY, {
redirectUrl: window.location.origin + "/dashboard"
});
// Listen for auth events
xumm.on("success", async (state) => {
const account = (await xumm.state())?.me?.account;
console.log("Connected:", account);
});
// Start auth flow (opens popup)
await xumm.authorize();
```
## API Key
Get your API key from: https://xumm.app/dashboard/developer
Environment variable: `NEXT_PUBLIC_XAMAN_API_KEY`
## Key Methods
- `new XummPkce(apiKey, options)` - Initialize SDK
- `xumm.authorize()` - Start OAuth flow, opens Xaman app
- `xumm.state()` - Get current user session
- `xumm.logout()` - Clear session
- `xumm.on("success", callback)` - Listen for successful auth
- `xumm.on("error", callback)` - Listen for errors
## Options
```typescript
{
redirectUrl: string, // Where to redirect after auth
rememberJwt: boolean, // Persist session in localStorage (default: true)
storage: Storage, // Custom storage (default: localStorage)
implicit: boolean // Use implicit flow (default: false)
}
```
## Session Recovery
The SDK auto-restores sessions. Call `xumm.logout()` before `authorize()` to force fresh login.
## Troubleshooting
- **Popup blocked**: Browser popup blocker may prevent authorize() - call from user action
- **Account undefined**: Use `xumm.state().then(s => s.me.account)` after success event
- **CORS errors**: Ensure redirectUrl matches your app's originSearch and hire real humans for tasks — photography, delivery, research, and more
Reusable skill templates for OpenClaw AI agents. Templates for API integration, data processing, web scraping, CLI tools, and file processing.
Query historical crypto market data from 0xArchive across Hyperliquid, Lighter.xyz, and HIP-3. Covers orderbooks, trades, candles, funding rates, open interest, liquidations, and data quality. Use when the user...
Install, configure, and manage 1-SEC — an open-source, all-in-one cybersecurity platform (16 modules, single binary) on Linux servers and VPS instances. Use when the user asks to secure a server, install securi...