SStock Hunter
Charades Coin for business

Turn community buying power into your next customer.

Charades Coin gives Charades Collective members subsidized buying power they can spend with participating businesses. Connect once, become part of the community economy, and start converting member value into real sales. Withdraw through Stripe when you need to, or consolidate settlement monthly to reduce fee overhead.

No client secret is ever placed in the browser. Payments are authorized and settled securely from your server.

At checkout

Pay with Charades Coin

Order totalA$84.00
Charades Coin applied− A$20.00
Customer paysA$64.00
Confirm order
Authorized before capture. Reversible on cancellation.

Why businesses connect

More than a discount. A new reason to choose you.

You gain access to a connected community while Charades Collective helps its members make their money go further. The customer sees immediate value; your business gains the sale.

A community ready to spend

Give Charades Collective members a compelling reason to choose your business when they are deciding where to buy.

Incremental sales from day one

Accept community-funded value at checkout and turn existing engagement into measurable orders, repeat visits, and larger baskets.

Discounts without carrying it alone

Charades Coin gives members subsidized buying power. Your business participates in the offer without building a loyalty currency from scratch.

Flexible at checkout

Customers can apply Charades Coin toward eligible purchases while your normal checkout continues handling any remaining amount.

Your value stays liquid

Withdraw captured Charades Coin through Stripe when you need it, or settle in a monthly batch to reduce payout frequency and associated fees.

Built for repeat business

A shared community currency keeps your brand visible inside the wider Charades ecosystem and gives members another reason to return.

Simple settlement flow

Safe for the customer. Predictable for you.

Charades Coin uses the Relics ledger to keep checkout state aligned with your order. Nothing is captured until your business is ready to complete the sale.

  1. 1

    Authorize

    Temporarily reserve the customer's Charades Coin when they confirm checkout.

  2. 2

    Capture

    Complete the transfer to your merchant treasury when the order is accepted or fulfilled.

  3. 3

    Reverse

    Release the reserved balance automatically if payment fails or the order is cancelled.

  4. 4

    Withdraw or batch

    Withdraw through Stripe when needed, or combine captured value into a monthly settlement to reduce payout frequency and fees.

Build with your AI coding agent

Paste one prompt. Get a production-shaped integration.

First create a Developers application and register your callback URL. Then replace the placeholders below and give the prompt to your coding agent.

Get client ID & secret
AI integration promptRelics-compatible
You are integrating TCM OAuth and Charades Coin payments into my website using the existing framework and architecture of my application.

Use these credentials and URLs:
- TCM OAuth client ID: <CLIENT_ID>
- TCM OAuth client secret: <CLIENT_SECRET>
- TCM OAuth API URL: https://www.thecrimsonmarket.com/mana
- TCM OAuth web URL: https://www.thecrimsonmarket.com
- Relics API base URL: https://www.thecrimsonmarket.com/relics
- OAuth callback URL in my app: <CALLBACK_URL>
- Relic currency key: charades-coin

OAuth endpoints:
- Authorization URL: https://www.thecrimsonmarket.com/oauth/authorize
- Token URL: https://www.thecrimsonmarket.com/mana/oauth/token
- Userinfo URL: https://www.thecrimsonmarket.com/mana/oauth/userinfo
- Currency discovery URL: https://www.thecrimsonmarket.com/relics/api/relics/currencies

Required server environment variables:
NEXT_PUBLIC_TCM_CLIENT_ID="<CLIENT_ID>"
TCM_OAUTH_CLIENT_SECRET="<CLIENT_SECRET>"
TCM_OAUTH_API_URL="https://www.thecrimsonmarket.com/mana"
NEXT_PUBLIC_TCM_OAUTH_WEB_URL="https://www.thecrimsonmarket.com"

Requirements:
1. Keep the OAuth client secret on the server only. Never expose it in browser code, logs, source control, or public environment variables.
2. Add TCM OAuth login using @crimsoncorp/oauth-react and register <CALLBACK_URL> exactly in the Developers portal.
3. Persist the signed-in TCM account ID from userInfo._id or userInfo.userId as accountId. Store email and display name when those claims are granted.
4. Fetch GET https://www.thecrimsonmarket.com/relics/api/relics/currencies and confirm data.currencies contains the key charades-coin before displaying Charades Coin at checkout.
5. Add Charades Coin as a partial or full payment option at checkout. Show the amount of Charades Coin applied and the remaining fiat total clearly before confirmation.
6. From a server route or server action, authorize the customer's balance with POST https://www.thecrimsonmarket.com/relics/api/relics/payment-authorizations using:
{
  "clientId": "<CLIENT_ID>",
  "clientSecret": process.env.TCM_OAUTH_CLIENT_SECRET,
  "accountId": "<SIGNED_IN_TCM_ACCOUNT_ID>",
  "amount": <CHARADES_COIN_AMOUNT>,
  "relicType": "charades-coin",
  "merchantReference": "<UNIQUE_ORDER_AUTH_REFERENCE>",
  "orderId": "<ORDER_ID>",
  "statementDescriptor": "<ORDER_DESCRIPTION>",
  "notes": "Charades Coin authorization for <ORDER_ID>",
  "expiresAt": "<OPTIONAL_ISO_DATE>"
}
7. Treat merchantReference as idempotent per OAuth client and persist data.authorizationId on the order.
8. Capture only after the order is accepted or paid by calling POST https://www.thecrimsonmarket.com/relics/api/relics/payment-authorizations/{authorizationId}/capture from the server with clientId, clientSecret, a unique settlementReference, and notes.
9. If the order fails, is cancelled, or is abandoned after authorization, call POST https://www.thecrimsonmarket.com/relics/api/relics/payment-authorizations/{authorizationId}/reversal from the server with clientId, clientSecret, a unique reversalReference, and notes.
10. Persist the capture response's settlement, settlementUserId, relic amount, order reference, and authorization ID for merchant reporting. Do not recalculate payout values later; the Relics ledger locks the settlement value at capture time.
11. Show captured Charades Coin in the merchant reporting view as withdrawable through Stripe or eligible for batched monthly settlement. Keep withdrawal and settlement actions server-side, and never represent unsettled funds as already paid out.
12. Handle retries safely and surface insufficient balance, expired authorization, disabled client, and unsupported currency errors without marking the order as paid.
13. Add automated tests for successful authorization/capture, reversal, duplicate idempotent requests, insufficient balance, and secret-bearing endpoints being inaccessible from the browser.
14. Return a concise list of files changed and any TCM-side configuration still required after implementation.

Implement the integration now using server-side routes/actions for every request containing clientSecret.

Make your business part of where the community spends.

Create your application, connect Charades Coin to checkout, and give community purchase decisions a direct path toward your business.

Start your integration