PayCA keeps the user lifecycle intentionally small. You create a user, activate them, move money in their wallet, issue cards, and control everything through one status field.
Mental model
- A user is your customer record.
- Every user has one user account (ledger wallet) created automatically.
- A user can have many cards, all tied to that user account.
- Webhooks mirror activity:
card_transaction,user_account_transaction,account_transaction.
Lifecycle at a glance
POST /v1/userscreates the user. Status defaults topending.PATCH /v1/users/{id}/statussets the user toactiveafter KYC.POST /v1/users/transfermoves funds in or between wallets.POST /v1/cardsissues cards against the user account.- Setting a user to
frozenorblockedautomatically freezes or closes their cards.
Create and activate
- Create the user with
POST /v1/users.- Persist
userId+userAccountIdfrom the create response, then fetchGET /v1/users/{id}when you needstatusandaccount.id.
- Persist
- Update profile or BIN pricing when needed:
POST /v1/users/{id}/binsto add or update BIN configuration.
- Activate when ready:
PATCH /v1/users/{id}/statuswith{ "status": "active" }.
Fetch the current record any time via GET /v1/users/{id}.
Move money
- Check balances:
GET /v2/accountsfor master accounts andGET /v1/users/{id}for user wallets. - Transfer between PayCA accounts:
POST /v1/users/transfer.- Both source and destination users must be
active. - Always send an
Idempotency-Keyto avoid duplicate transfers.
- Both source and destination users must be
- Audit activity:
GET /v1/users/{id}/account/transactionsGET /v1/users/{id}/card/transactions
Cards
- Issue a card with
POST /v1/cardsand the user’suserAccountId. - Optional card controls:
- Freeze/unfreeze:
POST /v1/cards/{id}/freeze,POST /v1/cards/{id}/unfreeze. - Close:
DELETE /v1/cards/{id}.
- Freeze/unfreeze:
- Card issuance and money-moving card actions are allowed only when the owning user is
active.
Status-driven control (latest)
Change lifecycle state with PATCH /v1/users/{id}/status. The response is the refreshed user resource.
| Status | Meaning | What PayCA enforces |
|---|---|---|
active |
Normal operations | Cards and transfers work normally. |
pending |
Not yet cleared | Read-only; no new debits or transfers. |
frozen |
Temporary stop | All cards are frozen automatically. |
blocked |
Permanent stop | All cards are closed automatically. |
Use this endpoint instead of managing each card individually when you need to pause or terminate a user.
Webhooks you’ll see
card_transactionfor spends and card state changes (freeze/unfreeze/close).user_account_transactionfor user wallet movements (deposits, withdrawals, transfers).account_transactionfor tenant-level mirror/revenue/fee entries.