✓ Verified 💻 Development ✓ Enhanced Data

Klutch

OpenClaw skill for Klutch programmable credit card API integration.

Rating
4.5 (25 reviews)
Downloads
26,071 downloads
Version
1.0.0

Overview

OpenClaw skill for Klutch programmable credit card API integration.

Complete Documentation

View Source →

Klutch Skill

OpenClaw skill for Klutch programmable credit card API integration.

Overview

This skill provides a command-line interface for accessing Klutch credit card data through their GraphQL API. It supports viewing card information, transaction history, spending categories, and spending analysis.

Prerequisites

  • Klutch Account: Active Klutch credit card account
  • API Credentials: Client ID and Secret Key from Klutch developer portal
  • Python 3.10+: Required for running the scripts

Configuration

Environment Variables

Set your Klutch API credentials:

bash
# Option 1: Direct credentials
export KLUTCH_CLIENT_ID="your-client-id"
export KLUTCH_SECRET_KEY="your-secret-key"

# Option 2: 1Password CLI integration (requires 'op' CLI)
export KLUTCH_1PASSWORD_ITEM="Klutch API Credential"

Configuration File

The skill stores configuration and session tokens in ~/.config/klutch/:

bash
~/.config/klutch/
├── config.json      # User preferences
└── token.json       # Cached session token (auto-managed)

Configuration Options

Edit ~/.config/klutch/config.json to customize:

json
{
  "api": {
    "endpoint": "https://graphql.klutchcard.com/graphql",
    "timeout": 30
  }
}

Commands Reference

Balance

bash
# Check card information
python scripts/klutch.py balance

# Example output:
{
  "cards": [
    {
      "id": "crd_xxx",
      "name": "Martin Kessler",
      "status": "ACTIVE"
    }
  ]
}

Transactions

bash
# List recent transactions (last 30 days)
python scripts/klutch.py transactions

# Limit results
python scripts/klutch.py transactions --limit 25

# Example output:
{
  "transactions": [
    {
      "id": "txn_xxx",
      "amount": -100.0,
      "merchantName": "Checking",
      "transactionStatus": "SETTLED"
    }
  ]
}

Card Management

#### List Cards

bash
python scripts/klutch.py card list

#### View Categories

bash
python scripts/klutch.py card categories

#### View Spending by Category

bash
python scripts/klutch.py card spending

Configuration Management

bash
# Get configuration value
python scripts/klutch.py config get api.timeout

# Set configuration value
python scripts/klutch.py config set api.timeout 60

# View all configuration
python scripts/klutch.py config get

API Endpoints

The skill connects to Klutch's GraphQL API:

EnvironmentEndpoint
Productionhttps://graphql.klutchcard.com/graphql
Sandboxhttps://sandbox.klutchcard.com/graphql

Authentication Flow

The skill uses Klutch's session token authentication:

  • Initial Request: Sends createSessionToken mutation with Client ID and Secret Key
  • Token Caching: Stores the JWT session token in ~/.config/klutch/token.json
  • Subsequent Requests: Uses cached token until it expires
  • Auto-Refresh: Creates a new session token when the cached one fails

Hypothetical Agent Use Cases

The Klutch skill enables agents to handle their own budget or provide personal finance assistance.

  • Sub-Agent Budgeting: Create a virtual card for a sub-agent to pay for its own usage (AWS, OpenAI) with a hard limit.
  • Budget Guardrails: Monitor spending categories (e.g., 'FOOD') and alert the user if they exceed a monthly budget.
  • Transaction Alerts: Watch for specific merchants or unusual activity and notify the user immediately.
  • Expense Summary: Summarize monthly spending and categorize transactions for personal journaling.

Error Handling

The skill handles common error scenarios:

  • Authentication failures: Prompts to verify credentials
  • Session expiration: Automatically creates a new session token
  • Network errors: Clear error messages with retry suggestions
  • GraphQL errors: Detailed error messages from the API

Integration with OpenClaw

Using from OpenClaw Sessions

bash
# OpenClaw can invoke the skill directly
klutch balance
klutch transactions --limit 5
klutch card list

Troubleshooting

Authentication Issues

If you receive authentication errors:

  • Verify your credentials with python scripts/klutch.py config get
  • Delete ~/.config/klutch/token.json to force re-authentication
  • Check that your API credentials are correct

Session Token Issues

Force token refresh:

bash
rm ~/.config/klutch/token.json

Security Notes

  • Never commit credentials to version control
  • The skill stores tokens in ~/.config/klutch/token.json
  • Session tokens are refreshed automatically when needed

Installation

Terminal bash

openclaw install klutch
    
Copied!

💻Code Examples

export KLUTCH_1PASSWORD_ITEM="Klutch API Credential"

export-klutch1passworditemklutch-api-credential.txt
### Configuration File

The skill stores configuration and session tokens in `~/.config/klutch/`:

└── token.json # Cached session token (auto-managed)

-tokenjson--cached-session-token-auto-managed.txt
### Configuration Options

Edit `~/.config/klutch/config.json` to customize:

}

.txt
## Commands Reference

### Balance

}

.txt
### Card Management

#### List Cards

python scripts/klutch.py config get

python-scriptsklutchpy-config-get.txt
## API Endpoints

The skill connects to Klutch's GraphQL API:

| Environment | Endpoint |
|-------------|----------|
| Production | `https://graphql.klutchcard.com/graphql` |
| Sandbox | `https://sandbox.klutchcard.com/graphql` |

## Authentication Flow

The skill uses Klutch's session token authentication:

1. **Initial Request**: Sends `createSessionToken` mutation with Client ID and Secret Key
2. **Token Caching**: Stores the JWT session token in `~/.config/klutch/token.json`
3. **Subsequent Requests**: Uses cached token until it expires
4. **Auto-Refresh**: Creates a new session token when the cached one fails

## Hypothetical Agent Use Cases

The Klutch skill enables agents to handle their own budget or provide personal finance assistance.

*   **Sub-Agent Budgeting**: Create a virtual card for a sub-agent to pay for its own usage (AWS, OpenAI) with a hard limit.
*   **Budget Guardrails**: Monitor spending categories (e.g., 'FOOD') and alert the user if they exceed a monthly budget.
*   **Transaction Alerts**: Watch for specific merchants or unusual activity and notify the user immediately.
*   **Expense Summary**: Summarize monthly spending and categorize transactions for personal journaling.

## Error Handling

The skill handles common error scenarios:

- **Authentication failures**: Prompts to verify credentials
- **Session expiration**: Automatically creates a new session token
- **Network errors**: Clear error messages with retry suggestions
- **GraphQL errors**: Detailed error messages from the API

## Integration with OpenClaw

### Using from OpenClaw Sessions

klutch card list

klutch-card-list.txt
## Troubleshooting

### Authentication Issues

If you receive authentication errors:
1. Verify your credentials with `python scripts/klutch.py config get`
2. Delete `~/.config/klutch/token.json` to force re-authentication
3. Check that your API credentials are correct

### Session Token Issues

Force token refresh:
example.sh
# Option 1: Direct credentials
export KLUTCH_CLIENT_ID="your-client-id"
export KLUTCH_SECRET_KEY="your-secret-key"

# Option 2: 1Password CLI integration (requires 'op' CLI)
export KLUTCH_1PASSWORD_ITEM="Klutch API Credential"
example.sh
~/.config/klutch/
├── config.json      # User preferences
└── token.json       # Cached session token (auto-managed)
example.json
{
  "api": {
    "endpoint": "https://graphql.klutchcard.com/graphql",
    "timeout": 30
  }
}
example.sh
# Check card information
python scripts/klutch.py balance

# Example output:
{
  "cards": [
    {
      "id": "crd_xxx",
      "name": "Martin Kessler",
      "status": "ACTIVE"
    }
  ]
}

Tags

#coding_agents-and-ides #api #integration

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author kesslerio
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install klutch