Overview
This guide walks you through sending your first international payment using PayOnProof. You’ll compare anchor routes, execute a transfer, and receive verifiable proof of payment—all in under 5 minutes.This quickstart uses the PayOnProof web interface. For API integration, see the API Reference.
Prerequisites
Before you begin, you’ll need:- A Stellar-compatible wallet (Freighter, Albedo, or similar)
- Test funds on Stellar testnet (or real funds for mainnet)
- Basic understanding of international payment corridors
Step 1: Connect your wallet
Navigate to the PayOnProof web app and connect your Stellar wallet.Open PayOnProof
Visit app.payonproof.com (or your deployment URL).
Step 2: Enter payment details
On the send money page, enter your payment details:PayOnProof automatically queries all active anchors in the selected corridor to find available routes.
Example payment
Let’s send $1,000 from the United States to Mexico:- Origin: United States (US)
- Destination: Mexico (MX)
- Amount: 1000
Step 3: Compare anchor routes
PayOnProof queries multiple Stellar anchors and presents side-by-side route comparisons.What you’ll see
Each route displays:- Anchors: Origin anchor (on-ramp) → Destination anchor (off-ramp)
- Total fee: Percentage and absolute amount
- Fee breakdown: On-ramp fee + bridge fee (0.2%) + off-ramp fee
- Exchange rate: Live FX rate between currencies
- Recipient receives: Final amount after all fees
- Estimated time: Settlement duration (typically 8-20 minutes)
- Escrow: Whether funds are protected through the journey
- Operational status: Real-time anchor availability
Route comparison example
Sorting options
You can sort routes by:- Best (recommended): Balanced score based on fees, speed, and reliability
- Cheapest: Lowest total fee percentage
- Fastest: Shortest estimated settlement time
Routes marked with a lightning bolt icon are recommended based on PayOnProof’s scoring algorithm.
Step 4: Execute the transfer
Once you’ve selected a route, PayOnProof guides you through the multi-phase execution:Phase 1: Prepare authentication
PayOnProof prepares SEP-10 authentication challenges for both the origin and destination anchors.Phase 2: Sign challenges
Your wallet signs the SEP-10 authentication challenges for both anchors.Phase 3: Authorize and start interactive flows
PayOnProof exchanges the signed challenges for JWT tokens and initiates SEP-24 interactive flows.Phase 4: Complete anchor KYC/transfer
PayOnProof opens interactive windows for you to complete:- Origin anchor deposit: Fund your transfer at the origin anchor
- Destination anchor withdraw: Specify recipient details at the destination anchor
Each anchor handles its own KYC requirements. You may need to provide identification, proof of address, or other compliance documentation.
Phase 5: Monitor status
PayOnProof automatically polls transaction status:Step 5: View proof of payment
Once the transfer completes, PayOnProof generates a verifiable proof of payment.Proof contents
Verification
You can verify the payment on-chain:- Click the “View on Stellar Explorer” link
- Confirm the transaction hash matches
- Verify the timestamp and amounts
- Share the proof with recipients or for accounting
The proof is cryptographically verifiable and can be independently validated against the Stellar blockchain.
API integration example
For programmatic access, use the PayOnProof REST API:Troubleshooting
”No routes found”
This means no anchors are currently operational for your selected corridor. Solutions:- Try a different country pair
- Check back later (anchors may be temporarily offline)
- Verify you’re using a supported corridor
”Selected route is not operational”
The route you selected became unavailable between query and execution. Solutions:- Return to route comparison and select a different route
- Refresh the route list to get updated operational status
”SEP-10 challenge failed”
Wallet authentication with the anchor failed. Solutions:- Ensure your wallet has sufficient XLM for transaction fees
- Check that you’re connected to the correct Stellar network (testnet vs mainnet)
- Verify your wallet supports SEP-10 authentication
”Missing SEP10_CLIENT_DOMAIN_SIGNING_SECRET”
This error occurs in self-hosted deployments when client domain signing is required but not configured. Solutions:- Set
SEP10_CLIENT_DOMAIN_SIGNING_SECRETin your API environment variables - See Local development for configuration details
Next steps
Understand the architecture
Learn how PayOnProof routes payments, aggregates anchors, and generates verifiable proofs.
API reference
Integrate PayOnProof into your application with the REST API.
Development setup
Run PayOnProof locally and contribute to the project.
Route comparison
Explore route scoring, escrow protection, and proof generation in depth.