Wallet SystemWallet System
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later
  • Identity & Mobile

    • KYC
    • QR Code Payments
  • Wallet Central

    • Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings (index)
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General
    • Recharge
    • Checkout
    • Withdrawal
    • Payout (PayPal/Stripe)
    • KYC
    • Cashback
    • Referral
    • Multilevel
    • BNPL
    • QR Pay
    • Notifications
    • Wallet Central
    • Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
Buy Now
View Demo
  • Getting Started

    • Introduction
    • Quick Start
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later
  • Identity & Mobile

    • KYC
    • QR Code Payments
  • Wallet Central

    • Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings (index)
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General
    • Recharge
    • Checkout
    • Withdrawal
    • Payout (PayPal/Stripe)
    • KYC
    • Cashback
    • Referral
    • Multilevel
    • BNPL
    • QR Pay
    • Notifications
    • Wallet Central
    • Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary
Support
  • Getting Started

    • Introduction
    • Quick Start — Wallet Live in 5 Minutes
    • Features
    • Installation
    • First-Time Setup
    • Admin Tour
  • Wallet Core

    • Core Wallet
    • Wallet Payment Gateway
    • Recharge / Top-up
    • Wallet Transfer
    • My Wallet Page
    • Shortcodes
  • Earn & Reward

    • Cashback Engine
    • Referral Program
    • Multilevel Referral
    • Daily Login Reward
    • Invite Friends
    • Deposit / Top-up Bonus
  • Spend & Payout

    • Checkout Discount
    • Checkout Restriction
    • Withdrawal
    • PayPal Payout
    • Stripe Payout
    • Refund to Wallet
    • Buy Now Pay Later (BNPL)
  • Identity & Mobile

    • KYC (Know Your Customer)
    • QR Code Payments
  • Wallet Central

    • Wallet Central Overview
    • Endpoint & Routing
    • CTA Discovery
    • Home Dashboard
    • Add Funds
    • Withdraw
    • Withdrawals List + Detail
    • Send Money
    • QR Pay
    • Payment Requests
    • Refer & Earn
    • Transactions
    • Settings (customer)
    • KYC Flow
    • Architecture
    • Tweaks & Responsive
    • Security
    • Admin Controls
  • Admin Tools

    • Admin Settings
    • Bulk Credit / Debit
    • Analytics Dashboard
  • Settings Tabs

    • General Settings
    • Recharge Settings
    • Checkout Settings
    • Withdrawal Settings
    • Payout Settings (PayPal + Stripe)
    • KYC Settings
    • Cashback Settings
    • Referral Settings
    • Multilevel Settings
    • BNPL Settings
    • QR Pay Settings
    • Notifications Settings
    • Wallet Central Settings
    • Third-Party Integrations
    • API Keys
  • Notifications

    • Email Notifications
    • SMS Notifications
  • Developer

    • REST API
    • Filters & Hooks
  • Help

    • Troubleshooting
    • FAQ
    • Glossary

API Keys

Admin UI to mint API keys for the wallet REST endpoints. Used by server-to-server integrations, BI tools, custom dashboards.

Want the feature overview?

See REST API for endpoint reference, authentication, request/response shapes, and rate limits.

Where

Wallet → Settings → API Keys.

API Keys tab — list, mint new, revoke, delete

Step-by-step Setup

1. Add new key

Click Add new → opens the mint form.

2. Description

Human label. Use to remember what the key is for.

Examples:

  • Accounting export script
  • Slack alert bot
  • Mobile app v2
  • BigQuery sync (read-only)

3. Scope

ScopeAllows
readGET endpoints only — wallets, transactions, analytics
writePOST / PUT — wallet credit / debit, KYC decisions, withdrawal approve / reject
read_writeboth

Recommended: start with read. Bump to read_write only when the integration actually needs to mutate.

4. Owner user

Which WP user the key acts as. The key inherits the owner's capabilities.

For server-to-server, usually a dedicated service-account user with manage_woocommerce.

5. IP whitelist (optional)

CSV of IP addresses allowed to use the key. Caller IP must match.

Examples:

  • 203.0.113.42 (single IP)
  • 203.0.113.42, 198.51.100.10 (multiple)

Leave blank to allow any IP.

6. Generate

Click Generate. Modal shows:

Consumer key:    ck_abc123def456...
Consumer secret: cs_xyz789uvw012...

Copy both immediately — secret is hashed at rest and won't show again.

7. Use the key

Pass via Basic Auth header on REST requests:

curl -u ck_abc123def456:cs_xyz789uvw012 \
  "https://yourstore.com/wp-json/wkwp-wallet/v1/wallets?per_page=20"

See REST API for endpoint details.

Manage Existing Keys

The list table shows:

ColumnNotes
Descriptionwhat you typed
Scoperead / write / read_write
OwnerWP user
Last usedtimestamp + caller IP
Createdtimestamp
ActionsRevoke / Delete

Revoke

Stops the key working without deleting the row. Useful when you suspect compromise but want to keep the audit trail.

Delete

Permanently removes the key. Confirm with typed input.

Rotate

To rotate: Generate a new key with the same scope → update your integration to use it → revoke the old.

Common Combos

Use caseScopeIP whitelist
Read-only BI syncreadyour BI server IP
Mobile appread_writeempty (mobile IPs vary)
Trusted internal scriptread_writeserver IP
Slack bot polling KPIsreadSlack hook server IP

Verify

Test the key with curl:

curl -u ck_xxx:cs_xxx \
  "https://yourstore.com/wp-json/wkwp-wallet/v1/wallets?per_page=5"

Expected: 200 with JSON. Errors:

StatusMeaning
401 invalid_credentialsKey wrong or revoked
403 forbidden_caller_ipIP not in whitelist
403 kyc_requiredThe endpoint enforces KYC and the owner user lacks approved KYC
429 too_many_requestsRate-limit hit

Rate Limits

ScopeDefault
Per IP60 / minute
Per consumer_key600 / minute
Burst (5-second window)30

For higher limits, mint multiple keys.

Security Best Practices

DoDon't
Use unique keys per integrationShare keys across teams
Set IP whitelist when possibleLeave empty if your caller IP is stable
Pick the narrowest scope that worksDefault to read_write
Rotate every 90 daysUse the same key for years
Revoke unused keysJust delete (loses audit)

Troubleshooting

ProblemFix
Key always 401Check secret was copied correctly (no trailing whitespace)
403 forbidden_caller_ipCaller IP changed; update whitelist
Rate limit hitUse multiple keys to spread load
Permission denied on POSTOwner user lacks manage_woocommerce; or scope is read

Related

  • REST API
  • General Settings
Prev
Third-Party Integrations