How It Works
Pybara enables direct peer-to-peer crypto payments between customers and merchants on the Internet Computer. Here’s how the payment flow works.
Payment Flow
Section titled “Payment Flow”1. Payment Initialization
Section titled “1. Payment Initialization”When a customer selects Pybara at checkout:
- The merchant’s platform (WooCommerce, Shopify, or custom app) calls the Pybara SDK
- The SDK calculates the crypto amount based on current exchange rates
- A payment session is created with:
- Order details (amount, currency, order ID)
- Merchant’s receiving address
- Token type (ICP, ckBTC, etc.)
2. Wallet Connection
Section titled “2. Wallet Connection”The customer connects their Internet Computer wallet:
- Oisy Wallet — Browser-based, Internet Identity authentication
- Pybara Wallet — Pybara’s native wallet with Internet Identity
The wallet connection uses the Internet Identity protocol for secure, passwordless authentication.
3. Payment Execution
Section titled “3. Payment Execution”Once connected:
- The payment details are displayed in the wallet interface
- Customer reviews the amount, recipient, and token
- Customer approves the transaction
- The wallet executes an ICRC-1 transfer on-chain
4. Payment Verification
Section titled “4. Payment Verification”After the transaction:
- The Pybara canister verifies the payment on the blockchain
- The payment is recorded with:
- Transaction block index
- Amount and token
- Timestamp
- Order reference
- The merchant platform is notified of successful payment
5. Order Completion
Section titled “5. Order Completion”The merchant’s platform receives the payment confirmation and:
- Marks the order as paid
- Triggers order fulfillment
- Sends confirmation email to customer
Architecture
Section titled “Architecture”Components
Section titled “Components”┌─────────────┐│ Customer │└──────┬──────┘ │ 1. Checkout ▼┌─────────────────┐│ Merchant Site ││ (WooCommerce) │└────────┬────────┘ │ 2. Initialize payment ▼┌──────────────────┐│ Pybara SDK ││ (JavaScript) │└────────┬─────────┘ │ 3. Connect wallet ▼┌──────────────────┐│ Customer Wallet ││ (Oisy/Plug) │└────────┬─────────┘ │ 4. Execute transfer ▼┌──────────────────┐│ IC Blockchain ││ (ICRC-1 Ledger) │└────────┬─────────┘ │ 5. Verify payment ▼┌──────────────────┐│ Pybara Canister ││ (Blackhole) │└──────────────────┘Key Technologies
Section titled “Key Technologies”- Internet Computer — Blockchain platform hosting the payment infrastructure
- ICRC-1 — Token standard for transfers
- Internet Identity — Decentralized authentication
- Blackhole Canister — Immutable smart contract for payment verification
Security
Section titled “Security”Trustless Design
Section titled “Trustless Design”- No custody — Pybara never holds customer funds
- Direct transfers — Payments go straight from customer to merchant
- Immutable code — Payment canister is a blackhole (cannot be upgraded)
- Auditable — Payment canister code is publicly verifiable on-chain
Payment Verification
Section titled “Payment Verification”Every payment is verified on-chain:
- Transaction exists on the ICRC-1 ledger
- Amount matches the order total
- Recipient matches the merchant’s address
- Transaction is recent (within timeout window)
Next Steps
Section titled “Next Steps”- Supported Tokens — See all available tokens
- WooCommerce Installation — Set up your store
- SDK Overview — Build custom integrations