TopRank Skills

Home / Claw Skills / API Integration / Xaman Wallet Integration
Official OpenClaw rules 54%

Xaman Wallet Integration

Xaman Wallet Integration

Stars

0

Installs

0

Status

ACTIVE

Visibility

PUBLIC

安装方式

直接复制以下提示词,发送给你的 AI 助手即可完成安装。

请先检查是否已安装 SkillHub 商店,若未安装,请根据 https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/skillhub.md 安装 SkillHub 商店,然后安装 Xaman Wallet Integration 技能。 若已安装,则直接安装 Xaman Wallet Integration 技能。

Overview

Skill Key
harleyscodes/xaman-wallet-integration
Author
harleyscodes
Source Repo
openclaw/skills
Version
-
Source Path
skills/harleyscodes/xaman-wallet-integration
Latest Commit SHA
1f25fd6e7fd897832c0b378afa0a896e7e6ebf2a

Extracted Content

SKILL.md excerpt

# 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 origin

Related Claw Skills