BlindPay

com.blindpayPublished by blindpay.comOfficial publisherv1.10.2Updated Nov 7, 2026

Official BlindPay MCP server: stablecoin payouts, payins, quotes and customers for global payments.

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Official BlindPay MCP server that lets an assistant create customers, get quotes, and run stablecoin payouts and payins through BlindPay's payment API.

What you can do
  • Inspect the bound instance, its onboarding details, members and pending RFI requests
  • Create, update and delete customers, submit KYC/KYB data and RFI responses, and request limit increases
  • Manage payout destinations: bank accounts, Plaid links, virtual accounts, blockchain and offramp wallets
  • Get quotes and FX rates, then execute payouts and payins across networks
  • Read balances, limits and transaction history, and configure webhook endpoints
When to use it
Use it when you want an AI assistant to operate BlindPay payments: onboarding customers, quoting and sending stablecoin payouts to bank rails, or setting up virtual accounts and wallets. Start on a development instance to test flows before touching production funds.
Requirements
Either the remote endpoint with OAuth sign-in to a BlindPay account, or the local npm package run with Node.js and npx. The local server needs BLINDPAY_API_KEY and usually BLINDPAY_INSTANCE_ID; BLINDPAY_MCP_PROFILE can be set to readonly. A BlindPay account, instance and API key are created in the dashboard.
Before you install
On a production instance, create tools move real funds; confirm amounts and recipients first. The server handles customer KYC data, bank details and wallet addresses, and asks for an API key that grants account access. Some steps (API keys, instances, KYB onboarding, terms acceptance) must be done by a person in the dashboard. Use idempotency keys on money-moving calls to avoid duplicate payouts.

Installation

In SourceWeft

  1. Open BlindPay in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.blindpay%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "blindpay": {
      "type": "http",
      "url": "https://mcp.blindpay.com/mcp"
    }
  }
}

README

BlindPay MCP Server[Image]

[chat on Discord] [twitter] [npm version] [Install in VS Code]

The official Model Context Protocol server for BlindPay - Stablecoin API for global payments.

What This MCP Server Does

This MCP server provides AI assistants (Cursor, Claude Code, Codex, etc.) with access to BlindPay's stablecoin payment infrastructure. It exposes tools that allow AI assistants to:

  • Create and manage customers (individuals/businesses)
  • Process payouts and payins on multiple blockchains
  • Create quotes and get FX rates
  • Manage virtual accounts and blockchain wallets
  • Configure webhooks and API keys
  • And more...

Two ways to connect

Remote server (recommended)Local npx server
URL / commandhttps://mcp.blindpay.com/mcpnpx -y @blindpay/mcp
AuthOAuth 2.1 sign-in with your BlindPay account (PKCE)BLINDPAY_API_KEY env var
TransportStreamable HTTPstdio
Works inClaude, ChatGPT, Cursor, VS Code, Grok, any remote-capable clientAny stdio MCP client

Both expose the same tools, the same server instructions (call order, units, test amounts) and the same webhook event resources at blindpay://webhooks/events. The remote server needs no API key: the client opens a browser, you sign in and pick an instance, and the token is scoped to your role on it.

Tool profiles

Set BLINDPAY_MCP_PROFILE on the local server to choose which tools are exposed:

ProfileToolsUse when
full (default)Every public API operation, including payouts and transfersBuilding or operating with an AI coding assistant
readonlyGET operations only: status, balances, history. Leaves out the wallet sign-message, webhook secret and webhook portal-access tools, and drops trace_id from JSON responses, like /mcp/readonlyConsumer assistants, or any place a tool that moves money is unwanted

Every tool carries MCP annotations (readOnlyHint, destructiveHint, idempotentHint) derived from its HTTP verb, so clients can gate confirmations themselves.

Prerequisites (local server only)

Get your API key and Instance ID:

  1. Create an account on BlindPay
  2. Create a development instance
  3. Go to the BlindPay Dashboard
  4. Select your instance and click on the API Keys tab
  5. Create a new API key
  6. Copy your instance ID (format: in_xxxxxxxxxxxx) from the dashboard url

Dependencies you need to have installed:

You can check if you have Node.js installed by running node -v. Same for Npm, you can check by running npm -v.

Installation

Cursor

One-click install (remote server, OAuth, no API key):

[Add to Cursor]

Or add it to ~/.cursor/mcp.json yourself, then select Needs login in Cursor's MCP settings and sign in with your BlindPay account:

json
{  "mcpServers": {    "blindpay": {      "url": "https://mcp.blindpay.com/mcp",      "auth": {        "CLIENT_ID": "4c2rAa08DqbVvnon",        "scopes": ["profile", "email", "offline_access"]      }    }  }}

Cursor only signs in through dynamic client registration or a fixed client ID, and BlindPay's sign-in has no registration endpoint, so 4c2rAa08DqbVvnon is BlindPay's public OAuth client ID for Cursor. Keep scopes as shown: without it Cursor asks for every scope the sign-in server advertises, and any scope outside these three fails with invalid_scope. An Authorization: Bearer header doesn't work here: Cursor ignores configured headers when the server publishes OAuth discovery. The Cursor plugin in plugins/cursor sets this up with both endpoints.

One-click install (local server with API key):

Add MCP to Cursor

After installation, add your API key and instance ID to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "blindpay": {      "command": "npx",      "args": ["-y", "@blindpay/mcp"],      "env": {        "BLINDPAY_API_KEY": "your-api-key-here",        "BLINDPAY_INSTANCE_ID": "your-instance-id-here"      }    }  }}

Claude Code

As a plugin (remote server, OAuth, no API key):

bash
claude plugin marketplace add blindpaylabs/blindpay-mcpclaude plugin install blindpay@blindpay

Or as a plain MCP server:

bash
claude mcp add --transport http blindpay https://mcp.blindpay.com/mcp

Local server with an API key:

bash
claude mcp add --transport stdio blindpay --env BLINDPAY_API_KEY=your-api-key-here --env BLINDPAY_INSTANCE_ID=your-instance-id-here -- npx -y @blindpay/mcp

Claude Desktop

Add to your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "blindpay": {      "command": "npx",      "args": ["-y", "@blindpay/mcp"],      "env": {        "BLINDPAY_API_KEY": "your-api-key-here",        "BLINDPAY_INSTANCE_ID": "your-instance-id-here"      }    }  }}

Codex

Remote server (OAuth, no API key):

bash
codex mcp add blindpay --url https://mcp.blindpay.com/mcp

Local server with an API key:

bash
codex mcp add blindpay --env BLINDPAY_API_KEY=your-api-key-here --env BLINDPAY_INSTANCE_ID=your-instance-id-here -- npx -y @blindpay/mcp

Or add to your ~/.codex/config.toml (or project-scoped .codex/config.toml):

toml
[mcp_servers.blindpay]command = "npx"args = ["-y", "@blindpay/mcp"]
[mcp_servers.blindpay.env]BLINDPAY_API_KEY = "your-api-key-here"BLINDPAY_INSTANCE_ID = "your-instance-id-here"

VS Code

Click the Install in VS Code badge at the top, or add to .vscode/mcp.json:

json
{  "servers": {    "blindpay": {      "type": "http",      "url": "https://mcp.blindpay.com/mcp"    }  }}

You can also search @mcp blindpay in the Extensions view once the gallery entry is live.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "blindpay": {      "serverUrl": "https://mcp.blindpay.com/mcp"    }  }}

Raycast

Open the Model Context Protocol Registry extension in Raycast, search for BlindPay and click Install Server. Or install manually with Manage Servers → Add Server using the local config from the Cursor section.

Claude (claude.ai / Claude Desktop, remote)

In Settings → Connectors → Add custom connector, paste https://mcp.blindpay.com/mcp and complete the sign-in. Only read-only tools are exposed to consumer directories.

ChatGPT

Enable Developer Mode in Settings → Connectors → Advanced, then Create a connector with https://mcp.blindpay.com/mcp and OAuth authentication.

Grok

Grok Build plugin (recommended): install blindpay from the xAI plugin marketplace. The plugin ships both remote HTTP MCP endpoints:

ServerURLScope
blindpayhttps://mcp.blindpay.com/mcpFull (read + write)
blindpay-readonlyhttps://mcp.blindpay.com/mcp/readonlyRead-only

Both use OAuth 2.1 (PKCE) with your BlindPay account — no API key to paste.

Custom connector (paid Grok tier): go to https://grok.com/connectors → New Connector → Custom, enter https://mcp.blindpay.com/mcp (or the readonly URL), leave client credentials empty, and complete the BlindPay sign-in when prompted.

Cline

Ask Cline to install the BlindPay MCP server from https://github.com/blindpaylabs/blindpay-mcp. It follows llms-install.md.

Gemini CLI

bash
gemini extensions install https://github.com/blindpaylabs/blindpay-mcp

Docker

Local stdio server in a container, built from this repo:

bash
docker build -t blindpay-mcp .docker run -i --rm -e BLINDPAY_API_KEY=your-api-key-here -e BLINDPAY_INSTANCE_ID=your-instance-id-here blindpay-mcp

Any other MCP client

Remote: point the client at https://mcp.blindpay.com/mcp (Streamable HTTP, OAuth 2.1 discovery via /.well-known/oauth-protected-resource). Local: run npx -y @blindpay/mcp over stdio with BLINDPAY_API_KEY set.

Example Prompts

Once configured, you can ask your AI assistant to interact with BlindPay:

"Get me a quote for sending 1000 USDC to a bank account in Brazil"
"List all my recent payouts from the last 7 days"
"Create a virtual account for the customer with ID re_xxxxxxxxxxxx"
"Show me the available payment rails"
"Get all customers for instance in_xxxxxxxxxxxx"

[!TIP] Set BLINDPAY_INSTANCE_ID and every instance-scoped tool fills in the instance id for you, the way the remote server does; a value the model sends is ignored. Without it, give the instance id in your prompt.

Documentation

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Made with ❤️ by the BlindPay team

Source: README.md at commit d3553d5

Tools

93

GetV1InstancesOnboardingBusinessDetails

Get Instances Onboarding Business Details

Retrieve Business Details

Parametersinstance_idrequired

GetV1InstancesOnboardingBusinessProfile

Get Instances Onboarding Business Profile

Retrieve Business Profile

Parametersinstance_idrequired

GetV1InstancesOnboardingOwnershipDocuments

Get Instances Onboarding Ownership Documents

Retrieve Business Documents

Parametersinstance_idrequired

GetV1InstancesById

Get Instances By Id

Returns the instance your API key or connection is bound to. Check `type` before moving money: `development` simulates settlement and moves no real funds, `production` moves real funds. `onboarding_step` is `completed` once the instance can transact.

Parametersidrequired

PutV1InstancesById

Put Instances By Id

Update Instance

ParametersidrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesMembers

Get Instances Members

Retrieve Instance Members

Parametersidrequired

PutV1InstancesMembersByUserId

Put Instances Members By User Id

Update Instance Member Role

Parametersidrequireduser_idrequiredrequestBodyrequiredIdempotency-Key

DeleteV1InstancesMembersByUserId

Delete Instances Members By User Id

Delete Member from Instance

Parametersidrequireduser_idrequiredIdempotency-Key

GetV1InstancesRfi

Get Instances Rfi

Returns the open (pending) RFI for this instance, or null if the instance has no pending RFI.

Parametersinstance_idrequired

PostV1InstancesRfi

Post Instances Rfi

Submit a flat response object for the open instance RFI. Standalone: submitting does not change any instance or onboarding status. Returns `{ success: false, reason }` when no pending RFI exists, callers should refetch the RFI state instead of retrying.

Parametersinstance_idrequiredrequestBody

PostV1EInstancesTos

Post EInstances Tos

Returns a URL where the end customer accepts BlindPay's terms of service. A person must open it in a browser and accept; it cannot be accepted through the API. After acceptance the browser is sent to redirect_url with tos_id as a query parameter, and a tos.accept webhook fires. Pass that tos_id (to_...) to Create Customer. idempotency_key is any unique string and cannot be reused.

Parametersinstance_idrequiredrequestBodyrequired

GetV1InstancesCustomersLimitIncrease

Get Instances Customers Limit Increase

Retrieve Limit Increase Requests

Parameterscustomer_idrequiredinstance_idrequired

PostV1InstancesCustomersLimitIncrease

Post Instances Customers Limit Increase

Request Limit Increase

Parameterscustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomers

Get Instances Customers

Retrieve Customers

Parameterslimitoffsetstatuscountryfull_namecustomer_idinstance_idrequiredcustomer_nameending_beforestarting_afterbank_account_id

PostV1InstancesCustomers

Post Instances Customers

Creates a customer and starts KYC (individuals) or KYB (businesses). Send the tos_id the customer received after accepting terms of service (see Initiate Terms of Service). Required fields depend on type and kyc_type. Individual, standard: first_name, last_name, date_of_birth, tax_id, address_line_1, city, state_province_region, postal_code, country, id_doc_country, id_doc_type, id_doc_front_file and selfie_file. Business, standard: legal_name, formation_date, tax_id, website, the same address fields, at least one entry in owners, incorporation_doc_file, proof_of_ownership_doc_file, proof_of_address_doc_type and proof_of_address_doc_file. kyc_type light is not available, and businesses only support standard. US state_province_region is a two-letter code. File fields are HTTPS URLs that BlindPay downloads, so they must be publicly fetchable; data: URIs are rejected. The customer starts with kyc_status verifying. Development instances approve it automatically.

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomersById

Get Instances Customers By Id

Retrieve Customer

Parametersidrequiredinstance_idrequired

PutV1InstancesCustomersById

Put Instances Customers By Id

Update Customer

Parametersidrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

DeleteV1InstancesCustomersById

Delete Instances Customers By Id

Delete Customer

Parametersidrequiredinstance_idrequiredIdempotency-Key

GetV1InstancesLimitsCustomersById

Get Instances Limits Customers By Id

Retrieve Customer Limits

Parametersidrequiredinstance_idrequired

GetV1InstancesCustomersRfi

Get Instances Customers Rfi

Returns the open (pending) RFI for this customer, or null if the customer has no pending RFI.

Parameterscustomer_idrequiredinstance_idrequired

PostV1InstancesCustomersRfi

Post Instances Customers Rfi

Submit a flat response object for the open RFI. On success flips kyc_status back to verifying. Returns `{ success: false, reason }` when no pending RFI exists, callers should refetch the RFI state instead of retrying.

Parameterscustomer_idrequiredinstance_idrequiredrequestBodyIdempotency-Key

PostV1InstancesCustomersBankAccountsPlaid

Post Instances Customers Bank Accounts Plaid

Create Plaid Link

Parameterscustomer_idrequiredinstance_idrequiredrequestBody

GetV1InstancesCustomersBankAccounts

Get Instances Customers Bank Accounts

Retrieve Bank Accounts

Parametersnametypestatuscountrycustomer_idrequiredinstance_idrequiredbank_account_id

PostV1InstancesCustomersBankAccounts

Post Instances Customers Bank Accounts

Adds a payout destination for a customer. Required fields depend on type (the rail): call Bank Details (GET /v1/available/bank-details) with the rail first for the exact field list and validation. For ach and wire: business_industry (a NAICS code from GET /v1/available/naics) is required when account_class is business, phone_number is required when country is BR, CN, CO, HK, MY, MX, PH, UG or UY, and tax_id is required when country is AR, BY, BR, CL, CN, CO, CR, EC, GT, HN, JP, KZ, KR, MX, PK, PE, PH, RU, TH or UY. A US state_province_region is a two-letter code. ach, wire and rtp are not available for light KYC customers.

Parameterscustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomersBankAccountsById

Get Instances Customers Bank Accounts By Id

Retrieve Bank Account

Parametersidrequiredcustomer_idrequiredinstance_idrequired

DeleteV1InstancesCustomersBankAccountsById

Delete Instances Customers Bank Accounts By Id

Remove Bank Account

Parametersidrequiredcustomer_idrequiredinstance_idrequiredIdempotency-Key

GetV1InstancesCustomersVirtualAccounts

Get Instances Customers Virtual Accounts

Retrieve Virtual Accounts

Parameterscustomer_idrequiredinstance_idrequired

PostV1InstancesCustomersVirtualAccounts

Post Instances Customers Virtual Accounts

Creates a virtual account that automatically converts inbound USD deposits (ACH, wire, RTP) into stablecoins sent to the linked wallet. Fees on these automated payins depend on the deposit amount: deposits below $100.00 accrue the BlindPay fee to your billing cycle (charged at the end of the month via the payin's `billing_fee_amount`), while deposits of $100.00 or more are charged at the time of the transaction (deducted from the delivered amount via `transaction_fee_amount`). Every deposit is processed regardless of size and always delivers at least $0.01 on-chain; a partner fee (optional `partner_fee_id`) is collected only from what remains after that.

Parameterscustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomersVirtualAccountsById

Get Instances Customers Virtual Accounts By Id

Retrieve Virtual Account

Parametersidrequiredcustomer_idrequiredinstance_idrequired

PutV1InstancesCustomersVirtualAccountsById

Put Instances Customers Virtual Accounts By Id

Update Virtual Account

Parametersidrequiredcustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomersBlockchainWalletsSignMessage

Get Instances Customers Blockchain Wallets Sign Message

Retrieve Blockchain Wallet Message

Parameterscustomer_idrequiredinstance_idrequired

GetV1InstancesCustomersBlockchainWallets

Get Instances Customers Blockchain Wallets

Retrieve Blockchain Wallets

Parameterscustomer_idrequiredinstance_idrequired

PostV1InstancesCustomersBlockchainWallets

Post Instances Customers Blockchain Wallets

Add Blockchain Wallet

Parameterscustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomersBlockchainWalletsById

Get Instances Customers Blockchain Wallets By Id

Retrieve Blockchain Wallet

Parametersidrequiredcustomer_idrequiredinstance_idrequired

DeleteV1InstancesCustomersBlockchainWalletsById

Delete Instances Customers Blockchain Wallets By Id

Remove Blockchain Wallet

Parametersidrequiredcustomer_idrequiredinstance_idrequiredIdempotency-Key

PatchV1InstancesCustomersBlockchainWalletsById

Patch Instances Customers Blockchain Wallets By Id

Declares whether the customer holds the private keys of this wallet. Only works while is_self_custody is null; once saved it cannot be changed.

Parametersidrequiredcustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomersBankAccountsOfframpWallets

Get Instances Customers Bank Accounts Offramp Wallets

Get Offramp Wallets

Parameterscustomer_idrequiredinstance_idrequiredbank_account_idrequired

PostV1InstancesCustomersBankAccountsOfframpWallets

Post Instances Customers Bank Accounts Offramp Wallets

Create Offramp Wallet

Parameterscustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Keybank_account_idrequired

GetInstancesCustomersBankAccountsOfframpWalletsById

Get Instances Customers Bank Accounts Offramp Wallets By Id

Get Offramp Wallet

Parametersidrequiredcustomer_idrequiredinstance_idrequiredbank_account_idrequired

PutInstancesCustomersBankAccountsOfframpWalletsById

Put Instances Customers Bank Accounts Offramp Wallets By Id

Update Offramp Wallet

Parametersidrequiredcustomer_idrequiredinstance_idrequiredrequestBodyIdempotency-Keybank_account_idrequired

PostV1InstancesQuotes

Post Instances Quotes

Prices a payout. Send exactly one of bank_account_id or payable_id. request_amount is in cents (1000 means 10.00) and currency_type says whether it is what the sender pays or what the receiver gets. The quote expires 5 minutes after creation (expires_at is epoch milliseconds) and is single-use: execute it with Create Payout on EVM Chains for BlindPay-managed wallets on any network, Solana included, or with the Solana or Stellar payout endpoints for self-custodied wallets.

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesQuotesFx

Post Instances Quotes Fx

Get FX Rate

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesPayoutsById

Get Instances Payouts By Id

Retrieve Payout

Parametersidrequiredinstance_idrequired

GetV1InstancesPayouts

Get Instances Payouts

Retrieve Payouts

Parameterslimittokenoffsetstatuscountrynetworkcustomer_idinstance_idrequiredcustomer_nameending_beforepayment_methodstarting_after+1 more

PostV1InstancesPayoutsStellarAuthorize

Post Instances Payouts Stellar Authorize

Authorize Token Stellar

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPayoutsStellar

Post Instances Payouts Stellar

Create Payout on Stellar

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPayoutsSolana

Post Instances Payouts Solana

Create Payout on Solana

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPayoutsEvm

Post Instances Payouts Evm

Executes a payout quote. Despite the name, this is the endpoint for payouts funded from a BlindPay-managed wallet on any network, Solana included; self-custodied EVM wallets must approve the token first. Execute before the quote expires (5 minutes). Send an Idempotency-Key header so a retry cannot create a second payout. On development instances the payout completes on its own; request_amount 66600 makes it fail and 77700 makes it refunded.

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPayoutsDocuments

Post Instances Payouts Documents

Submit a compliance document for a payout. SWIFT payouts waiting for documents require it and the submission resumes the compliance review; the optional payment description is written to the SWIFT memo. Other rails (wire, ACH, RTP, Pix and so on) may attach an optional document while the payout is processing or completed. It is stored for compliance without changing the payout status or tracking, the description is ignored, and submitting again replaces the previous document.

Parametersidrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPayinQuotes

Post Instances Payin Quotes

Prices a payin from a local payment method into a stablecoin wallet. Send one of wallet_id (BlindPay-managed wallet) or blockchain_wallet_id. Do not send a network: the wallet decides where the tokens are delivered. request_amount is in cents; the minimum depends on the currency (1000, which is 10.00, for USD and BRL) and OTC quotes have a higher minimum. funding_bank_account_id is required when payment_method is ach_pull. The quote expires 5 minutes after creation, or 10 seconds for OTC quotes; create the payin with Create Payin before then.

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPayinQuotesFx

Post Instances Payin Quotes Fx

Get FX Rate

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesPayinsById

Get Instances Payins By Id

Retrieve Payin

Parametersidrequiredinstance_idrequired

GetV1InstancesPayins

Get Instances Payins

Retrieve Payins

Parameterslimittokenoffsetstatuscountrynetworkcustomer_idinstance_idrequiredcustomer_nameending_beforepayment_methodstarting_after+1 more

PostV1InstancesPayinsEvm

Post Instances Payins Evm

Creates a payin from a payin quote and returns the instructions the payer uses to send funds (for example a Pix code or bank details). Create it before the payin quote expires. Send an Idempotency-Key header so a retry cannot create a second payin. On development instances the payin completes on its own about 30 seconds after creation; request_amount 66600 makes it fail and 77700 makes it refunded.

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPayinsCardPayment

Post Instances Payins Card Payment

Submit Card Payment

Parameterspayin_idrequiredinstance_idrequiredrequestBodyrequired

GetV1InstancesCustomersWallets

Get Instances Customers Wallets

Retrieve Wallets

Parameterscustomer_idrequiredinstance_idrequired

PostV1InstancesCustomersWallets

Post Instances Customers Wallets

Create Wallet

Parameterscustomer_idrequiredinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesCustomersWalletsById

Get Instances Customers Wallets By Id

Retrieve Wallet

Parametersidrequiredcustomer_idrequiredinstance_idrequired

DeleteV1InstancesCustomersWalletsById

Delete Instances Customers Wallets By Id

Remove Wallet

Parametersidrequiredcustomer_idrequiredinstance_idrequiredIdempotency-Key

GetV1InstancesCustomersWalletsBalance

Get Instances Customers Wallets Balance

Returns the balance of a BlindPay-managed wallet for USDC, USDT and USDB, plus EURC (EURB on development instances) on Base. Unlike quote and payout amounts, these values are whole tokens, not cents: amount 10.5 means 10.5 USDC. total_amount is amount plus earning_amount from yield.

Parametersidrequiredcustomer_idrequiredinstance_idrequired

GetV1InstancesCustomersWalletsDeposits

Get Instances Customers Wallets Deposits

Incoming stablecoin deposits to a managed wallet, newest first.

Parametersidrequiredlimittokenstatuscustomer_idrequiredinstance_idrequiredending_beforestarting_after

PostV1InstancesCustomersWalletsYieldEnable

Post Instances Customers Wallets Yield Enable

Turns yield on for the wallet. Returns the wallet, not the yield object: read yield_status here and use Retrieve Wallet Yield for positions. Idle balance is swept into the vault within the hour.

Parametersidrequiredcustomer_idrequiredinstance_idrequiredIdempotency-Key

PostV1InstancesCustomersWalletsYieldDisable

Post Instances Customers Wallets Yield Disable

Turns yield off for the wallet. Returns the wallet, not the yield object. The wallet moves to disabling, the vault position is redeemed back to the wallet and any accrued fee is collected, then yield_status settles to disabled and a wallet.update webhook fires.

Parametersidrequiredcustomer_idrequiredinstance_idrequiredIdempotency-Key

GetV1InstancesCustomersWalletsYieldHistory

Get Instances Customers Wallets Yield History

Retrieve Wallet Yield History

Parametersidrequiredtofromtokencustomer_idrequiredinstance_idrequired

GetV1InstancesCustomersWalletsYieldTransactions

Get Instances Customers Wallets Yield Transactions

Retrieve Wallet Yield Transactions

Parametersidrequiredlimittokenoffsetcustomer_idrequiredinstance_idrequiredending_beforestarting_after

GetV1InstancesCustomersWalletsYield

Get Instances Customers Wallets Yield

Retrieve Wallet Yield

Parametersidrequiredcustomer_idrequiredinstance_idrequired

PostV1InstancesTransferQuotes

Post Instances Transfer Quotes

Create Transfer Quote

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesTransfersById

Get Instances Transfers By Id

Retrieve Transfer

Parametersidrequiredinstance_idrequired

GetV1InstancesTransfers

Get Instances Transfers

Retrieve Transfers

Parameterslimittokenoffsetstatusnetworkwallet_idcustomer_idinstance_idrequiredending_beforestarting_after

PostV1InstancesTransfers

Post Instances Transfers

Create Transfer

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesPayables

Get Instances Payables

List Payables

Parameterstypelimitoffsetstatuscustomer_idinstance_idrequiredcustomer_nameending_beforestarting_afterbeneficiary_name

PostV1InstancesPayables

Post Instances Payables

Create Payable

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesPayablesById

Get Instances Payables By Id

Retrieve Payable

Parametersidrequiredinstance_idrequired

DeleteV1InstancesPayablesById

Delete Instances Payables By Id

Delete Payable

Parametersidrequiredinstance_idrequired

GetV1InstancesWebhookEndpoints

Get Instances Webhook Endpoints

Retrieve Webhooks

Parametersinstance_idrequired

PostV1InstancesWebhookEndpoints

Post Instances Webhook Endpoints

Registers an HTTPS endpoint that receives the listed events. Event names and payload schemas are in the webhooks section of this API reference (and in the MCP resource blindpay://webhooks/events). Deliveries are signed with Svix; read the signing secret with Retrieve Webhook Secret and verify every delivery.

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

DeleteV1InstancesWebhookEndpointsById

Delete Instances Webhook Endpoints By Id

Remove Webhook

Parametersidrequiredinstance_idrequiredIdempotency-Key

GetV1InstancesWebhookEndpointsSecret

Get Instances Webhook Endpoints Secret

Retrieve Webhook Secret

Parametersidrequiredinstance_idrequired

GetV1InstancesWebhookEndpointsPortalAccess

Get Instances Webhook Endpoints Portal Access

Retrieve Webhook Portal Access

Parametersinstance_idrequired

GetV1InstancesBillingFees

Get Instances Billing Fees

Get all fees for an instance, sorted by payment method (fiat first, then blockchain)

Parametersinstance_idrequired

GetV1InstancesPartnerFees

Get Instances Partner Fees

Retrieve Partner Fees

Parametersinstance_idrequired

PostV1InstancesPartnerFees

Post Instances Partner Fees

Add Partner Fee

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

GetV1InstancesPartnerFeesById

Get Instances Partner Fees By Id

Retrieve Partner Fee

Parametersidrequiredinstance_idrequired

DeleteV1InstancesPartnerFeesById

Delete Instances Partner Fees By Id

Remove Partner Fee

Parametersidrequiredinstance_idrequiredIdempotency-Key

PostV1Presign

Post Presign

Presign File URL

Parametersinstance_idrequiredrequestBodyrequired

GetV1AvailableBankDetails

Get Available Bank Details

Returns the fields a bank account needs for a payout rail, so a recipient form can collect and validate them before calling create bank account. Each field has a `label`, the request body `key` to send it under, a validation `regex`, and, where the value comes from a fixed list (banks, countries, account types), the allowed `items`. Get valid `rail` values from `GET /v1/available/rails`. Public: no API key required.

Parametersrailrequired

GetV1AvailableRails

Get Available Rails

Lists every payout rail BlindPay supports (ACH, domestic wire, RTP, PIX, SPEI, SEPA, SWIFT, and more) as `{ label, value, country }`. Pass `value` as the `rail` query parameter of `GET /v1/available/bank-details`, and as the `type` when creating a bank account. `country` is an ISO 3166-1 alpha-2 flag hint for display, not a statement of coverage. Public: no API key required.

Takes no parameters.

GetV1AvailableNaics

Get Available Naics

NAICS list

Takes no parameters.

GetV1AvailableSwiftBySwift

Get Available Swift By Swift

Swift code bank details

Parametersswiftrequired

PostV1InstancesMintUsdbSolana

Post Instances Mint Usdb Solana

Mint USDB on Solana

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesPrepareDelegateSolana

Post Instances Prepare Delegate Solana

Prepares a delegation transaction for Solana token transfers. You can either provide a `quote_id` (recommended) to automatically use the correct token amount and address from the quote, or manually provide `owner_address`, `token_address`, and `amount`.

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesCreateAssetTrustline

Post Instances Create Asset Trustline

Create Asset Trustline

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

PostV1InstancesMintUsdbStellar

Post Instances Mint Usdb Stellar

Mint USDB on Stellar

Parametersinstance_idrequiredrequestBodyrequiredIdempotency-Key

Version history

5
  1. v1.10.2LatestNov 7, 2026
  2. v1.10.0Oct 30, 2026
  3. v1.9.3Oct 24, 2026
  4. v1.9.2Oct 23, 2026
  5. v1.8.0Sep 22, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts