WooCommerce
A drop-in WordPress plugin that runs your loyalty program end-to-end inside WooCommerce. Customers earn points on every order (centralized — stored in your DB). At any time they can connect their Deakee wallet and bridge points on-chain to trade across the Deakee network — and bring them back when they want to spend at your store again.
Upload via WordPress → Plugins → Add NewTwo integration modes
The same plugin code supports both modes. Start in OAuth2 mode today; layer in the bridge later as a config flip — no data migration.
Centralized loyalty in your DB synced to Deakee via OAuth2. No chain, no exchange — but customers see balances in Deakee and you can accept Deakee vouchers.
- Works against today's deakee.com/api/oauth/* backend.
- No tokens, no legal exposure as an issuer.
- Upgrades to bridge mode in one config flip.
Deploy an ERC-8063 contract; customers can mint centralized balance to on-chain tokens and trade them on the Deakee exchange.
- Adds exchange listing and cross-brand redemption.
- Requires the Deakee relayer (not yet shipped).
- Same plugin code as OAuth2 mode — opt in when ready.
Install
- Download the plugin zip (or clone from GitHub).
- Upload via WordPress → Plugins → Add New → Upload Plugin → activate.
- WooCommerce → Deakee Loyalty: set earn rate, redemption rules, and paste your Deakee partner API key.
- Click "Deploy My Token" to create your brand's ERC-8063 contract on Sepolia (one-time).
- Done — customers earn on every order; the "Send to Deakee" button shows up in their account page for bridging.
Example
// Earn is centralized — no chain involvement:
add_action('woocommerce_order_status_completed', function($order_id) {
$order = wc_get_order($order_id);
$points = DeakeeLoyalty::computePoints($order->get_total_cents());
DeakeeLoyalty::members()->credit(
$order->get_user_id(),
$points,
"wc_order_$order_id",
);
});
// Bridge is user-initiated — fires only when the customer
// clicks "Send N points to my Deakee wallet" in their account:
DeakeeLoyalty::bridge()->withdraw($user_id, $amount);How Deakee connects to your plugin
Your partner API key authenticates calls to the Deakee relayer. The OAuth2 authorize/token URLs are used once per customer to fetch the wallet address (scope: identity only).
| authorize_url | https://deakee.com/oauth2/authorize (scope=identity, one-time wallet link) |
| token_url | https://deakee.com/oauth2/token |
| api_base_url | https://deakee.com/api/relayer/v1 (mint, burn, deploy) |
Verify conformance
Before going live, run the official conformance verifier against your deployment. It checks the centralized ledger, identity OAuth flow, bridge mint/burn wiring, and idempotency.
npx @deakee/loyalty-verifier \
--partner-api-key <your key> \
--plugin-url <your plugin URL> \
--contract-address <your ERC-8063 contract> \
--test-user-email test@example.comStuck? Read the full README or open an issue at github.com/deakee/loyalty/issues.