Core guides
Integrate OUSD on OpenPay Network
List OpenPay like another network: deposit and withdraw OUSD via Partner Transfer API, credit Pro wallets with inbound, and reconcile on the public ledger.
Step 1
How OpenPay maps to a listed network
OUSD lives on OpenPay’s open network ledger (custodial balances). There is no public ERC-20 / SPL mint for partners to scrape. Treat OpenPay as network + REST, like integrating a ledger chain via API.
| Exchange concept | OpenPay / OUSD |
|---|---|
| Network | openpay |
| Native asset | OUSD |
| Deposit address | @user · OP… · Pro 0x… |
| Confirmations | Idempotent API receipt |
| Hot wallet | Partner OpenPay account (API key) |
| Explorer | Public Ledger API + /ledger |
Full JSON listing metadata (decimals, address patterns, API URLs) is in /api/public/docs/exchange.
Step 2
API base URLs
https://araojncyittkahvvpdrn.supabase.co/functions/v1/partner-transfer-apiAuth: Authorization: Bearer opk_live_…— endpoints: /me, /balance, /transfers, /charges, /accounts/:id
POST https://openpaypro.space/api/public/openpay/inboundhttps://openpaypro.space/api/public/ledgerNever put opk_live_ in browsers or mobile apps — key = hot wallet.
Step 3
Deposit (user → your exchange)
Recommended: create a charge, send the user to OpenPay checkout, poll until paid, then credit their exchange balance (idempotent on charge id / reference).
curl -X POST "https://araojncyittkahvvpdrn.supabase.co/functions/v1/partner-transfer-api/charges" \
-H "Authorization: Bearer opk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 100.00,
"currency": "OUSD",
"description": "Deposit to ExchangeAccount#42",
"reference": "dep_42_abc",
"success_url": "https://your.exchange/deposits/openpay/success",
"cancel_url": "https://your.exchange/deposits/openpay/cancel"
}'Also supported: users send OUSD to your published @partner / OP… hot wallet, or credit Pro users via OpenPay → Pro inbound.
Step 4
Withdraw (your exchange → user)
Debit the user on your books, then POST /transfers from your partner hot wallet. Always send an Idempotency-Key. Validate destinations with GET /accounts/:id.
curl -X POST "https://araojncyittkahvvpdrn.supabase.co/functions/v1/partner-transfer-api/transfers" \
-H "Authorization: Bearer opk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: withdraw_user42_batch9" \
-d '{
"to": "@satoshi",
"amount": 50.00,
"note": "Withdraw from YourExchange #9001"
}'Step 5
Swap / convert
On your exchange: hold OUSD inventory and list pairs (e.g. OUSD/USDT) on your matching engine.
On OpenPay Pro: users swap in-app at /swap; movements appear on the ledger as type: swap.
There is no public partner endpoint that runs OpenDEX swaps for arbitrary users yet — use transfers + your order book, or deep-link to Pro.
Step 6
Ledger & reconciliation
Poll GET https://openpaypro.space/api/public/ledger/entries with asset=OUSD. Auth with x-api-key or Bearer (Ledger keys from admin). See Ledger section and docs/LEDGER_API.md.
Step 7
Launch checklist
- ✓Partner app registered; opk_live_ in secrets / KMS
- ✓Hot wallet funded with OUSD
- ✓Deposit: charges or transfer + idempotent credit
- ✓Withdraw: /transfers + account validation
- ✓Listing UI: network openpay · asset OUSD
- ✓Optional: Pro inbound + Ledger API monitoring
Full reference
Markdown: /api/public/docs/exchange · Connect guide: /docs/openpay