Skip to main content

Browse, purchase gift cards, and pay bills through Snaplii — safe payments for AI agents

Project description

Agent-to-Merchant Payments by Snaplii

Payments are broken for AI agents.

Snaplii unlocks real-world commerce with a safe, tokenized payment layer — powered by 500+ merchant gift cards — and is the only one that actually saves you money (up to 10% per transaction), on top of any existing deals or promotions. New users can unlock an exclusive welcome offer: $10 off your first $30 transaction.


The Problem

AI agents can already:

  • decide what to buy
  • compare options
  • navigate merchant platforms

But they still can't safely pay. Payments require trust, compliance, and risk control — things AI agents are not designed to handle.

Giving agents access to cards is not a solution. It's a risk.


The Solution

Snaplii introduces a new model: User → Agent → Snaplii → Merchant

  • Users fund Snaplii
  • Agents operate within a controlled boundary
  • Each transaction is pre-funded, isolated, and non-reusable

No shared credentials. No persistent risk.

In addition, Snaplii embeds value directly into the payment layer
transactions can save up to 10% and stack seamlessly with existing merchant deals and promotions.


Works With Any LLM

Snaplii is model-agnostic. It works with any AI agent or LLM platform:

Integration How Best for
REST API Direct HTTP calls to aipayment.snaplii.com/v2/* Any language, any framework
Python CLI pip install snaplii-cli Terminal agents, scripts, automation
MCP Server Model Context Protocol (stdio) Claude Desktop, OpenClaw, Cursor, VS Code
OpenClaw Skill clawhub install snaplii-a2m-payment OpenClaw agents

Whether you're building with Claude, ChatGPT, GPT-4, Gemini, LLaMA, Mistral, OpenClaw, or any other model — if it can make HTTP calls or run a CLI, it can use Snaplii.


Table of Contents


Requirements

  • Python 3.10+
    CLI works on Python 3.9+, but the MCP server requires Python 3.10+.
  • Git
  • Snaplii Mobile App
    Required to generate your API key.
Mac users: check your Python version
python3 --version

If your Python version is below 3.10, install Python via Homebrew:

brew install python@3.12

Then use python3.12 and pip3.12 instead of python3 / pip3 in the steps below.


Quick Start

1. Get Your API Key via Snaplii App

Before using the CLI or configuring your AI agent, generate a secure API key from the Snaplii mobile app:

  1. Download the Snaplii app for iOS or Android.
  2. Register an account and bind a payment method to load your Snaplii Cash balance.
  3. In the app, go to More → Payment Methods → AI Payment Management.
  4. Tap + New API Key.
  5. Set a name, define the permission scope, and set a hard spending limit.
    • Example scopes: Read-only or Purchase
  6. Copy the API key.
    • Format: snp_sk_live_...
    • Keep it safe — it will only be shown once.

2. Get the Code

git clone https://github.com/Snaplii-Inc/agent-to-merchant-payments.git
cd agent-to-merchant-payments

3. Install the CLI

pipx is the smoothest path. It installs the CLI in its own isolated environment and puts the snaplii executable on your PATH.

macOS

brew install pipx
pipx ensurepath

Linux

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Windows

Option A — Scoop (recommended):

scoop install pipx
pipx ensurepath

Option B — pip:

py -m pip install --user pipx

If you see a warning that pipx.exe is not on PATH, run the following from the displayed path:

.\pipx.exe ensurepath

Restart your terminal after running ensurepath.

Note: If you installed Python from the Microsoft Store, use python3 instead of py.

All platforms

pipx install -e ./snaplii-cli

Open a new terminal window so the updated PATH takes effect, then verify the installation:

snaplii --help

If you see command not found, see Troubleshooting.

4. Authenticate

snaplii init

The CLI will prompt for your API key via hidden input (like a password prompt). The key is used only to obtain a session token and is never stored on disk. Agent ID is auto-derived from the key.

5. Use the CLI

snaplii browse tags --prov CA                        # Browse gift card categories (CA or US)
snaplii browse brand --id CB...                      # See denominations and cashback
snaplii quote --item-id CB...-CT... --price 50       # Preview price with voucher/cashback
snaplii giftcard list                                # View owned cards
snaplii purchase --item-id CB...-CT... --price 50 --prov ON   # Buy a card

--item-id is formatted as {cardBrandId}-{cardTemplateId}. Both IDs are available from snaplii browse brand.

Note on --prov: For browse tags, use country code (CA for Canada, US for United States). For purchase, use province/state code (ON, QC, BC, NY, CA, TX, etc.).


CLI Commands

Command Purpose
snaplii init Authenticate with your Snaplii API key
snaplii config show Show current config and auth status
snaplii browse tags Browse card categories and brands
snaplii browse brand --id ID View brand details, denominations, and cashback
snaplii giftcard list List owned gift cards
snaplii giftcard detail --card-no NO View card redemption code and PIN
snaplii quote --item-id ID --price P Preview price with voucher/cashback before buying
snaplii purchase --item-id ID --price P --prov PROV Purchase a gift card (prov = province/state)
snaplii smart cashback --brand-id ID --amount A Calculate cashback savings
snaplii smart dashboard View card inventory summary

Integration Guides

REST API (Any LLM)

The simplest integration — works with any language, any LLM, any framework. Just make HTTP calls.

Base URL: https://aipayment.snaplii.com

Step 1: Authenticate

curl -X POST https://aipayment.snaplii.com/v2/auth/token \
  -H "Content-Type: application/json" \
  -d '{"agent_id": "my-agent", "api_key": "snp_sk_live_..."}'

Returns a JWT token. Use it as Authorization: Bearer <token> for all subsequent calls.

Step 2: Browse gift cards

curl https://aipayment.snaplii.com/v2/card-brands?channel=HOME_PAGE&locationProv=CA \
  -H "Authorization: Bearer <token>"

Step 3: Get a price quote

curl -X POST https://aipayment.snaplii.com/v2/quote \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "orderInfo": {"orderType": "GIFT_CARD", "item": {"itemId": "CB...-CT...", "price": "50"}, "orderContext": {"giftOrder": "false"}, "businessChannel": "APP"},
    "paymentContext": {"specifiedPrimaryPaymentMethod": "SNAPLII_CREDIT", "voucherOption": "BEST_FIT", "cashbackOption": "USE"}
  }'

Step 4: Purchase

curl -X POST https://aipayment.snaplii.com/v2/purchase \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "orderInfo": {"orderType": "GIFT_CARD", "item": {"itemId": "CB...-CT...", "price": "50"}, "orderContext": {"giftOrder": "false"}, "businessChannel": "APP"},
    "paymentContext": {"specifiedPrimaryPaymentMethod": "SNAPLII_CREDIT", "voucherOption": "BEST_FIT", "cashbackOption": "USE"},
    "delivery": {"type": "WALLET", "immediateSend": "true"},
    "locationProv": "ON"
  }'

MCP Server (Claude, OpenClaw, Cursor)

The MCP server exposes 13 tools via the Model Context Protocol. Works with any MCP-compatible client.

Step 1: Install dependencies

pip3 install -e ./snaplii-cli
pip3 install "mcp[cli]"

If you get an externally-managed-environment error, add --break-system-packages.

Step 2: Authenticate

snaplii init

Enter your API key when prompted.

Step 3: Configure your MCP client

Claude Desktop

Edit your config file:

OS Config file location
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "snaplii": {
      "command": "/absolute/path/to/python",
      "args": ["/absolute/path/to/agent-to-merchant-payments/mcp-server/server.py"]
    }
  }
}

Restart Claude Desktop after saving.

Claude Code
claude mcp add snaplii -- python3 /path/to/agent-to-merchant-payments/mcp-server/server.py
OpenClaw
clawhub install snaplii-a2m-payment

Or add to your OpenClaw MCP config:

{
  "mcp": {
    "servers": {
      "snaplii": {
        "command": "python3",
        "args": ["/path/to/agent-to-merchant-payments/mcp-server/server.py"]
      }
    }
  }
}
Cursor / VS Code / Other MCP clients

Any MCP-compatible client can connect to the Snaplii MCP server. The server runs via stdio:

python3 /path/to/agent-to-merchant-payments/mcp-server/server.py

Configure your client to launch this command as an MCP stdio server.

Available MCP Tools

Tool Description
snaplii_init Authenticate with API key (not stored)
snaplii_config_show Show auth status
snaplii_browse_tags Browse gift card categories (CA/US)
snaplii_browse_brand Brand details and denominations
snaplii_giftcard_list List owned gift cards
snaplii_giftcard_detail Card redemption code (sensitive)
snaplii_quote Preview price with voucher/cashback
snaplii_purchase Buy a gift card (requires confirmation)
snaplii_apikey_list List API keys
snaplii_apikey_create Create API key
snaplii_apikey_delete Delete API key
snaplii_cashback_calc Calculate cashback savings
snaplii_dashboard Owned card inventory summary

Claude Code Skill

mkdir -p ~/.claude/skills/snaplii-cli
cp skills/snaplii-cli.md ~/.claude/skills/snaplii-cli/SKILL.md

OpenClaw Skill

Install from ClawHub:

clawhub install snaplii-a2m-payment

Or browse on ClawHub: snapliiai/snaplii-a2m-payment


Components

agent-to-merchant-payments/
├── snaplii-cli/       # Python CLI — pip-installable, works with any agent
├── mcp-server/        # MCP server — Claude, OpenClaw, Cursor, VS Code
├── skills/            # Claude Code skill definition
├── clawhub-publish/   # ClawHub skill artifact
└── clawhub-plugin/    # ClawHub MCP bundle plugin

Troubleshooting

snaplii: command not found after install

The console script was placed somewhere not on your PATH. Run:

python3 -m pip show -f snaplii-cli

Look for an entry ending in bin/snaplii or Scripts\snaplii.exe on Windows. Then either prepend that directory to PATH in your shell configuration, or reinstall using pipx.

externally-managed-environment from pip

Your system Python forbids global package installs. Use pipx, which is recommended, or a virtual environment. As a last resort, append --break-system-packages to the pip command.

MCP server: ModuleNotFoundError: No module named 'mcp' or 'snaplii'

The Python interpreter your MCP client is using does not have the required dependencies. Confirm with:

/absolute/path/to/python -c "import mcp, snaplii; print('ok')"

If it fails, install the missing packages into that specific interpreter:

pip install -e ./snaplii-cli
pip install "mcp[cli]"

REST API returns 401 or 403

Your JWT token has expired. Call /v2/auth/token again with your API key to get a new token.


Security

  • Limited authorization: agents can only spend from Snaplii Cash, your prepaid balance.
  • Scoped API keys: keys can be restricted to PAY_READ view-only or PAY_WRITE view + purchase.
  • Spending limits: strict per-key consumption caps are set via the mobile app.
  • No credential storage: API keys are used once to obtain a token and are never saved to disk.
  • Data protection: card redemption codes and PINs are strictly masked and never exposed without explicit user consent.

License

This project is licensed under the Apache License 2.0.

See the Apache License 2.0 for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snaplii_cli-0.7.0.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snaplii_cli-0.7.0-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file snaplii_cli-0.7.0.tar.gz.

File metadata

  • Download URL: snaplii_cli-0.7.0.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for snaplii_cli-0.7.0.tar.gz
Algorithm Hash digest
SHA256 a3b3dc4e6f89e4ec3b828bb1f535c12f2e98629ddc67f8d8b1033ee784609db2
MD5 e9a69c3f9b887b3901032171fbfe0cb4
BLAKE2b-256 9af90a4a83339e6e0d300cd3b66bfdd4ea1446455d67af0fc094e7327dc2608a

See more details on using hashes here.

File details

Details for the file snaplii_cli-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: snaplii_cli-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for snaplii_cli-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12ad030ac5fc2f23533c387a07ba72bbe469910bcb0ad12fb7c5f599bf04e70e
MD5 9f98c0fd892877a04720566a86786eb6
BLAKE2b-256 8c9aa883d064cb2f38782a5aa2ce5ce3121eb64642d1acd0e6c46d71bdff7744

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page