Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add blindpaylabs/blindpay-skills --skill "blindpay"
Install specific skill from multi-skill repository
# Description
Use when integrating with BlindPay for stablecoin-to-fiat payouts, fiat-to-stablecoin payins, receiver KYC management, bank accounts, blockchain wallets, virtual accounts, or offramp wallets.
# SKILL.md
name: blindpay
description: Use when integrating with BlindPay for stablecoin-to-fiat payouts, fiat-to-stablecoin payins, receiver KYC management, bank accounts, blockchain wallets, virtual accounts, or offramp wallets.
license: MIT
metadata:
author: blindpay
version: "1.0"
tags: payments, stablecoin, crypto, fiat, payout, payin, usdc, usdt
BlindPay Integration
Overview
BlindPay is a global payment infrastructure that enables worldwide money transfers using both traditional fiat currencies and stablecoins.
Key Capabilities:
| Feature | Description |
|---|---|
| Payouts | Convert stablecoins (USDC, USDT) to fiat and send to bank accounts |
| Payins | Convert fiat to stablecoins and send to blockchain wallets |
| Multi-Chain | Supports Ethereum, Base, Polygon, Arbitrum, Stellar, Solana, Tron |
| Multi-Currency | USD, BRL, MXN, ARS, COP and more via ACH, Wire, PIX, SPEI, SWIFT |
| Virtual Accounts | Generate dedicated US bank accounts for receivers |
| Offramp Wallets | Auto-convert incoming stablecoins to fiat |
Important: BlindPay is non-custodial. Funds remain under user control throughout the process. Failed transactions are automatically returned to the originating wallet.
Quick Start
Authentication
All API calls require:
- API Key: Passed as Authorization: Bearer YOUR_API_KEY
- Instance ID: Included in the URL path
curl --request GET \
--url https://api.blindpay.com/v1/instances/in_000000000000/receivers \
--header 'Authorization: Bearer YOUR_API_KEY'
Payout Flow (Stablecoin β Fiat)
- Accept Terms of Service β Get
tos_id - Create Receiver β KYC verification, get
receiver_id - Add Bank Account β Get
bank_account_id - Create Payout Quote β Get
quote_id(valid for 5 minutes) - Approve Tokens β ERC20 approval for BlindPay contract
- Execute Payout β Stablecoins collected, fiat sent to bank
See references/getting-started/stable-to-fiat.md for complete guide.
Payin Flow (Fiat β Stablecoin)
- Accept Terms of Service β Get
tos_id - Create Receiver β KYC verification, get
receiver_id - Add Blockchain Wallet β Get
blockchain_wallet_id - Create Payin Quote β Get
payin_quote_id(valid for 5 minutes) - Execute Payin β Get payment instructions (PIX code, CLABE, etc.)
- Send Fiat β Once received, stablecoins sent to wallet
See references/getting-started/fiat-to-stable.md for complete guide.
Payment Rails
| Type | Country | Speed |
|---|---|---|
| ACH | US | ~2 business days |
| Wire | US | ~1 business day |
| RTP | US | Instant |
| PIX | Brazil | Instant |
| SPEI | Mexico | Instant |
| ACH COP | Colombia | ~1 business day |
| Transfers 3.0 | Argentina | Instant |
| International SWIFT | Global | ~5 business days |
Supported Networks
| Network | Instance Type | Tokens |
|---|---|---|
| Ethereum | Production | USDC, USDT |
| Base | Production | USDC, USDT |
| Polygon | Production | USDC, USDT |
| Arbitrum | Production | USDC, USDT |
| Stellar | Production | USDC |
| Solana | Production | USDC, USDT |
| Tron (beta) | Production | USDT |
| Sepolia, Base Sepolia, etc. | Development | USDB (test token) |
Development vs Production
| Feature | Development | Production |
|---|---|---|
| KYC | Auto-approved | Manual/automatic review |
| Payouts | Simulated (no real fiat) | Real bank transfers |
| Payins | Auto-completed after 30s | Real fiat deposits required |
| Token | USDB (fake stablecoin) | USDC, USDT |
Testing Scenarios
| Amount | Result |
|---|---|
| Any amount | Success (default) |
| $666.00 | Failed |
| $777.00 | Refunded |
Use first name "Fail" when creating receivers to simulate KYC rejection.
Error Handling
Always check API responses for errors:
{
"error": {
"message": "please_accept_terms_of_service",
"code": "TERMS_NOT_ACCEPTED"
}
}
Common errors:
- please_accept_terms_of_service - Receiver needs to accept updated TOS
- quote_expired - Quote older than 5 minutes, create a new one
- insufficient_balance - Wallet doesn't have enough tokens
- kyc_not_approved - Receiver KYC still pending or rejected
Reference Documentation
Getting Started
- Overview - What is BlindPay
- Stable to Fiat - Payout quick start
- Fiat to Stable - Payin quick start
Essentials
- Instances - Dev vs production environments
- Terms of Service - TOS acceptance flow
- Receivers - KYC/KYB for individuals and businesses
- Bank Accounts - ACH, Wire, PIX, SPEI, SWIFT
- Virtual Accounts - US bank account generation
- Blockchain Wallets - External wallet management
- Offramp Wallets - Auto-convert stablecoins
- Payout Quotes - Quote creation for payouts
- Payouts - Executing stablecoin β fiat transfers
- Payin Quotes - Quote creation for payins
- Payins - Executing fiat β stablecoin transfers
- API Keys - Authentication setup
- Webhooks - Real-time event notifications
- Partner Fees - Revenue sharing configuration
- Upload - Secure file uploads for KYC
Guides
- Smart Contracts - Contract addresses
- Cut-off Times - Processing windows
- Supported Countries - Country and payment rail coverage
- Prohibited Activities - Compliance requirements
- Payout Descriptor - Bank statement display names
- KYC Best Practices - Document submission tips
- On Hold Transactions - Handling flagged transactions
- SWIFT Deliverability - International transfer requirements
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.