DePix App MCP
NPM · @DEPIXAPP/MCP · 2 COMPONENTS · SCANNED SEP 20
One MCP: hosted Pix receive + dated charges (26 tools), or local npx non-custodial wallet (62).
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- Known CVEs were checked across the 179 of 183 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Dependency health was assessed across the 179 of 183 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency71
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Cryptographically verified build provenance (signed, bound to depixapp/depix-mcp). View diagnostics → Pass
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 15 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability70
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 11460 tokens (~184/item across 62 items; 62 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 83% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety96
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 5 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "revoke_key" implies "revoke" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Partial
- An AI judge read all 63 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the DePix App MCP server?
DePix App MCP runs locally as an npm package, launched with npx -y @depixapp/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @depixapp/mcp
claude mcp add depixapp-depix-mcp -- npx -y @depixapp/mcp
{
"mcpServers": {
"depixapp-depix-mcp": {
"command": "npx",
"args": [
"-y",
"@depixapp/mcp"
]
}
}
} {
"servers": {
"depixapp-depix-mcp": {
"command": "npx",
"args": [
"-y",
"@depixapp/mcp"
]
}
}
} codex mcp add depixapp-depix-mcp -- npx -y @depixapp/mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"depixapp-depix-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@depixapp/mcp"
],
"enabled": true
}
}
} openclaw mcp add depixapp-depix-mcp --command npx --arg -y --arg @depixapp/mcp
mcp_servers:
depixapp-depix-mcp:
command: "npx"
args: ["-y", "@depixapp/mcp"] {
"McpServers": {
"depixapp-depix-mcp": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@depixapp/mcp"
]
}
}
} assistant mcp add depixapp-depix-mcp -t stdio -c npx -a -y @depixapp/mcp
{
"mcpServers": {
"depixapp-depix-mcp": {
"command": "npx",
"args": [
"-y",
"@depixapp/mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 −2
- Stability: pass → 0.90 functional
- 17 Sept 26 +1
- Stability: 0.97 → pass security
- 15 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −3
- Stability: pass → 0.80 functional
- 10 Sept 26 +1
- Stability: 0.97 → pass security
- 9 Sept 26 0
- Security disclosure: fail → unverified ▼ functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed npm/@depixapp/mcp@2.8.7
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | depixapp/depix-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/depixapp/depix-mcp/.github/workflows/publish-mcp.yml@refs/tags/v2.8.7 |
| Rekor log index | 2712424620 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:f58d883453368f6c5112d2098b70cb928ce01dadcf46a6f8a3e424659cdb44d5b89d782d0f78bc834cede55d95d9e0dfb27b8668925f6346b58a756c1 |
Background: How many MCP packages publish verified provenance →
Dependencies 179 packages
| Packages resolved | 179 |
|---|---|
| Stale | 62 |
| No linked repository | 1 |
| Tree resolution | Partial |
The dependency tree was only partially resolved, so these counts may be incomplete.
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
activate_key Activate the sandbox or live key ~170
Choose which of this account's two API keys the server authenticates with from now on: test (sandbox — no real money) or live (the production starter: wallet_read + wallet_write, i.e. the wallet tools). Both keys already belong to the account register_account created on this machine — nothing is minted and no secret is shown; the choice is saved and survives restarts, and the wallet picks it up on its next call. Under live, wallet_create_deposit produces REAL Pix charges and wallet_create_withdrawal moves real money: confirm with the operator before switching. If DEPIX_API_KEY is set in the environment it still OVERRIDES the choice, and the response says so.
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | yes | Which key to activate: test (sandbox) or live (production starter). |
| Name | Type | Req | Description |
|---|---|---|---|
| active_key_mode | string | yes | Which key is active now. |
| active_key_source | string | yes | Which credential the server actually authenticates with now: "store" = the key just activated, "env" = DEPIX_API_KEY, "owner" = the operator's own login (selected with `account use owner`). |
| env_override | boolean | yes | true when DEPIX_API_KEY shadows the activated key. |
| warning | string|null | yes | A loud note when the activated key is not the one in use, else null. |
No examples provided.
activate_product Activate product ~30
Make a product purchasable again. Requires scope `merchant_write`.
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | – |
| success | boolean | yes | – |
No examples provided.
agent_status Agent account status ~158
Read the agent account's onboarding progress: whether it is active/suspended, whether it has graduated to live keys and what is still blocking that, and its keys (id/prefix/scopes/revoked — never the secret). Read-only; narrates what the server reports, never recomputes the rule. Requires an account already registered here — if there is none, call `register_account` first. `graduation_blocked_on` says whose move it is: "domain_proof" is yours — call `verify_domain`, then relay its DNS record to the operator, who alone can add it; "gate_review" is ours — poll, there is nothing to do; null once graduated. Deposits do not graduate an account.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| account_status | string | yes | – |
| graduated | boolean | yes | – |
| graduation_blocked_on | string|null | yes | – |
| keys | array | yes | – |
| reason | string | – | Present only when suspended. |
No examples provided.
attach_support_ticket_file Attach a file to a support ticket ~278
Attach ONE file to a ticket so the support team can see it — typically a diagnostic/log file or a screenshot that documents a bug. Provide the bytes base64-encoded in file_b64 (no data: URI prefix), up to ~3 MB, with content_type one of image/png, image/jpeg, image/webp, application/pdf, text/plain or application/json. The file is forwarded to a human on the support side; it is not stored or served back, so the result records only the filename and type. Attaching counts as a reply: an answered ticket returns to awaiting a reply, and an auto-closed ticket within 7 days reopens. If the response is attachment_unavailable, retry shortly or continue with reply_support_ticket.
| Name | Type | Req | Description |
|---|---|---|---|
| caption | string | – | Optional note shown with the file (max 400 chars). |
| content_type | string | yes | File MIME type: image/png, image/jpeg, image/webp, application/pdf, text/plain or application/json. |
| file_b64 | string | yes | The file bytes, base64-encoded (no data: URI prefix). Max ~3 MB decoded. |
| filename | string | yes | Filename shown to the support team, e.g. 'error.log' or 'screenshot.png'. |
| id | string | yes | Ticket id (tkt_…). |
| Name | Type | Req | Description |
|---|---|---|---|
| message | object | yes | – |
| ticket | object | yes | – |
No examples provided.
close_support_ticket Close a support ticket ~48
Close one of your tickets once you no longer need help. This is terminal — to continue later, open a new ticket.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Ticket id (tkt_…). |
| Name | Type | Req | Description |
|---|---|---|---|
| ticket | object | yes | – |
No examples provided.
configure_depix_rail Turn the DePix direct rail on/off ~233
Let this merchant be paid in DePix sent DIRECTLY on Liquid, not only by Pix. Enabling derives a dedicated receiving address from THIS wallet and registers it with the backend so incoming DePix is credited; disabling turns it off. Needs an initialized wallet (to derive the address — the operator runs `npx -y @depixapp/mcp init`) and a registered agent account (the call is signed — call `register_account` first). You pass only `enabled` (and, optionally, a `derivation_index` to re-derive a specific address) — the tool derives the address and its private viewing key itself and sends them in-process. The response carries only PUBLIC facts (the address, the rail state): the viewing key is NEVER shown here.
| Name | Type | Req | Description |
|---|---|---|---|
| derivation_index | integer | – | Optional: derive the dedicated address at this exact index (e.g. to re-register a known one). Omit to allocate a fresh one. |
| enabled | boolean | yes | true = turn the DePix direct rail ON (derive + register a dedicated address); false = turn it OFF. |
| Name | Type | Req | Description |
|---|---|---|---|
| depix_pay_address | string | – | ON only: the dedicated confidential (lq1…) address now receiving DePix. |
| depix_pay_enabled | boolean | yes | Whether the rail is now ON for this merchant. |
| derivation_index | integer | – | ON only: the derivation index the address was taken at. |
| discount_pct | number | – | ON only: the DePix-payment discount the merchant offers, in percent. |
| enabled | boolean | yes | Echo of the requested state. |
| pending_addresses | integer | – | OFF only: addresses whose key was retained because a checkout there is still open. |
| view_key_deleted | boolean | – | OFF only: true when the viewing key was deleted (no in-flight checkout kept it). |
No examples provided.
create_checkout Create checkout ~676
Create a ONE-OFF payment (checkout) with a hosted payment page, on either settlement rail — paid once, short-lived. For a dated or recurring payment link (a "cobrança": rent, tuition, an instalment), use `create_product` with kind="charge" instead. Default `payment_method: "pix"` — the payer pays a Pix QR in any bank app, and `payer_tax_number` (their CPF/CNPJ) is required. `payment_method: "depix"` — the payer sends DePix wallet-to-wallet on the Liquid network to the merchant's dedicated address: there is no Pix QR (the response carries `depix` instead of `pix`), no payer document is used, the merchant may grant a discount, and the payment is confirmed on-chain — `approved` at the first confirmation (~1 minute) and `completed` at the second (~2 minutes). The depix rail requires the merchant to have it enabled, otherwise the API answers `depix_not_enabled`. Requires scope `merchant_write`. Amount is BRL cents (the face value, before any DePix discount).
| Name | Type | Req | Description |
|---|---|---|---|
| amount | integer | – | Amount in BRL cents (R$5.00–R$6000.00). Wire field is `amount`. |
| amount_cents | integer | – | Alias of `amount` (BRL cents). Provide either `amount` or `amount_cents`. |
| callback_url | string | – | Optional per-checkout webhook URL. |
| description | string | – | Description shown to the payer. |
| expected_discount_pct | integer | – | `depix` rail only: the discount percentage (0–90) you already showed the payer. When it no longer matches the merchant's current discount the API answers 409 `discount_changed` with the fresh values,… |
| expires_in | integer | – | Payment lifetime in seconds, per rail: `pix` accepts 300–1200 (default 1200); `depix` accepts 300–3600 (default 1800), because paying on-chain means opening a wallet. |
| idempotency_key | string | – | Optional. If omitted, the server generates one. Reuse to safely retry. |
| image_url | string | – | Optional image on the hosted payment page. |
| metadata | object | – | Optional arbitrary key/value bag echoed back on reads/webhooks. |
| payer_tax_number | string | – | Payer CPF/CNPJ (digits). REQUIRED on the `pix` rail — in all modes, including sandbox, while the platform tax-number gate is on. IGNORED on the `depix` rail: that rail has no payer identity by design… |
| payment_method | string | – | Settlement rail; defaults to `pix`. `pix`: the payer pays a Pix QR in any bank app. `depix`: the payer sends DePix wallet-to-wallet on Liquid to the merchant's dedicated address — no Pix QR, no payer… |
| redirect_url | string | – | Optional post-payment redirect URL. |
| Name | Type | Req | Description |
|---|---|---|---|
| amount | integer | yes | Charge amount in BRL cents (face value, before any DePix discount). |
| depix | object | – | DePix (Liquid) payment instructions — present on the `depix` rail only, while the checkout is still payable. An on-chain payment is irreversible. |
| description | string|null | yes | – |
| expires_at | string|null | yes | Expiry timestamp (UTC). |
| id | string | yes | Checkout id (chk_…). |
| image_url | string|null | yes | – |
| is_live | boolean | yes | false when created with sk_test_. |
| payment_method | string | – | The rail this checkout settles on. Absent on API versions older than 0.20.0 (read it as `pix`). |
| payment_url | string | yes | Hosted payment page URL to hand to the payer. |
| pix | object | – | PIX payload — present on the `pix` rail only, while pending. |
| replayed | boolean | – | true when the API replayed a prior response for the same Idempotency-Key. |
| status | string | yes | Always `pending` at creation. |
No examples provided.
create_key Mint an API key for this account ~377
Mint a NEW API key for the account registered on this machine and start using it. The key is sealed in the local encrypted vault and NEVER shown — the response carries only public facts (id, prefix, scopes, limits). Defaults to a sandbox key with the wallet scopes, the only set that always works. `merchant_read`/`merchant_write` (being paid by third parties) need a VERIFIED DOMAIN — call `verify_domain` first, which mints that key for you; asking for them without one is refused with domain_required. `live: true` needs the account to be graduated, else graduation_pending. Minting replaces the vault's key for that mode, so the OLD one keeps working at the server until you revoke it with revoke_key — and its local copy is gone, so revoke it or note the id from agent_status. Five keys per mode is the ceiling.
| Name | Type | Req | Description |
|---|---|---|---|
| activate | boolean | – | Whether to make this MODE the active one. Omitted/true = yes. It cannot keep an older key of the SAME mode in use: the vault holds one key per mode, so minting into a mode always supersedes what was… |
| daily_limit_cents | integer | – | Daily ceiling in cents. wallet_write keys get a default if unset. |
| label | string | – | Human-readable label, for the operator's own key list. |
| live | boolean | – | true = production sk_live_ (requires graduation); omitted/false = sandbox sk_test_. |
| per_tx_limit_cents | integer | – | Per-transaction ceiling in cents. wallet_write keys get a default if unset. |
| scopes | array | – | Scope set. Omitted = wallet_read + wallet_write. merchant_* requires a verified domain. |
| Name | Type | Req | Description |
|---|---|---|---|
| active_key_mode | string | yes | Which key the server authenticates with now. |
| active_key_source | string | yes | Which credential actually wins. |
| daily_limit_cents | number|null | yes | – |
| env_override | boolean | yes | true when DEPIX_API_KEY shadows the new key. |
| is_live | boolean | yes | – |
| key_id | string | yes | The new key's id — what revoke_key takes. |
| per_tx_limit_cents | number|null | yes | – |
| prefix | string | yes | sk_test_ or sk_live_. |
| scopes | string | yes | Space-separated scopes actually granted. |
| warning | string|null | yes | A loud note when the new key is not the one in use, else null. |
No examples provided.
create_product Create product ~538
Create a reusable product (fixed-price checkout template with a public page), or — with kind="charge" — a CHARGE (Portuguese: "cobrança"): a payment link with a due date and optional late fine/interest, for rent, tuition or an instalment. A charge is served at pay.depixapp.com/c/{id} and never appears on the merchant's public store. NOTE: `create_checkout` makes a ONE-OFF payment that is paid once and is short-lived; this tool with kind="charge" makes a STANDING one that has a due date and can recur. Requires scope `merchant_write`.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | integer | – | Amount in BRL cents (R$5.00–R$6000.00). Wire field is `amount`. |
| amount_cents | integer | – | Alias of `amount` (BRL cents). Provide either `amount` or `amount_cents`. |
| callback_url | string | – | – |
| description | string | – | – |
| due_date | string | – | REQUIRED when kind is `charge`. First due date, YYYY-MM-DD, and the anchor of the recurrence. May be in the past — a retroactive charge starts already overdue. |
| expires_in | integer | – | – |
| image_url | string | – | – |
| kind | string | – | `product` (default) = a catalog item on the merchant's public store. `charge` = a payment link with a DUE DATE and optional late fees (rent, tuition, an instalment), served at pay.depixapp.com/c/{id}… |
| late_fine_bps | integer | – | Charges only. One-time late fine in basis points of the base amount (200 = 2%). Default 0, max 2000 (20%). |
| late_interest_monthly_bps | integer | – | Charges only. Monthly interest in basis points, accrued pro-rata per day late (100 = 1% a month). Default 0, max 1000 (10%). |
| metadata | object | – | – |
| name | string | yes | Product name (2–80 chars). |
| recurrence | – | – | Charges only. null or omitted = a one-time charge. Monthly and above anchor on the due day, clamping to the last day of shorter months (the 31st becomes Feb 28/29). |
| redirect_url | string | – | – |
| slug | string | – | URL slug (auto-generated from name when omitted). |
| Name | Type | Req | Description |
|---|---|---|---|
| product | object | yes | – |
No examples provided.
deactivate_product Deactivate product ~78
Hide a product from the public page and block new checkouts. On a CHARGE this also kills its live pay.depixapp.com/c/{id} link — anyone holding it sees "cobrança indisponível" and cannot pay. Reversible with activate_product. Requires scope `merchant_write`.
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | – |
| success | boolean | yes | – |
No examples provided.
get_account Get account ~22
Identify the authenticated merchant (connection test). Requires scope `merchant_read`.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| created_at | string | – | – |
| is_live | boolean | yes | false ⇒ you are using a sandbox key (sk_test_). |
| merchant_id | string | – | – |
| merchant_slug | string | – | – |
| name | string | – | – |
| username | string|null | – | – |
No examples provided.
get_checkout Get checkout ~73
Fetch a checkout by id (owner view). `payment_method` tells you which rail it settles on; a still-payable depix checkout also carries its `depix` payment instructions (address, exact amount, URI). Requires scope `merchant_read`.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_id | string | yes | Checkout id (chk_…). |
| Name | Type | Req | Description |
|---|---|---|---|
| amount | integer | yes | – |
| approved_at | string|null | yes | – |
| blockchain_tx_id | string|null | yes | – |
| callback_url | string|null | yes | – |
| cancelled_at | string|null | yes | – |
| completed_at | string|null | yes | – |
| created_at | string|null | yes | – |
| delay_until | string|null | – | When this sale's money is released, if it is being held. Since API 0.40.0 this is the same RFC 3339 UTC instant as every other timestamp ("2026-08-13T12:03:00.000Z"); older API versions relayed the p… |
| depix | object | – | DePix (Liquid) payment instructions — present on the `depix` rail only, while the checkout is still payable. |
| description | string|null | yes | – |
| expires_at | string|null | yes | – |
| id | string | yes | – |
| image_url | string|null | yes | – |
| is_live | boolean | yes | – |
| metadata | – | yes | Merchant metadata, parsed to an object when it was valid JSON. |
| payment_method | string | – | The rail this checkout settles on. Absent on API versions older than 0.20.0 (read it as `pix`). |
| pix_payload | string|null | yes | PIX payload; present only while pending on the `pix` rail. |
| processing_at | string|null | yes | – |
| redirect_url | string|null | yes | – |
| rejection_reasons | array | yes | Provider reason codes when the underlying payment was refused/held; [] otherwise. |
| status | string | yes | – |
| vault_hours | – | – | Hours this sale was booked to wait at creation. 0 = the hold policy imposed no wait. Null = no decision recorded (sandbox, or the DePix rail). Answers WHETHER, never WHEN: `created_at + vault_hours`… |
No examples provided.
get_deposit_status Get deposit status ~57
Read a deposit's status (read-only). Requires scope `wallet_read`. This MCP cannot create deposits (that is the SDK, F3).
| Name | Type | Req | Description |
|---|---|---|---|
| deposit_id | string | yes | Deposit id (or sandbox_… in test mode). |
| Name | Type | Req | Description |
|---|---|---|---|
| amount_cents | – | yes | – |
| created_at | string|null | yes | – |
| id | string | yes | – |
| rejection_reasons | array | yes | Provider reason codes when refused/held; [] when not refused. |
| sandbox | boolean | yes | – |
| status | string | yes | – |
| terminal | boolean | yes | Derived from the terminal status set. |
| type | string | yes | – |
| updated_at | string|null | yes | – |
No examples provided.
get_onboarding_status Get onboarding status ~149
Narrate what the account still needs to go live: an ordered ladder of steps (create the wallet, verify WhatsApp, deposit+convert+withdraw to verify, create the store), each with a plain PT+EN title and instruction to relay to the human, an absolute app deep link, and the current numbers. Composes the verification progress with a store probe, and — when every step is complete — triggers verification itself so the account never sits 'all green but not verified'. Read-first; the only write is that self-heal trigger. Every incomplete step is a HUMAN step: relay its instruction and deep link to the operator and wait — no tool here can complete one for them.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| merchant_exists | boolean | yes | Whether a merchant/store profile exists on this account yet. |
| next_step | string | yes | The id of the first step still to do (or 'ready' when the account is fully set up). |
| self_healed | boolean | yes | true when this call auto-triggered POST /api/verification because every step was complete. |
| steps | array | yes | The ordered onboarding ladder — the agent narrates it top to bottom. |
| verification_enabled | boolean | yes | Whether the verification program is enabled at all. false → nothing to complete right now. |
| verified | boolean | yes | Whether the account is verified (can create a store and go live). |
No examples provided.
get_product Get product ~37
Fetch a product by id with checkout aggregates. Requires scope `merchant_read`.
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | Product id (prd_…). |
| Name | Type | Req | Description |
|---|---|---|---|
| product | object | yes | – |
| stats | object | yes | – |
No examples provided.
get_support_ticket Get a support ticket ~77
Fetch one of your tickets with its full message thread. Poll this to read the human's reply — support answers within 1 business day, so check back in minutes, not seconds. Returns 404 if the ticket does not exist or was opened by another session/key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Ticket id (tkt_…). |
| Name | Type | Req | Description |
|---|---|---|---|
| messages | array | yes | Full message thread, oldest first. |
| ticket | object | yes | – |
No examples provided.
get_vault_status Get vault (Cofre) status ~63
Read the account's position in the Cofre deposit-hold mechanism (read-only): whether it is active, how long a new deposit is held, the trust level, and the rolling receive cap with how much is left this window. Requires scope `wallet_read`.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| cap | – | yes | The rolling receive cap and how much of it is left this window. |
| level | – | yes | The account's trust level in the ladder. |
| vault_active | boolean | yes | Whether the Cofre (deposit-hold) mechanism is switched on at all. |
| vault_window_hours | number|null | yes | Hours a new deposit is held before it settles (0 when nothing is held). |
No examples provided.
get_withdrawal_status Get withdrawal status ~58
Read a withdrawal's status (read-only). Requires scope `wallet_read`. This MCP cannot create withdrawals (that is the SDK, F3).
| Name | Type | Req | Description |
|---|---|---|---|
| withdrawal_id | string | yes | Withdrawal id (or sandbox_… in test mode). |
| Name | Type | Req | Description |
|---|---|---|---|
| amount_cents | – | yes | – |
| created_at | string|null | yes | – |
| id | string | yes | – |
| liquid_txid | string | – | Settlement Liquid txid, once reported. |
| sandbox | boolean | yes | – |
| status | string | yes | `confirmed` appears only in sandbox (not a live status). |
| terminal | boolean | yes | Derived from the terminal status set. |
| type | string | yes | – |
| updated_at | string|null | yes | – |
No examples provided.
list_checkouts List checkouts ~96
List checkouts with filters and pagination. Requires scope `merchant_read`.
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | UTC timestamp lower bound (created_at >=). |
| limit | integer | – | – |
| offset | integer | – | – |
| product_id | string | – | – |
| q | string | – | Substring match on id + description. |
| status | string | – | – |
| to | string | – | UTC timestamp upper bound (created_at <=). |
| Name | Type | Req | Description |
|---|---|---|---|
| checkouts | array | yes | – |
| has_more | boolean | yes | – |
| limit | integer | yes | – |
| offset | integer | yes | – |
| stats | object | yes | – |
No examples provided.
list_product_checkouts List a product's checkouts ~53
List checkouts created from a product. Requires scope `merchant_read`.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| product_id | string | yes | – |
| status | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| checkouts | array | yes | – |
| has_more | boolean | yes | – |
| limit | integer | yes | – |
| offset | integer | yes | – |
| stats | object | yes | – |
No examples provided.
list_products List products ~153
List products with filters and pagination. Charges are NOT included by default — pass kind="charge" to list them (each row then carries `charge_state` with the current cycle, days late and today's total) or kind="all" for both. Requires scope `merchant_read`.
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | Filter by active flag. |
| kind | string | – | Row kind. The API DEFAULTS to `product`, so charges are invisible unless you ask: pass `charge` to list charges (each row then carries `charge_state`) or `all` for both. |
| limit | integer | – | – |
| offset | integer | – | – |
| q | string | – | Substring search over slug, name and description. |
| Name | Type | Req | Description |
|---|---|---|---|
| has_more | boolean | yes | – |
| limit | integer | yes | – |
| offset | integer | yes | – |
| products | array | yes | – |
No examples provided.
list_support_tickets List your support tickets ~51
List the tickets you opened (this session/key), newest activity first. Use get_support_ticket to read a thread and poll for replies.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| has_more | boolean | yes | True when more tickets exist past this page. |
| limit | integer | yes | – |
| offset | integer | yes | – |
| tickets | array | yes | Your tickets (this session/key), newest activity first. |
| total | integer | yes | Total tickets for this principal (ignores pagination). |
No examples provided.
list_webhook_logs List webhook delivery logs ~98
Read recent webhook delivery attempts (read-only): the event, the endpoint, the HTTP status it returned or the transport error, the attempt number and when it was sent — newest first. Pass `id` to fetch one delivery. Did my webhook arrive, and what did the endpoint answer?
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | Fetch ONE delivery log by id (GET /api/webhook-logs/:id). Omit to list recent deliveries. |
| Name | Type | Req | Description |
|---|---|---|---|
| logs | array | yes | Webhook delivery logs, newest first. One-element array when a specific id was requested. |
No examples provided.
open_support_ticket Open a support ticket ~193
Open a support ticket for a bug, unexpected behavior, or an account/payment problem. The body becomes the first message. A human replies within 1 business day — replies are NOT pushed to you: poll get_support_ticket to read them (check back in minutes, not seconds; this is not a live chat). For API or how-to questions, the docs (depixapp.com/docs and depixapp.com/llms.txt) usually answer instantly — prefer a ticket only when something is broken or account-specific. Up to 5 open tickets per account.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Ticket body — becomes the first message (1–4000 chars). |
| category | string | – | Optional category (bug | question | account | payment | other; defaults to 'other'). Triage only — it does not change handling or the SLA. |
| subject | string | yes | Short subject (4–120 chars). |
| Name | Type | Req | Description |
|---|---|---|---|
| ticket | object | yes | – |
No examples provided.
register_account Register a DePix account ~475
Create a DePix agent account and its API keys IN THIS PROCESS, on the operator's machine. THREE THINGS ARE NEEDED FIRST — check them before calling, and relay whichever is missing to the human: (1) a wallet on this machine — the operator runs `npx -y @depixapp/mcp init` in a terminal, which also sets the passphrase that seals the account's keys; (2) the operator's op_ code — send them https://api.depixapp.com/api/agents/oauth/start, they sign in with Google or GitHub and read the code back to you (it reappears on every sign-in), or they set DEPIX_OPERATOR_TOKEN in the host config; (3) their notification email, for `operator_email`. The account's keys are saved ENCRYPTED on this machine and used immediately — no restart, nothing pasted into a config. The response carries only PUBLIC facts (username, store slug, pacing caps, key IDs): the secret keys are NEVER shown here. Activates the sandbox (sk_test_) key by default. If DEPIX_API_KEY is set in the environment, it OVERRIDES the new key and the response says so.
| Name | Type | Req | Description |
|---|---|---|---|
| activate | string | – | Which minted key to make active: test (sandbox, default) or live (production starter). |
| default_callback_url | string | – | Optional default webhook callback URL. |
| name | string | yes | Human-readable name for the account/store (2–100 chars). |
| operator_email | string | yes | Operator notification email (never becomes the account login). |
| operator_token | string | – | The op_ authorization code from the human operator. They get it by signing in at https://api.depixapp.com/api/agents/oauth/start (Google/GitHub; the code re-appears on every sign-in). Relay that link… |
| ref | string | – | Optional referral code (an existing username) — attribution is preserved. |
| username | string | – | Optional username (defaults server-side to agent_<pubkey-prefix>). |
| Name | Type | Req | Description |
|---|---|---|---|
| account_type | string | yes | – |
| active_key_mode | string | yes | Which key is now active. |
| active_key_source | string | yes | Which credential the server actually authenticates with now: "store" = the key just created, "env" = DEPIX_API_KEY, "owner" = the operator's own login (they selected it with `account use owner`). |
| env_override | boolean | yes | true when DEPIX_API_KEY shadows the just-created key. |
| graduation | – | yes | – |
| liquid_address | string | yes | The settlement address (the wallet's own), fixed at registration. |
| live_starter_key_id | string | yes | Id of the live starter key (the secret itself is never returned). |
| merchant_id | string | yes | – |
| merchant_slug | string | yes | The store's public URL slug. |
| pacing | – | yes | The ceilings and delays this account is paced by, as the server reports them — the unverified ones apply now, the verified ones after it verifies. Every field is optional: read what is there, and do… |
| public_key | string | yes | The account's Ed25519 public key (its stable identifier). |
| test_key_id | string | yes | Id of the sandbox key (the secret itself is never returned). |
| username | string | yes | – |
| warning | string|null | yes | A loud note when the env key overrides the new one, else null. |
No examples provided.
reply_support_ticket Reply to a support ticket ~97
Post a reply to one of your tickets. On an answered ticket this moves it back to awaiting a reply; on an auto-closed ticket within 7 days it reopens it. A human answers within 1 business day — poll get_support_ticket for the response (minutes, not seconds).
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | Reply body (1–4000 chars). |
| id | string | yes | Ticket id (tkt_…). |
| Name | Type | Req | Description |
|---|---|---|---|
| message | object | yes | – |
| ticket | object | yes | – |
No examples provided.
revoke_key Revoke one of this account's API keys ~185
Kill an API key, in two phases. Phase 1 (omit confirm): nothing is written — it returns what that key IS (prefix, scopes, whether it is the starter) so you can tell the human exactly what is about to die. Phase 2 (confirm: true): the key stops working immediately and cannot be restored. ASK THE OPERATOR between the two phases. If you revoke the key this server is authenticating with, the next call fails until you mint another (create_key) or switch to the other mode (activate_key) — get the id from agent_status and be sure which one it is.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | false/omitted = phase 1 (describe it, write nothing); true = phase 2 (revoke it). |
| key_id | string | yes | Id of the key to revoke, as listed by agent_status. |
| Name | Type | Req | Description |
|---|---|---|---|
| already_revoked | boolean|null | yes | – |
| found | boolean | yes | Phase 1: does the account own a key with this id? |
| instruction | – | yes | Phase 1: what to relay to the human. |
| is_live | boolean|null | yes | – |
| key_id | string | yes | – |
| phase | string | yes | – |
| prefix | string|null | yes | – |
| revoked | boolean | yes | true only after phase 2 succeeded. |
| scopes | string|null | yes | – |
| starter | boolean|null | yes | Phase 1: is this the key registration issued? |
No examples provided.
set_featured_products Set featured products ~59
Reconcile the pinned product set/order on the public page in one call (empty array clears all). Requires scope `merchant_write`.
| Name | Type | Req | Description |
|---|---|---|---|
| product_ids | array | yes | Ordered product ids to pin (max 50). Empty array clears all pins. |
| Name | Type | Req | Description |
|---|---|---|---|
| featured | array | yes | – |
| success | boolean | yes | – |
No examples provided.
simulate_checkout_payment Simulate checkout payment (sandbox only) ~52
Mark a SANDBOX checkout as paid so you can observe checkout.completed. Live checkouts return sandbox_only. Requires scope `merchant_write`.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_id | string | yes | Sandbox checkout id (chk_…). |
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_id | string | yes | – |
| note | string | yes | – |
| success | boolean | yes | – |
No examples provided.
update_merchant_profile Update merchant profile ~177
Update the store's LIGHT profile fields — business_name, logo_url, website, default_redirect_url, default_callback_url — via PATCH /api/merchants/me. Only the fields you pass change. The money-redirecting fields (liquid_address, split_address) are NOT here by design and cannot be changed with a key. Requires scope `merchant_write`.
| Name | Type | Req | Description |
|---|---|---|---|
| business_name | string | – | The store's display/business name. |
| default_callback_url | string | – | Default webhook endpoint for deposit/withdraw events (empty string clears it). |
| default_redirect_url | string | – | Where a customer is sent after paying (empty string clears it). |
| logo_url | string | – | Public HTTPS URL of the store logo (empty string clears it). |
| website | string | – | The store's website URL (empty string clears it). |
| Name | Type | Req | Description |
|---|---|---|---|
| merchant_slug | string | yes | The store's public URL slug after the update (changes only if the name did). |
No examples provided.
update_product Update product ~361
Partially update a product or charge (only provided fields change). A charge's due_date, recurrence and late fees are editable here; `kind` is not — it is fixed at creation. Requires scope `merchant_write`.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | integer | – | Amount in BRL cents (R$5.00–R$6000.00). Wire field is `amount`. |
| amount_cents | integer | – | Alias of `amount` (BRL cents). Provide either `amount` or `amount_cents`. |
| callback_url | string|null | – | – |
| description | string|null | – | – |
| due_date | string | – | REQUIRED when kind is `charge`. First due date, YYYY-MM-DD, and the anchor of the recurrence. May be in the past — a retroactive charge starts already overdue. |
| expires_in | integer | – | – |
| image_url | string|null | – | – |
| late_fine_bps | integer | – | Charges only. One-time late fine in basis points of the base amount (200 = 2%). Default 0, max 2000 (20%). |
| late_interest_monthly_bps | integer | – | Charges only. Monthly interest in basis points, accrued pro-rata per day late (100 = 1% a month). Default 0, max 1000 (10%). |
| metadata | – | – | – |
| name | string | – | – |
| product_id | string | yes | – |
| recurrence | – | – | Charges only. null or omitted = a one-time charge. Monthly and above anchor on the due day, clamping to the last day of shorter months (the 31st becomes Feb 28/29). |
| redirect_url | string|null | – | – |
| slug | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| product_id | string | yes | – |
| success | boolean | yes | – |
No examples provided.
verify_domain Verify a domain (agent) ~238
Prove control of a domain via a DNS TXT challenge, in two phases. Phase 1 (omit confirm): returns the TXT record NAME and VALUE to create — relay it to the human to add at their DNS provider (only they can: it is their DNS panel, and propagation takes minutes). Phase 2 (confirm: true, after propagation): the server resolves the record and, on a match, records the domain as verified. A verified domain lifts domain_required on the merchant scopes, so phase 2 ALSO trades this account's starter key for one that carries them (merchant_read + merchant_write + the wallet scopes), activates it, and revokes the starter. That upgrade is minted BEFORE the old key is revoked, so a refused mint costs nothing: the domain still counts, the old key still works, and `upgrade_note` says what happened. No secret is ever shown.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | – | false/omitted = phase 1 (get the TXT challenge); true = phase 2 (confirm after the record propagates). |
| domain | string | yes | The domain to verify (e.g. acme.com). |
| Name | Type | Req | Description |
|---|---|---|---|
| active_key_mode | – | – | Phase 2: which key the server authenticates with now. |
| active_key_source | – | – | Phase 2: which credential actually wins. |
| env_override | boolean | – | Phase 2: true when DEPIX_API_KEY shadows the upgraded key. |
| instruction | object | – | Phase 1: plain PT+EN steps to relay to the human. |
| merchant_key | – | – | Phase 2: PUBLIC facts about the upgraded key, or null when none was minted. Never the key itself. |
| phase | string | yes | – |
| previous_key_id | string|null | – | Phase 2: the starter key the upgrade superseded. |
| previous_key_note | string|null | – | Phase 2: why the superseded key was not revoked, or null when it was. Relay it — a live stray key is the operator's business. |
| previous_key_revoked | boolean | – | Phase 2: false means the OLD key is still live — say so; it is a stale credential, not a broken account. |
| record_name | string | – | Phase 1: the DNS TXT record name to create. |
| record_value | string | – | Phase 1: the exact DNS TXT record value. |
| upgrade_note | string|null | – | Phase 2: why no merchant key was minted, or null when one was. |
| verified | boolean | – | Phase 2: did the proof also verify the ACCOUNT (unlocking the merchant tools)? |
| verified_domain | string | – | Phase 2: the registrable domain now recorded as verified. |
| warning | string|null | – | Phase 2: a loud note when the upgraded key is not the one in use. |
No examples provided.
wait_for_checkout Wait for checkout ~99
Wait server-side for a checkout to reach a terminal status, emitting progress. One call — no client-side polling. Returns { status, terminal, timed_out }. Requires scope `merchant_read`.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_id | string | yes | Checkout id (chk_…). |
| timeout_seconds | integer | – | Server-side wait budget (5–290s). The internal deadline always fires with margin below the platform cap, returning timed_out:true rather than being killed. |
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_id | string | yes | – |
| is_live | boolean | yes | – |
| status | string | yes | – |
| terminal | boolean | yes | true when status reached a terminal state. |
| timed_out | boolean | yes | true if the wait budget elapsed before terminal; status is last observed. |
No examples provided.
wallet_buy_giftcard Buy a gift card ~421
Buy a gift card or mobile top-up from CryptoRefills and pay it over Lightning via Boltz (NON-custodial). Discover `brand_name` with wallet_list_giftcards, then `denomination` with wallet_list_giftcard_products: pass the exact denomination string for a FIXED product, or "range" + `product_value` for a DYNAMIC one (wallet_list_giftcard_products tells you which, plus the min/max; wallet_giftcard_price quotes a custom value). MOVES MONEY: the L-BTC lockup passes through the owner's guardrails (value caps; with the allowlist on, BOTH the Lightning payee AND the gift-card beneficiary must be opted in) BEFORE signing, plus a 1% DePix service fee. Delivery goes to `email` (or beneficiary_account) — poll wallet_get_giftcard_order_status for the phase + redemption code/URL. Returns once the lockup is broadcast; Boltz then pays the invoice in the background. Amounts are base units (sats).
| Name | Type | Req | Description |
|---|---|---|---|
| beneficiary_account | string | – | Delivery target override: an email for gift cards, or an E.164 phone for mobile top-ups. |
| brand_name | string | yes | Brand/family name from wallet_list_giftcards (e.g. "Amazon", "Netflix"). |
| country_code | string | – | ISO 3166-1 alpha-2 (e.g. BR). Defaults to the shop config. |
| denomination | string | yes | The face value/product to buy (exact denomination for fixed products, or "range" for dynamic ones). |
| string | yes | Delivery email — also the CryptoRefills beneficiary_account (checked against the allowlist, §4.3). | |
| product_value | string | – | For dynamic (range) products: the chosen face value. |
| quantity | integer | – | Number of identical deliveries, 1–10 (default 1). |
| validate | boolean | – | Run the CryptoRefills pre-flight validation before ordering (default true). |
| Name | Type | Req | Description |
|---|---|---|---|
| beneficiary_account | string | yes | The resolved delivery target (email or phone). |
| expected_amount_sats | integer | yes | L-BTC the Boltz lockup locked (base units). |
| fee_sats | string | yes | The 1% DePix service fee (base units, as a string). |
| invoice | string | yes | The BOLT11 invoice that was paid for the order. |
| invoice_sats | integer | yes | The decoded BOLT11 amount (sats). |
| lockup_txid | string | yes | The broadcast L-BTC lockup transaction id. |
| order_id | string | yes | CryptoRefills order id — poll wallet_get_giftcard_order_status to track it + read delivery. |
| post_sync_failed | boolean | – | true when the balance refresh (sync) AFTER this money-moving call failed. The money already moved (see the txid); the next balance read reflects it. This is never a failure of the operation itself. |
| stale | boolean | – | true when the balance refresh (sync) before this read/spend FAILED and the result reflects the last persisted snapshot — the on-chain state may be newer. Reads never fail on a provider outage; they s… |
| swap_id | string | yes | Boltz submarine swap id for the Lightning payment. |
| total_sats | string | yes | expected_amount + fee — L-BTC leaving the wallet, network fee excluded (base units). |
No examples provided.
wallet_convert Convert (primary surface) ~640
THE PRIMARY conversion surface — converts between assets/networks end to end (e.g. DEPIX→LBTC, LBTC→BTC@lightning, DEPIX→USDT@ethereum) in ONE call; prefer it over the low-level provider tools (wallet_swap_*, wallet_to_stablecoin, wallet_shift_usdt). Executes exactly ONE route: single-hop directly, multi-hop legs sequentially behind a crash-safe persisted plan (wallet_recover resumes after any interruption). MOVES MONEY: every money-moving leg passes through the owner's guardrails BEFORE signing; routes transiting a custodial provider return custodial:true. If several candidate routes resolve the intent, the call fails with MULTIPLE_ROUTES_AVAILABLE and the candidates in error.data.routes — call wallet_quote and pass `route`. Outbound cross-network routes need `address` (or `invoice` for lightning). Waits for settlement by default; on timeout it returns status pending with a next_step — funds in flight are never lost. amount_sats is the FROM asset's BASE UNITS.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | FINAL destination address for outbound cross-network routes (peg-out BTC address, EVM/Tron stablecoin address, SideShift settle address). Checked against the allowlist when it is ON (§4.3). |
| amount_sats | string | yes | Amount in the asset's BASE UNITS (sats), as a decimal integer STRING. 1 DePix cent = 1,000,000 sats. Never pass a BRL value here. |
| from | string | yes | Asset to convert FROM: DEPIX, USDT, LBTC (L-BTC), BTC or USDC. |
| from_network | string | – | ORIGIN network of `from`. Liquid assets default to liquid (this wallet's holdings); set it for external inflows (BTC: bitcoin | lightning; inbound USDT: its source network). |
| invoice | string | – | BOLT11 invoice — the destination of an LBTC → BTC@lightning conversion (its embedded amount governs; amount_sats is used only for quoting). |
| network | string | – | DESTINATION network of `to` (default liquid). e.g. lightning for a BOLT11 payout, ethereum/tron/… for an external stablecoin delivery. |
| refund_address | string | – | Optional Liquid refund address for SideShift send routes. Checked against the allowlist when it is ON. |
| route | string | – | A route id from wallet_quote. REQUIRED when more than one candidate route resolves the intent (the SDK never chooses for you — MULTIPLE_ROUTES_AVAILABLE lists the candidates). |
| timeout_seconds | integer | – | Settlement wait bound in seconds (hard ceiling 900). On timeout the result is status pending with a next_step — funds in flight are never an error. |
| to | string | yes | Asset to convert TO: DEPIX, USDT, LBTC (L-BTC), BTC or USDC. |
| wait | boolean | – | Wait for settlement (default true). Inflow routes return funding details immediately either way; with wait:false outbound routes return status pending right after the first broadcast. |
| Name | Type | Req | Description |
|---|---|---|---|
| custodial | boolean | yes | true when the executed route transits a custodial provider (G4, signalled). |
| funding | object | – | Funding instructions for INFLOW routes (only with status awaiting_funding). |
| hops | integer | yes | Legs in the executed route. |
| next_step | string | – | What to do next when the result is not terminal — always actionable (G3). |
| post_sync_failed | boolean | – | true when the balance refresh (sync) AFTER this money-moving call failed. The money already moved (see the txid); the next balance read reflects it. This is never a failure of the operation itself. |
| received_sats | string|null | yes | ACTUAL receipt in 8-decimal base units of `to` (string) — null until the provider reports delivery. |
| route_id | string | yes | The executed route's id. |
| stale | boolean | – | true when the balance refresh (sync) before this read/spend FAILED and the result reflects the last persisted snapshot — the on-chain state may be newer. Reads never fail on a provider outage; they s… |
| status | string | yes | settled = delivered. pending/refund_pending = in flight (see next_step; wallet_recover resumes). awaiting_funding = an external party must fund first (see funding). refunded/failed = terminal, nothin… |
| tracking_id | string | – | Provider tracking id (swap id / shift id / peg order id). |
| txids | array | yes | Every txid the conversion produced so far (lockup/send first, payout/claim after). |
No examples provided.
wallet_create_deposit Create Pix deposit ~156
Create a Pix deposit charge, returning a copy-and-paste (BR Code) the human OWNER pays to fund this wallet with DePix. amount_cents is BRL cents; payer_tax_number is the PAYER's CPF/CNPJ. Not a checkout QR. Creates a charge but moves no money itself.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_cents | integer | yes | Amount in BRL CENTS (integer). e.g. 1000 = R$10.00. DePix is pegged 1:1 to BRL. NOT sats. |
| payer_tax_number | string | yes | CPF/CNPJ of the OWNER who will pay the Pix QR (the payer). It is the human funding the deposit — not necessarily the wallet holder. |
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Deposit id — pass it to wallet_wait_deposit. |
| qr_copy_paste | string | yes | The Pix copy-and-paste (BR Code) the human OWNER pays. Never a checkout QR. |
| sandbox | boolean | – | true when this is a sandbox (sk_test_) deposit — DO NOT pay it. |
No examples provided.
wallet_create_withdrawal Create Pix withdrawal ~298
Withdraw to a Pix key: build ONE Liquid transaction (provider output + explicit fee output), sign and broadcast. amount_cents is BRL cents; mode `send` = the DePix you send, `payout` = the BRL the recipient receives; recipient_tax_number is the DESTINATION Pix key holder's CPF/CNPJ. A fresh receive address of THIS wallet is sent as the refund address, so a Pix the provider cannot complete comes back here — no parameter to pass. MOVES MONEY: passes through guardrails on the GROSS before signing. Irreversible once broadcast.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_cents | integer | yes | Amount in BRL CENTS (integer). e.g. 1000 = R$10.00. DePix is pegged 1:1 to BRL. NOT sats. |
| mode | string | yes | `send` = amount_cents is the DePix you SEND from the wallet (deposit side). `payout` = amount_cents is the BRL the recipient RECEIVES on Pix (payout side). |
| pix_key | string | yes | Destination Pix key (CPF/CNPJ, email, phone, or random/EVP key). |
| recipient_tax_number | string | yes | CPF/CNPJ of the HOLDER of the DESTINATION Pix key (the person receiving the payout). This is a DIFFERENT person from a deposit's payer — do not reuse the payer's document. |
| Name | Type | Req | Description |
|---|---|---|---|
| fee_address | string|null | yes | Explicit (ex1) fee address, or null on the no-fee branch. |
| fee_cents | – | yes | Service fee in BRL cents (null on the no-fee branch, §3.2.2). |
| gross_cents | integer | yes | GROSS BRL cents leaving the wallet (net + fee). |
| net_cents | integer | yes | NET BRL cents delivered to the payout provider. |
| payout_cents | integer | yes | BRL cents the recipient receives on Pix. |
| post_sync_failed | boolean | – | true when the balance refresh (sync) AFTER this money-moving call failed. The money already moved (see the txid); the next balance read reflects it. This is never a failure of the operation itself. |
| sandbox | boolean | – | true when this is a sandbox withdrawal — no on-chain leg ran. |
| stale | boolean | – | true when the balance refresh (sync) before this read/spend FAILED and the result reflects the last persisted snapshot — the on-chain state may be newer. Reads never fail on a provider outage; they s… |
| txid | string|null | yes | Broadcast Liquid txid (null only in sandbox). |
| withdrawal_id | string | yes | Withdrawal id — pass it to wallet_wait_withdrawal. |
No examples provided.
wallet_diagnostics Wallet diagnostics ~86
Read a health snapshot for support/debugging: SDK + LWK versions, data dir, backup state, sync health (last scan/success and the last update-persist failure), per-rail pending counters, and the guardrail budget. Read-only and local (no network, no signing) and carries NO key material — never the seed, mnemonic or descriptor. Moves no money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key_configured | boolean | yes | Whether a DePix API key is set (deposit/withdraw need one). |
| backup_confirmed | boolean | yes | Whether the seed backup was confirmed (§2.9). |
| data_dir | string | yes | The wallet data directory (local path — no key material lives in this snapshot). |
| guardrails | – | yes | Guardrail config + rolling-24h usage, or null when the readout is unavailable on this wallet. |
| has_seed | boolean | yes | false on a view-only/wiped wallet. A boolean only — never the material. |
| lwk_version | string | yes | The exact pinned lwk_node (LWK) version this build ships. |
| pending | object | yes | Per-rail pending counters — the wallet_pending tally; use wallet_recover to re-drive them. |
| sdk_version | string | yes | The @depixapp/sdk version this wallet runs. |
| sync | object | yes | Sync health (§2.5 meta): when the wallet last scanned/persisted and whether persistence is failing. |
No examples provided.
wallet_get_address Get receive address ~89
Return a FRESH, unused Liquid receive address for this wallet (no on-chain reuse across calls). Blocked with BACKUP_REQUIRED until the seed backup is exported and confirmed (§2.9). Moves no money.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | – | Advanced: derive a specific descriptor index. Omit for a FRESH, unused receive address (recommended — the SDK guarantees no on-chain reuse across calls). |
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | A fresh, unused Liquid receive address for this wallet. |
No examples provided.
wallet_get_balances Get balances ~55
Return confirmed on-chain balances for DePix, L-BTC and USDt in base units (sats, as strings), plus a total BRL-cent estimate (null if a needed quote is unavailable). Moves no money.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| balances | object | yes | Confirmed on-chain balances per asset, in base units. |
| brl_estimate_cents | – | yes | Total BRL-cent estimate across assets, or null if a needed quote is unavailable (§4.4). |
| stale | boolean | – | true when the balance refresh (sync) before this read/spend FAILED and the result reflects the last persisted snapshot — the on-chain state may be newer. Reads never fail on a provider outage; they s… |
No examples provided.
wallet_get_giftcard_order_status Get live gift-card order status ~111
Poll one order's LIVE status at CryptoRefills and fold it into the local log: returns the `phase`, a `terminal` flag (stop polling once true), and the `delivery` — the redemption code or URL once the order reaches 'delivered'. Use after wallet_buy_giftcard to retrieve the gift card. Read-only, no config gate, moves no money.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | The CryptoRefills order id (from wallet_buy_giftcard). |
| Name | Type | Req | Description |
|---|---|---|---|
| delivery | – | yes | The redemption code/URL once delivered; null otherwise. |
| phase | string | yes | delivered | expired | canceled | manual | paid | awaiting_payment. |
| terminal | boolean | yes | true when the order reached a final state (stop polling). |
No examples provided.
wallet_get_guardrails Get guardrails ~60
Read the owner's guardrail config and current rolling-24h usage (caps in BRL cents, used, remaining, whether the allowlist is on). Read-only — guardrails are immutable at runtime and no tool can change them (G9).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| allowlist_enabled | boolean | yes | Whether the owner turned the destination allowlist on (§4.3). |
| daily_limit_cents | integer | yes | Owner-set rolling-24h cap in BRL cents (§4.2). |
| per_tx_limit_cents | integer | yes | Owner-set per-transaction cap in BRL cents (§4.2). |
| remaining_cents | integer | yes | daily_limit_cents − used_cents (never negative). |
| used_cents | integer | yes | BRL cents committed in the rolling 24h window. |
No examples provided.
What is the DePix App MCP server?
DePix App MCP is listed in the public MCP registry as io.github.depixapp/depix-mcp. One MCP: hosted Pix receive + dated charges (26 tools), or local npx non-custodial wallet (62). This page covers its npm package (@depixapp/mcp).
Is the DePix App MCP server safe to use?
DePix App MCP scores 87 out of 100 on VerifyMCP. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the DePix App MCP server expose?
DePix App MCP exposes 62 tools: create_checkout, get_checkout, list_checkouts, simulate_checkout_payment, wait_for_checkout, and 57 more. Their descriptions and schemas cost roughly 10,608 tokens of context every time the server is loaded.
Is the DePix App MCP server still maintained?
DePix App MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the DePix App MCP server under?
DePix App MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.