MCP server for minia2a.uk — discover and call 1,600+ x402 pay-per-call APIs with USDC payments.
Cred is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Issue, deduct, refund and sell credits: checkout, subscriptions, saved cards, escrow and wallets.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http aw3-technology-cred-mcp https://eutdgemlrpvnxfkkpvlu.supabase.co/functions/v1/cred-mcp --header 'x-api-key: ${X_API_KEY}' --header 'x-app-origin: ${X_APP_ORIGIN}' --header 'x-project-id: ${X_PROJECT_ID}'
# 2 — ask your agent for something these tools do
# list_credit_types, get_balance, issue_credits and 46 more
It needs X_API_KEY (Your cred.diy API key), X_APP_ORIGIN (Optional URL of your app, recorded as signup attribution), X_PROJECT_ID (Optional; the API key already identifies the project): this sends them in the x-api-key and x-app-origin and x-project-id headers from your environment, so export them first — its endpoint answers 401 without them.
Cred costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it. Claude Code reads X_API_KEY (Your cred.diy API key), X_APP_ORIGIN (Optional URL of your app, recorded as signup attribution), X_PROJECT_ID (Optional; the API key already identifies the project) from your environment each time it connects and sends them in the x-api-key and x-app-origin and x-project-id headers — its endpoint answers 401 without them — so the key stays out of its config: export them in your shell profile (macOS, Linux), or run setx X_API_KEY …, setx X_APP_ORIGIN …, setx X_PROJECT_ID … and open a new terminal (Windows).
claude mcp add --scope user --transport http aw3-technology-cred-mcp https://eutdgemlrpvnxfkkpvlu.supabase.co/functions/v1/cred-mcp --header 'x-api-key: ${X_API_KEY}' --header 'x-app-origin: ${X_APP_ORIGIN}' --header 'x-project-id: ${X_PROJECT_ID}'Reconnect, or start a new session, and the tools appear in the model’s tool list.
It reaches a system of yours, so it needs your own credential rather than the publisher’s: x-api-key header — Your cred.diy API key. You set it in your own client’s config, on your machine — this marketplace never holds it.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
49 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
List the project's active credit types: id, name, symbol, description, exchange_rate (USD per credit), is_redeemable, and on-chain fields (is_on_chain, blockchain, contract_address, chain_id, token_decimals, mint_on_issue, deployment_type). Use the id as credit_type_id in other tools. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs noth
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
Get a user's credit balance(s). Identify the user by email (checked first) or user_id (your external user ID). An unknown user returns an empty balances array, not an error. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| string | no | User email (checked first) | |
| user_id | string | no | External user ID (fallback) |
| credit_type_id | string | no | Only this credit type |
Issue (add) credits to a user; creates the user if they don't exist (email-first lookup). Pass idempotency_key on anything an agent might retry: a replay returns the original transaction with idempotent_replay: true and issues nothing more (no second webhook or mint). Without a key, every call issues again. For on-chain credit types with mint_on_issue, the response includes on_chain mint status. C
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID |
| user_email | string | no | User email (matched first, stored on a new user) |
| user_name | string | no | Display name for a new user |
| credit_type_id | string | yes | Credit type to issue |
| amount | number | yes | Credits to issue (positive) |
| reason | string | no | Reason, shown in the ledger |
| reference_id | string | no | Your reference for tracking (not a dedupe key — use idempotency_key) |
| idempotency_key | string | no | Unique key for this issuance (max 255 chars). Retrying with the same key and same arguments returns the first result instead of repeating it; reusing it for different arguments fails with 409 IDEMPOTE |
| signup_url | string | no | App/page URL a new user signed up from (first-touch attribution) |
| signup_credit_type_id | string | no | Credit type the user signed up for (attribution) |
| wallet_address | string | no | EVM address to mint this issuance to, overriding the one on file (on-chain types only) |
Deduct (spend) credits from an existing user, identified by user_email (checked first) or user_id. Fails with 400 INSUFFICIENT_CREDITS (nothing deducted) or 404 USER_NOT_FOUND. Pass idempotency_key on anything an agent might retry: a replay returns the original transaction with idempotent_replay: true and charges nothing more. Without a key, every call deducts again. auto_topup_triggered: true mea
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | no | External user ID |
| user_email | string | no | User email (checked first) |
| credit_type_id | string | yes | Credit type to deduct from |
| amount | number | yes | Credits to deduct (positive) |
| reason | string | no | Reason, shown in the ledger |
| reference_id | string | no | Your reference, e.g. a job ID (also lets refund_credits find it) |
| idempotency_key | string | no | Unique key for this deduction (max 255 chars). Retrying with the same key and same arguments returns the first result instead of repeating it; reusing it for different arguments fails with 409 IDEMPOT |
List ledger transactions, newest first (types include issue, deduct, refund). Filter by user (email or user_id) and credit_type_id; paginate with limit/offset. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| string | no | Filter by user email | |
| user_id | string | no | Filter by external user ID |
| credit_type_id | string | no | Filter by credit type |
| limit | number | no | Results per page (max 100, default 50) |
| offset | number | no | Pagination offset (default 0) |
Refund or reverse credits. MOVES MONEY for purchases: with purchase_id or stripe_payment_intent_id it refunds the Stripe charge (prorated when partial; refund_payment: false skips the money) and claws the purchased credits back. With transaction_id (or reference_id = latest matching transaction) it reverses that ledger entry: an issue is clawed back, a deduct is returned to the user. Pass exactly
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| purchase_id | string | no | Cred purchase ID (refunds the payment + credits) |
| stripe_payment_intent_id | string | no | Stripe pi_… of the purchase (alternative to purchase_id) |
| transaction_id | string | no | Ledger transaction ID to reverse |
| reference_id | string | no | Reverse the latest non-refund transaction with this reference_id |
| amount | number | no | Credits to refund (default: the full original amount) |
| reason | string | no | Reason, shown in the ledger |
| refund_payment | boolean | no | Purchases only: false reverses credits without refunding money (default true) |
| metadata | object | no | Extra metadata stored on the refund transaction |
| idempotency_key | string | yes | Unique key for this refund (max 255 chars). Retrying with the same key and same arguments returns the first result instead of repeating it; reusing it for different arguments fails with 409 IDEMPOTENC |
Create an end user, or return/update the existing one (email-first lookup, then external_id, so no duplicates). Returns created: true for a new user. Signup attribution is first-touch and optional: signup_url (else the connection's x-app-origin header) is recorded on a new user, or on an existing user that has none. Costs 1 CRD (platform credit) per call, charged even when the call is then rejecte
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| external_id | string | yes | Your user ID |
| string | no | User email | |
| name | string | no | Display name |
| metadata | object | no | Arbitrary metadata; stripe_account_id is Cred-only: a value you send is silently dropped |
| signup_url | string | no | App/page URL the user signed up from, e.g. https://app1.example.com/signup |
| signup_credit_type_id | string | no | Credit type the user signed up for (cross-app attribution) |
| wallet_address | string | no | 0x EVM address to record as asserted (not verified) |
Look up one end user by email or external_id (404 USER_NOT_FOUND if absent), or list users newest first with total, filterable by signup_host / signup_credit_type_id. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| string | no | Look up by email | |
| external_id | string | no | Look up by external ID |
| signup_host | string | no | List only users who signed up from this host, e.g. app1.example.com |
| signup_credit_type_id | string | no | List only users attributed to this credit type |
| limit | number | no | Results per page (max 1000, default 100) |
| offset | number | no | Pagination offset (default 0) |
Update an existing end user (identify by user_email, checked first, or external_id). Only fields you pass change (none at all is 400 NO_FIELDS_TO_UPDATE); metadata replaces the whole object, except referral_code (kept unless you send it) and stripe_account_id (Cred-only: the stored value stays and a value you send is silently dropped). signup_* fields overwrite attribution (use to correct it). 404
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| external_id | string | no | External ID of the user to update |
| user_email | string | no | Current email of the user to update |
| string | no | New email | |
| name | string | no | New name |
| metadata | object | no | New metadata (replaces existing) |
| signup_url | string | no | Corrected signup URL (also re-derives signup_host) |
| signup_host | string | no | Corrected signup host |
| signup_credit_type_id | string | no | Corrected signup credit type |
Delete an end user, identified by user_email (checked first) or external_id. Irreversible: balances, ledger and auto top-up rules go with them. A user with swap history is kept as a financial record — 409 USER_HAS_HISTORY (swap_transactions count). 404 USER_NOT_FOUND. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error resul
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| external_id | string | no | External ID of the user to delete |
| user_email | string | no | Email of the user to delete |
Create or update up to 1000 users in one call (one CRD for the batch). Returns counts of created/updated and per-row errors; a bad row does not fail the batch. A row's own signup_url/signup_host overrides the request-level signup_url. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| signup_url | string | no | Default signup URL for rows without their own |
| users | array | yes | User rows |
Signup attribution breakdown per signup_host (which of your apps users came from): users, purchases and revenue per host over the last days (default 30; 0 = all time). Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| days | number | no | Look-back window in days (default 30, 0 = all time) |
List active pricing tiers (credit packs), cheapest first; price is a dollar string. credit_type_ids lists the credit types a tier can be bought for; [] means every active credit type. The credit_type_id filter returns every tier purchasable for that type: tiers scoped to it plus tiers with [] (400 if it is not a UUID). Costs 1 CRD (platform credit) per call, charged even when the call is then reje
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| credit_type_id | string | no | Credit type UUID: tiers scoped to it plus all-type tiers |
Create a pricing tier. credits must be a positive integer; price (USD) must be 0 or at least 0.50, and at most $1.00 per credit. credit_type_ids lists the credit types a tier can be bought for; [] means every active credit type. Omit credit_type_ids for all types; malformed or foreign ids are rejected. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| name | string | yes | Tier name |
| description | string | no | Tier description |
| credits | integer | yes | Credits granted per purchase |
| price | number | yes | Price in dollars |
| currency | string | no | Currency code (default USD) |
| billing_type | string | no | Which checkouts may sell the tier. A subscription is created only when checkout is sent billing: "recurring"; recurring-only tiers cannot be used for saved-card charges or auto top-up. Default one_tim |
| is_popular | boolean | no | Highlight as popular |
| credit_type_ids | array | no | Credit type UUIDs; omit or [] = all |
Update a pricing tier by id; only fields you pass change (same price rules as create). Pass credit_type_ids to re-scope it ([] = all credit types), is_active: false to stop selling it without deleting. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| id | string | yes | Pricing tier ID |
| name | string | no | — |
| description | string | no | — |
| credits | integer | no | — |
| price | number | no | Price in dollars |
| currency | string | no | — |
| billing_type | string | no | Which checkouts may sell the tier. A subscription is created only when checkout is sent billing: "recurring"; recurring-only tiers cannot be used for saved-card charges or auto top-up. |
| is_active | boolean | no | Whether the tier can be purchased |
| is_popular | boolean | no | — |
| credit_type_ids | array | no | Credit type UUIDs; [] = all |
Permanently delete a pricing tier by id (404 if not in this project). While auto top-up rules buy the tier it refuses with 409 TIER_IN_USE and the rule count; pass force: true (after the user confirms) to delete those rules and the tier together. Deactivating a tier (update_pricing_tier is_active: false) keeps history but makes its auto top-up charges fail. Costs 1 CRD (platform credit) per call,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| id | string | yes | Pricing tier ID |
| force | boolean | no | Also delete the auto top-up rules that buy this tier |
Create a Stripe Checkout link for an end user to buy credits; returns checkout_url and session_id. Nothing is charged until the buyer pays on that page; credits are issued when payment completes. Price either a pricing tier (pricing_tier_id, optionally × quantity) or a custom amount (credit_type_id + amount credits, priced at the credit type's exchange_rate). billing: "recurring" creates a subscri
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the buyer (created if new) |
| user_email | string | no | Buyer email (prefills Checkout, matched first) |
| user_name | string | no | Buyer display name |
| pricing_tier_id | string | no | Tier to sell |
| credit_type_id | string | no | Credit type to grant. Required with amount, and with a tier that allows several types (400 CREDIT_TYPE_REQUIRED otherwise). |
| amount | number | no | Custom-amount checkout: number of credits to sell |
| quantity | integer | no | Tier packs (or seats for a subscription); default 1 |
| billing | string | no | Default one_time |
| save_payment_method | boolean | no | Save the card for off-session charges (one-time checkouts only) |
| success_url | string | no | Redirect after payment, on an allowed domain (else Cred's default page, no error) |
| cancel_url | string | no | Redirect if the buyer cancels, on an allowed domain (else Cred's default page, no error) |
| signup_url | string | no | App/page URL the buyer came from (attribution) |
List recurring credit subscriptions (newest 100): status, credits_per_period, quantity, price, interval, current_period_end, cancel_at_period_end. status: "active" matches active, trialing and past_due. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | no | Filter by external user ID |
| string | no | Filter by customer email | |
| status | string | no | active (live states) or an exact Stripe status, e.g. canceled |
Cancel a subscription. By default it cancels at period end (credits already issued stay; no further renewals). at_period_end: false cancels immediately with no refund. With user_id/email instead of subscription_id, every live subscription of that customer is canceled. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error resul
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| subscription_id | string | no | Cred subscription ID or Stripe sub_… ID |
| user_id | string | no | External user ID (alternative to subscription_id) |
| string | no | Customer email (alternative to subscription_id) | |
| at_period_end | boolean | no | Default true; false cancels now |
Change a live subscription's quantity (seats/packs, 1–10000). CHANGES FUTURE BILLING: from the next renewal the customer pays unit price × quantity and receives unit credits × quantity; no proration now. With user_id/email the customer must have exactly one live subscription (else 409 — pass subscription_id). Same quantity is a no-op. Costs 1 CRD (platform credit) per call, charged even when the c
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| subscription_id | string | no | Cred subscription ID or Stripe sub_… ID |
| user_id | string | no | External user ID (alternative to subscription_id) |
| string | no | Customer email (alternative to subscription_id) | |
| quantity | integer | yes | New quantity |
Create a short-lived Stripe customer portal URL for a subscriber to update their card (flow payment_method_update, default) or see invoices and card (overview). Mint it when the customer asks; don't store it. With user_id/email, uses their most recent subscription. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| subscription_id | string | no | Cred subscription ID or Stripe sub_… ID |
| user_id | string | no | External user ID (alternative to subscription_id) |
| string | no | Customer email (alternative to subscription_id) | |
| flow | string | no | — |
| return_url | string | no | URL to return to from the portal; must be https on a Cred host or a domain listed under Dashboard → Payments → Allowed redirect domains, else 400 REDIRECT_NOT_ALLOWED |
Get the card saved for a user (brand, last4, expiry), or payment_method: null if none. Cards are saved by a one-time create_checkout_session with save_payment_method: true. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the card holder |
Remove a user's saved card (detached in Stripe). charge_saved_card and auto top-up stop working for them until a new card is saved. Returns deleted: false if there was none. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the card holder |
MOVES MONEY: charge a user's saved card off-session for one pack of a one-time pricing tier and credit it. idempotency_key is required; a retry with the same key never charges twice and returns the first outcome (replayed: true). Outcomes: 200 status succeeded (credits, new_balance); 202 status processing (not yet settled — retry later with the SAME key to check, never a new key); 402 status faile
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the card holder |
| pricing_tier_id | string | yes | One-time (or both) pricing tier to buy |
| credit_type_id | string | no | Credit type to grant. Required when the tier allows several types (400 CREDIT_TYPE_REQUIRED otherwise) |
| idempotency_key | string | yes | Unique key for this charge (max 255 chars). Retrying with the same key and same arguments returns the first result instead of repeating it; reusing it for different arguments fails with 409 IDEMPOTENC |
Get a user's auto top-up rule for credit_type_id (auto_topup, or null), or all their rules (auto_topups) when credit_type_id is omitted, plus their saved card. Rules show threshold, enabled, max_per_day, charges_last_24h, last_status/last_error and disabled_reason (set when cred turned a failing rule off). Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 R
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the card holder |
| credit_type_id | string | no | Credit type UUID |
Create or replace the auto top-up rule for (user, credit type): whenever a deduct leaves the balance below threshold, cred buys one pack of pricing_tier_id on the user's saved card (at most max_per_day charges per 24h). If enabled and the balance is already below threshold, a charge starts right away. Saving also clears a rule cred disabled after failures. Requires a saved card to charge (a warnin
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the card holder |
| pricing_tier_id | string | yes | One-time (or both) pricing tier to buy |
| credit_type_id | string | no | Credit type to watch. Required when the tier allows several types (400 CREDIT_TYPE_REQUIRED otherwise) |
| threshold | number | yes | Top up when the balance falls below this |
| enabled | boolean | no | Default true |
| max_per_day | integer | no | Charge cap per rolling 24h (default 5) |
Delete a user's auto top-up rule for credit_type_id, or ALL their rules when credit_type_id is omitted. Returns the number deleted. To pause instead, save_auto_topup with enabled: false. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the card holder |
| credit_type_id | string | no | Credit type UUID (omit to delete every rule for the user) |
Reserve credits: deducts amount from an existing user and parks it in a hold (status held), returning hold_id. Finish with capture_escrow_hold or release_escrow_hold; a hold past expires_at can be released back at any time. Pass idempotency_key on anything an agent might retry: a replay returns the original hold (idempotent_replay: true, with its current status) and holds nothing more; the same ke
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | no | External user ID of the holder |
| user_email | string | no | Holder email (checked first) |
| credit_type_id | string | yes | Credit type to hold |
| amount | number | yes | Credits to hold |
| reason | string | no | — |
| reference_id | string | no | Your reference, e.g. an order ID (filterable in list_escrow_holds) |
| expires_at | string | no | ISO timestamp after which the hold can be released back to the holder |
| metadata | object | no | — |
| idempotency_key | string | no | Unique key for this hold (max 255 chars). Retrying with the same key and same arguments returns the first result instead of repeating it; reusing it for different arguments fails with 409 IDEMPOTENCY_ |
Release a held hold in full back to its holder (status released). 404 HOLD_NOT_FOUND, 409 HOLD_NOT_ACTIVE if it was already released, captured or expired — so a retry after success is rejected, not repeated. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| hold_id | string | yes | Hold ID |
| reason | string | no | — |
Settle a hold (status captured). amount captures part (default: all); the uncaptured remainder returns to the holder. With to_user_id/to_user_email the captured credits go to that user (created if new) — marketplace/P2P settlement; otherwise they stay deducted (settled to the platform). 409 HOLD_NOT_ACTIVE if already settled, 400 CAPTURE_EXCEEDS_HELD. Costs 1 CRD (platform credit) per call, charge
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| hold_id | string | yes | Hold ID |
| amount | number | no | Credits to capture (default: the full hold) |
| to_user_id | string | no | External ID of the recipient |
| to_user_email | string | no | Email of the recipient |
| reason | string | no | — |
| metadata | object | no | — |
List escrow holds, newest first, with total. Filter by status, holder or reference_id. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| status | string | no | — |
| user_id | string | no | Holder external ID |
| string | no | Holder email | |
| reference_id | string | no | — |
| limit | number | no | Max 100, default 50 |
| offset | number | no | — |
List credit swap pairs (exchange_rate, fee_percent, min/max_swap_amount, is_bidirectional). Optionally filter by source or target credit type. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| source_credit_type_id | string | no | Filter by source credit type |
| target_credit_type_id | string | no | Filter by target credit type |
| include_inactive | boolean | no | Include inactive pairs |
Swap a user's credits along a swap pair: deducts source_amount of the source type and credits the converted amount (after fee) in the target type. Errors: 400 INSUFFICIENT_CREDITS, 404 USER_NOT_FOUND, 400 outside min/max. On a bidirectional pair, direction "reverse" spends the target type for the source type at 1/rate (else 400 SWAP_NOT_BIDIRECTIONAL). Pass an idempotency_key so a retry replays th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| swap_pair_id | string | yes | Swap pair ID |
| user_id | string | no | External user ID |
| user_email | string | no | User email (alternative) |
| source_amount | number | yes | Credits to spend (in the target type when direction is reverse) |
| direction | string | no | Default forward |
| idempotency_key | string | no | Unique key for this swap (max 255 chars). Retrying with the same key and same arguments returns the first result instead of repeating it; reusing it for different arguments fails with 409 IDEMPOTENCY_ |
Get a referral program's settings (is_active, referrer/referee credits, credit type). A project can run one program per credit type: pass credit_type_id for that credit type's program (settings null when it has none); omit it for the project's default program. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results inclu
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| credit_type_id | string | no | Credit type whose program to read |
Create or update a referral program: credits awarded to the referrer and to the referred user. With credit_type_id this writes THAT credit type's program (creating it if needed); without it, the project's default program. Only fields you pass change. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| is_active | boolean | no | Enable/disable the program |
| referrer_credits | number | no | Credits for the referrer |
| referee_credits | number | no | Credits for the referred user |
| credit_type_id | string | no | Credit type whose program to write (and award) |
| is_default | boolean | no | true makes this program the default — the one requests without credit_type_id use (only true is accepted) |
Get a user's referral code, generating one if they have none (creates the user if needed). Safe to repeat. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID |
Apply a referral code for a referred user, issuing the configured credits to the referee and the referrer. credit_type_id picks the credit type's program (default: the project's default program). defer_referrer_credits pays only the referee now; the referral stays pending until complete_referral pays the referrer. A user can be referred once per program (without credit_type_id: in the default prog
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the referred user |
| referral_code | string | yes | The referrer's code |
| credit_type_id | string | no | Credit type whose program pays |
| defer_referrer_credits | boolean | no | Hold the referrer's credits until complete_referral |
Pay the referrer of a referral applied with defer_referrer_credits. user_id is the REFERRED user. Safe to repeat: the payout is keyed per referral; an already completed referral answers already_completed true. 404 NO_REFERRAL. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | yes | External user ID of the referred user |
| credit_type_id | string | no | Credit type whose program the referral belongs to |
List the project's referrals, filterable by status, referrer or credit type (program). Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| status | string | no | Filter by status |
| credit_type_id | string | no | Only this credit type's program |
| referrer_user_id | string | no | Filter by referrer external ID |
| referrer_email | string | no | Filter by referrer email |
| limit | number | no | Results per page (max 100, default 50) |
| offset | number | no | Pagination offset |
MOVES MONEY: cash out a user's credits as a Stripe transfer to a connected account. Deducts amount credits and pays amount × the credit type's exchange_rate (USD per credit; the rate cannot be overridden). The credit type must be redeemable (else 400 NOT_REDEEMABLE). destination must be this user's own account from onboard_payout_account (else 400 INVALID_DESTINATION). Pass idempotency_key: a re
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | no | External user ID |
| user_email | string | no | User email (alternative) |
| credit_type_id | string | yes | Redeemable credit type |
| amount | number | yes | Credits to redeem |
| destination | string | yes | Stripe connected account ID (acct_…) that receives the payout |
| currency | string | no | Payout currency (default usd) |
| reason | string | no | Reason, shown on the transfer and ledger |
| reference_id | string | no | Your reference, stored on the transfer and ledger |
| metadata | object | no | String key/values added to the Stripe transfer metadata |
| idempotency_key | string | no | Unique key for this redemption (max 255 chars). Retrying with the same key and same arguments returns the first result instead of repeating it; reusing it for different arguments fails with 409 IDEMPO |
Create (or reuse) a Stripe Express connected account for an end user and return an onboarding URL for them to complete. The resulting stripe_account_id (acct_…) is stored on the user; pass it as destination to redeem_credits. return_url and refresh_url must be https on a Cred host or a domain listed under Dashboard → Payments → Allowed redirect domains, else 400 REDIRECT_NOT_ALLOWED. Costs 1 CRD (
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | no | External user ID |
| user_email | string | no | User email (alternative) |
| return_url | string | yes | Where Stripe sends the user after onboarding |
| refresh_url | string | yes | Where Stripe sends the user if the link expired |
| country | string | no | ISO country code for the account (default US) |
Discover how to pay Cred with x402 (HTTP 402 stablecoin payments): the accepted scheme, network, asset and prices. Pass project_id to also get that project's credit price list. Requires no credentials and costs no CRD.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | no | Project whose credits you want priced (optional) |
MOVES MONEY: buy a project's credits by paying in stablecoin over x402. Call once without x402_payment to receive the payment requirements (returned as an error result containing the x402 PaymentRequired object), sign them with your wallet, then call again passing the base64 payment payload as x402_payment. Requires no API key — the payment is the credential — and costs no CRD.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project_id | string | yes | Project selling the credits |
| credits | number | yes | How many credits to buy (within the project's min/max) |
| credit_type_id | string | no | Credit type to buy (defaults to the project's x402 credit type) |
| x402_payment | string | no | Base64-encoded x402 PaymentPayload signed by your wallet |
| buyer_id | string | no | Identifier to credit (defaults to your paying wallet address) |
| buyer_email | string | no | Email to attach to the buyer record |
| buyer_name | string | no | Display name for the buyer record |
List this project's x402 stablecoin payments, newest first: kind, status, payer, amount_usd, transaction_hash, credits_granted, error. Authenticated (API key). Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| status | string | no | Filter by status, settled, pending or failed |
| limit | number | no | Max 200, default 50 |
Attach an EVM address to an end user so on-chain credits mint to them. No signature required — the address is recorded as asserted by the operator, not proved (changing it clears any earlier verification). Only later deposits match it: a deposit already recorded as unattributed stays uncredited. Pass wallet_address as null to detach; balances are unaffected. Costs 1 CRD (platform credit) per call,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| external_id | string | no | External user ID |
| user_email | string | no | User email (checked first) |
| wallet_address | string/null | yes | 0x-prefixed 40-hex-character EVM address, or null to detach |
Read the EVM address on file for an end user, and whether the holder proved it by signature (verified, verified_at). Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| external_id | string | no | External user ID |
| string | no | User email (checked first) |
Step 1 of proving an end user controls an address: get a single-use message for them to sign. The message names the operator's project and must be shown to the user unmodified. Expires in ten minutes. Then call verify_wallet_signature with the nonce and the signature their wallet produces. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| external_id | string | no | External user ID |
| user_email | string | no | User email (checked first) |
| address | string | yes | The EVM address the user is claiming |
Step 2: submit the personal_sign signature over the challenge message. On success the address is stored and marked verified. A challenge is single-use and a rejected signature consumes it too — a retry needs a fresh challenge. Costs 1 CRD (platform credit) per call, charged even when the call is then rejected (a 429 RATE_LIMITED costs nothing). Error results include request_id; quote it to support
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| nonce | string | yes | The nonce from request_wallet_challenge |
| signature | string | yes | personal_sign output over the challenge message |
| address | string | no | Optional guard — rejected if not the address the nonce was issued for |
| chain_id | number | no | Chain the proof was signed on, recorded as provenance |
List on-chain token deposits observed for the project, newest first (read-only; the chain ingest writes them). status: credited (credits granted), unattributed (sent from an address no user had; held, not credited, and attaching the address with set_user_wallet only matches later deposits), observed (awaiting processing) or rejected. A user filter for an unknown user is 404 USER_NOT_FOUND. Costs 1
| Parameter | Type | Required | Notes |
|---|---|---|---|
| api_key | string | no | Cred API key (optional if set via the x-api-key header) |
| project_id | string | no | Cred project ID (optional; the API key already identifies the project) |
| x402_payment | string | no | Base64 x402 PaymentPayload, only when a previous call failed with an x402 PaymentRequired because the account is out of CRD |
| user_id | string | no | Filter by external user ID |
| string | no | Filter by user email | |
| status | string | no | — |
| credit_type_id | string | no | Filter by credit type |
| transaction_hash | string | no | Find one deposit by transaction hash |
| limit | number | no | Results per page (max 200, default 50) |
| offset | number | no | Pagination offset |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Cred or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| list_credit_types | no tags | |
| get_balance | no tags | |
| issue_credits | external-sink | external-sink: keyword "webhook" |
| deduct_credits | no tags | |
| get_transactions | no tags | |
| refund_credits | no tags | |
| create_user | no tags | |
| get_users | no tags | |
| update_user | no tags | |
| delete_user | no tags | |
| bulk_create_users | no tags | |
| get_signup_analytics | no tags | |
| list_pricing_tiers | no tags | |
| create_pricing_tier | no tags | |
| update_pricing_tier | no tags | |
| delete_pricing_tier | no tags | |
| create_checkout_session | no tags | |
| list_subscriptions | no tags | |
| cancel_subscription | no tags | |
| update_subscription_quantity | no tags | |
| create_subscription_portal_link | no tags | |
| get_saved_payment_method | no tags | |
| delete_saved_payment_method | no tags | |
| charge_saved_card | no tags | |
| get_auto_topup | no tags | |
| save_auto_topup | no tags | |
| delete_auto_topup | no tags | |
| create_escrow_hold | no tags | |
| release_escrow_hold | no tags | |
| capture_escrow_hold | no tags | |
| list_escrow_holds | no tags | |
| list_swap_pairs | no tags | |
| execute_swap | no tags | |
| get_referral_settings | no tags | |
| save_referral_settings | no tags | |
| generate_referral_code | no tags | |
| apply_referral | no tags | |
| complete_referral | no tags | |
| list_referrals | no tags | |
| redeem_credits | no tags | |
| onboard_payout_account | no tags | |
| x402_supported | no tags | |
| buy_credits_x402 | no tags | |
| list_x402_receipts | no tags | |
| set_user_wallet | no tags | |
| get_user_wallet | no tags | |
| request_wallet_challenge | no tags | |
| verify_wallet_signature | no tags | |
| list_deposits | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.1.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Cred can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.