Provider Setup Guide
Complete step-by-step guide to become a Paycrest provider and run a provision node
This guide walks you through the complete process of becoming a Paycrest provider, from initial signup to running a production provision node. Follow these steps to start earning from stablecoin-to-fiat transactions.
Provider Onboarding Process
Step 1: Signup as a Provider
- Visit https://app.paycrest.io
- Sign up as a Provider
- Complete the registration process
Step 2: Initiate KYB Process
- Complete the basic in-app Know-Your-Business (KYB) process
- This process can run concurrently with PSP account setup
- KYB approval is required for production access
Step 3: Register with Payment Service Providers (PSPs)
Your provision node can support multiple payment service providers to ensure reliable transaction processing. The specific PSPs available to you will be shown in your provider dashboard so you can begin PSP account setup in parallel with your KYB process.
Obtain Live API Credentials
- After creating PSP accounts, obtain Live API Key and Client ID & Client Secret
- These credentials are provided through your provider dashboard
Step 4: Provision Node Setup
Choose your provision node hosting method:
Option A: Self-Hosted Deployment
A Paycrest provision node is a backend service hosted on Docker Hub. The deployment process involves pulling the Docker image, configuring environment variables, and starting the server.
Requirements:
- Docker installed on your server
- Access to Docker Hub
- Server with internet connectivity
- Minimum 512MB RAM, 1 vCPU (tested on DigitalOcean $5 droplet)
Deployment Steps:
- Pull the Docker Image
- Create Environment Configuration
Create a
.env
file with your configuration:
Important Notes:
- One node works for multiple currencies and can support multiple PSPs (for the same currency)
- Only configure the variables for the PSPs you are using
- If there is no comment on a credential key that has a value, DO NOT change that value
- DO NOT change the value of
AGGREGATOR_BASE_URL
- PSP configuration details are provided in your provider dashboard
- Start the Service
- Verify Deployment Check the health endpoint to confirm your node is running correctly:
Expected response:
- Configure Host Identifier
- Take the base URL of your server (e.g.,
http://your-server-ip:8000
) - Add it to your provider dashboard settings as the Host Identifier
- Go live on your dashboard
Benefits:
- Complete control over infrastructure
- Custom security configurations
- No dependency on third-party services
- Potential cost savings at scale
Option B: Blockops (Recommended)
- Cost: $10/month
- Simplified setup with Paycrest partnership
- Video setup guide available
- After setup, obtain the Host Identifier URL from Blockops
- Paste the URL into the ‘Configure Provision Node’ section of your Paycrest dashboard settings
- Click update to complete configuration
Step 5: Configure Trade Settings
Set Rates & Limits
Rates: Choose between:
- Floating Rate (Recommended): Allows dynamic pricing with a margin
- Fixed Rate: Static pricing, less flexible
Slippage: It’s advised to enable slippage to handle volatility
Order Limits:
- Set your minimum limit: Set the minimum amount (in USD) you can fulfill
- Set your maximum limit: Set an amount (in USD) based on the available fiat balance in your PSP account
Set Settlement Addresses
Configure Networks
- Add settlement addresses for all supported networks and tokens
- You can add a settlement address on multiple networks for flexibility
Step 6: Node Testing & Launch
Testing in Private Mode
- After setting your settlement address(es), test your node in Private mode before going public
- With private mode, you can route a transaction to your node using Noblocks
- To go “LIVE” in Private Mode, switch your node to “Private Mode” on your dashboard
Test with Noblocks:
Use the Noblocks testing tool to verify your node in private mode:
https://noblocks.xyz?provider=YOUR_PROVIDER_ID
(Replace YOUR_PROVIDER_ID
with your actual provider ID)
Go Live on Public Mode
- Once testing is successful, switch to Public Mode
- Ensure your PSP account is funded and active for transaction fulfillment
Onboarding Checklist
Use this checklist to track your progress:
Task | Status |
---|---|
Provider Account Created | ⬜ |
KYB Submitted | ⬜ |
PSP Accounts Created | ⬜ |
API Key + Client ID/Secret Obtained | ⬜ |
Node Deployed (Preferably Blockops) | ⬜ |
Trade Settings Configured | ⬜ |
Settlement Addresses Added | ⬜ |
Node Tested in Private Mode | ⬜ |
Switched to Public Mode | ⬜ |
Technical Requirements
Infrastructure Requirements
Minimum Requirements:
- 512MB RAM, 1 vCPU (tested on DigitalOcean $5 droplet)
- 50GB+ storage
- Stable internet connection
- Docker installed (for self-hosted deployment)
Note: The minimum requirements are based on real-world testing. A DigitalOcean $5 droplet (512MB RAM, 1 vCPU, 50GB bandwidth) is sufficient for running a Provision Node in production.
Docker Installation (For Self-Hosted)
If you choose self-hosted deployment, install Docker on your server:
Security Best Practices
Network Security
- Use firewalls to restrict access
- Implement rate limiting
- Enable DDoS protection
- Use VPN for secure access
Key Management
- Store API keys securely
- Rotate keys regularly
- Use environment variables
- Implement key encryption
Monitoring and Alerting
- Set up log aggregation
- Configure performance alerts
- Monitor transaction volumes
- Track error rates
Troubleshooting
Common Issues
Node Not Starting
API Connection Issues
Database Connection Errors
Getting Help
- Documentation: docs.paycrest.io
- Community: Telegram
- Support: [email protected]
- Blockops Support: Available through Blockops platform
Next Steps
After successfully deploying your Provision Node:
- Test Transactions: Process test transactions to verify functionality
- Monitor Performance: Track your node’s performance and earnings
- Scale Up: Consider deploying additional nodes for increased capacity
- Optimize: Fine-tune pricing and configuration based on market conditions
For detailed API documentation and advanced configuration options, see the API Reference.