Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ababilpay.xyz/llms.txt

Use this file to discover all available pages before exploring further.

All application data lives in Supabase PostgreSQL. Supabase Auth UID is the foreign key across user-owned data, and Row Level Security policies enforce tenant and user boundaries.

Core tables

TableKey columnsPurpose
usersid, email, google_id, kyc_status, role, created_atUser accounts with Google OAuth link.
walletsid, user_id, circle_wallet_id, chain, balance_usdc, updated_atOne wallet row per chain per user.
transactionsid, wallet_id, type, amount_usdc, token_in, chain, status, tx_hash, created_atEvery payment, swap, bridge, deposit, and transfer event.
invoicesid, merchant_id, customer_email, amount_usdc, status, due_date, pdf_urlInvoice lifecycle from draft to paid.
invoice_itemsid, invoice_id, description, quantity, unit_price_usdcLine items per invoice.
splitsid, created_by, total_usdc, description, status, expires_atGroup bill split sessions.
split_participantsid, split_id, user_id, amount_usdc, paid_atParticipant payment status.
merchantsid, user_id, store_name, shopify_domain, api_key_hash, webhook_secretMerchant profile and plugin configuration.
payroll_batchesid, merchant_id, total_usdc, recipient_count, status, executed_atBulk payment batch jobs.
payroll_itemsid, batch_id, recipient_wallet, amount_usdc, status, tx_hashIndividual payroll lines.
agent_logsid, agent_type, action, context_json, result_json, risk_score, created_atAudit trail of AI agent actions.
agent_memoryid, user_id, content, embedding, created_atpgvector memory for AI agents.
webhooksid, merchant_id, url, events, secret, last_status, last_fired_atMerchant webhook subscriptions.
notificationsid, user_id, type, message, read, created_atIn-app and push notification log.
address_bookid, user_id, label, wallet_address, chain, created_atSaved recipient wallets.

Realtime tables

Supabase Realtime should be enabled for:
  • transactions
  • invoices
  • splits
  • notifications
Frontend clients subscribe to user-scoped channels so balances, invoice status, split progress, and notifications update immediately after backend events are committed.

Security model

AreaRule
User dataUsers can access only rows linked to their Supabase Auth UID.
Merchant dataMerchant API keys are stored as hashes. Webhook secrets are scoped per merchant.
KYC documentsUploaded to protected Supabase Storage buckets.
AI action logsAgents append logs but should not mutate historical audit entries.
Enterprise approvalsMulti-sig approval state is required before protected transfer and payroll actions execute.