Moving Funds

Learn how to initiate, approve, and cancel transfers with Paisr.

Paisr supports three transfer methods for moving money out of your wallet. P2P and ACH transfers start in a pending-approval state and require your wallet PIN to authorise before funds are released. A2A transfers between your own balances are approved automatically.

Transfer Methods

MethodDescriptionMin AmountApproval
A2AMove between your own balances0.01Auto-approved
P2PSend to another Paisr wallet0.10PIN required
ACHWithdraw to a connected bank account25.00PIN required

Initiating Transfers

All transfers are initiated through the same endpoint. The source is always a balance ID (bca_...) and the destination varies by method.

Account-to-Account (A2A)

Move funds between two balances you own. Useful for rebalancing currencies or moving funds to a saving balance. A2A transfers do not require a reference and are approved automatically.

Dashboard: Navigate to the wallet → Move → select source and destination balances → enter the amount → Initiate.

curl -X POST "https://api.live.paisr.tech/v2/transfers" \
  -H "Authorization: Bearer <token>" \
  -H "User-Agent: MyApp/1.0" \
  -H "Content-Type: application/json" \
  -d '{
  "method": "A2A",
  "source": "bca_<source_balance_id>",
  "destination": "bca_<destination_balance_id>",
  "amount": 100.00
}'

Cross-currency A2A transfers are converted at the current market rate. The conversion breakdown is included in the transaction record.

Peer-to-Peer (P2P)

Send funds to another Paisr wallet. The destination can be a contact ID (fav_...) or a cashtag directly. A reference is required.

Dashboard: Navigate to the wallet → Send → select a balance and contact → enter the amount and reference → Initiate → enter your PIN → Approve.

curl -X POST "https://api.live.paisr.tech/v2/transfers" \
  -H "Authorization: Bearer <token>" \
  -H "User-Agent: MyApp/1.0" \
  -H "Content-Type: application/json" \
  -d '{
  "method": "P2P",
  "source": "bca_<balance_id>",
  "destination": "acmecorp",
  "amount": 100.00,
  "reference": "Order #12345"
}'

The response returns a transaction ID (tra_...) with status pending-approval. Use this ID to approve or cancel the transfer.

Bank Withdrawal (ACH)

Withdraw funds to a bank account. A reference is required. The minimum withdrawal amount is 25.00.

Dashboard: Navigate to the wallet → Withdraw → select a balance and bank account → enter the amount and reference → Initiate → enter your PIN → Approve.

curl -X POST "https://api.live.paisr.tech/v2/transfers" \
  -H "Authorization: Bearer <token>" \
  -H "User-Agent: MyApp/1.0" \
  -H "Content-Type: application/json" \
  -d '{
  "method": "ACH",
  "source": "bca_<balance_id>",
  "destination": "cwa_<account_id>",
  "amount": 250.00,
  "reference": "Monthly settlement"
}'

Approving a Transfer

P2P and ACH transfers require a cryptographic signature derived from your wallet PIN before funds are released. In the dashboard this happens through the PIN entry prompt. Via the API, generate the HMAC-SHA256 signature of the transaction ID using your wallet PIN as the key and submit it to the approve endpoint.

curl -X POST "https://api.live.paisr.tech/v2/transfers/{transaction_id}/approve" \
  -H "Authorization: Bearer <token>" \
  -H "User-Agent: MyApp/1.0" \
  -H "Content-Type: application/json" \
  -d '{
  "signature": "<hmac_signature>"
}'

Once approved, the transfer is irreversible. Funds are debited from the source balance immediately.

Cancelling a Transfer

A pending transfer can be cancelled before it is approved. Once approved, cancellation is not possible.

Dashboard: Navigate to the wallet → Transactions → select the transfer → Cancel.

curl -X POST "https://api.live.paisr.tech/v2/transfers/{transaction_id}/cancel" \
  -H "Authorization: Bearer <token>" \
  -H "User-Agent: MyApp/1.0" \
  -H "Content-Type: application/json" \
  -d '{
  "note": "Sent to wrong contact"
}'

Transaction History

Every transfer creates an immutable transaction record on your wallet. You can list and filter transactions by balance, status, method, or date range.

curl -X GET "https://api.live.paisr.tech/v2/wallets/{wallet_id}/transactions?method=P2P&status=settled" \
  -H "Authorization: Bearer <token>" \
  -H "User-Agent: MyApp/1.0"

Retrieve the full details of a single transaction including its fee and conversion breakdown:

curl -X GET "https://api.live.paisr.tech/v2/wallets/{wallet_id}/transactions/{transaction_id}" \
  -H "Authorization: Bearer <token>" \
  -H "User-Agent: MyApp/1.0"
Last updated on September 1, 2026.