Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SPHEREPAY_API_KEY | Yes | Your SpherePay API key (Bearer token) | |
| SPHEREPAY_TIMEOUT | No | Request timeout in seconds | 30 |
| SPHEREPAY_BASE_URL | No | API base URL. Use https://api.spherepay.co for production | https://api.sandbox.spherepay.co |
| SPHEREPAY_MAX_RETRIES | No | Max retry attempts for transient failures (429, 5xx) | 3 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| onboard_customer | Create a new SpherePay customer and generate verification links. Supports 'individual' (requires address, optionally first/last name, DOB) and 'business' (requires business_information, registered/operating addresses) types. Returns the created customer with TOS and KYC verification links. |
| verify_customer | Run customer verification flow. Step 1: Call with phone_number to send OTP. Step 2: Call with otp_code to verify, then generates face verification link and submits. Returns progress with next steps. |
| setup_funding | Create a funding instrument (bank account or crypto wallet) for a customer. For bank_account: requires bank_name, account_name, currency ('usd' or 'eur'), account_details (accountNumber/routingNumber/accountType for USD; iban for EUR), and account_owner (accountHolderName, address). Optional: networks (list of strings, e.g. ['ach', 'wire']). For wallet: requires address (blockchain address) and network (ethereum, polygon, sol, base, arbitrum, tron, avalanche, optimism). |
| execute_transfer | Execute a money transfer between funding instruments with automatic idempotency. Requires source_id and destination_id (bank account or wallet IDs), amount, source_currency, destination_currency, source_network, and destination_network. The idempotency key is auto-generated from parameters to prevent duplicate transfers. Supported networks: ach, wire, sepa (fiat); ethereum, polygon, sol, base, arbitrum, tron, avalanche, optimism (crypto). |
| onboard_business_rep | Create and verify a business representative for a business customer. Creates the representative, generates a face verification link, and submits verification. Requires customer_id (must be a business customer), first_name, last_name, email, phone, date_of_birth, and address. Optional: roles, ownership_percentage, title. |
| setup_virtual_account | Create a virtual account for automatic fiat-to-stablecoin conversion. Provides bank deposit instructions that auto-convert deposits to stablecoins. source_currency: 'usd' or 'eur'. destination_currency: 'usdc', 'usdt', or 'eurc'. network: blockchain network for destination (e.g., 'sol', 'ethereum', 'polygon'). wallet_address: destination wallet address. Optional integrator_bps_fee: basis points fee (default '0'). |
| setup_offloader_wallet | Create an offloader wallet for automatic stablecoin-to-fiat off-ramp. Requires customer_id, currency (stablecoin: 'usdc', 'usdt', 'eurc'), network (blockchain network), and wallet_address. |
| create_webhook | Create a webhook to receive event notifications. Provide a name, url (HTTPS endpoint), and events to subscribe to. Use ['*'] to subscribe to all events. Example events: customer.create, transfer.update, bankAccount.create. Returns a secret for webhook signature verification - save it. |
| submit_cctp_offramp | Submit a CCTP (Cross-Chain Transfer Protocol) burn transaction for off-ramp redemption. source_chain: 'sei' or 'noble'. source_transaction_hash: the burn transaction hash from the source chain. transfer_id: the payout/transfer ID (format: payout_...). |
| get_customer | Retrieve a SpherePay customer by ID. Returns customer details including verification status. |
| list_customers | List SpherePay customers with pagination. Returns paginated customer list. |
| get_transfer | Retrieve a SpherePay transfer by ID. Returns transfer details including status. |
| list_transfers | List SpherePay transfers with pagination and optional filters. |
| get_bank_account | Retrieve a SpherePay bank account by ID. Returns account details including status. |
| list_bank_accounts | List SpherePay bank accounts with pagination. Optionally filter by customer_id. |
| get_wallet | Retrieve a SpherePay wallet by ID. Returns wallet details including address and network. |
| list_wallets | List SpherePay wallets with pagination. Optionally filter by customer_id. |
| get_virtual_account | Retrieve a SpherePay virtual account by ID. Returns account details including deposit instructions. |
| list_virtual_accounts | List SpherePay virtual accounts with pagination. |
| list_virtual_account_transfers | List transfers for a specific virtual account. Shows deposit activity and conversion history. |
| get_offloader_wallet | Retrieve a SpherePay offloader wallet by ID. Returns wallet details and off-ramp configuration. |
| list_offloader_wallets | List SpherePay offloader wallets with pagination. |
| get_webhook | Retrieve a SpherePay webhook by ID. Returns webhook details including delivery status and subscribed events. |
| get_event | Retrieve a SpherePay event by ID. Returns event details including type, payload, and webhook delivery records. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| currencies_resource | List of supported currencies with their types. |
| networks_resource | List of supported payment networks with their types. |
| id_formats_resource | ID format patterns for each entity type. |
| instrument_types_resource | Funding instrument types and their required fields. |
| customer_types_resource | Customer types and their required fields. |