Skip to main content
Connected accounts exist within a three-tier structure: PIK provides the regulated financial infrastructure, your platform orchestrates operations and manages the customer relationship, and connected accounts are the accounts held by your customers. Understanding this structure is essential before you design your integration, because it determines how API calls are authorised, how funds move, and where compliance responsibilities lie.

The three-tier structure

PIK — Infrastructure layer At the infrastructure layer, PIK provides the banking rails, compliance processes, and regulatory licences that make financial services possible. You interact with this layer through the PIK API using your platform’s credentials. PIK holds all funds in custody, manages the underlying ledger, and is responsible for the regulatory framework your platform operates within. Your platform — Intermediary layer Your platform sits in the middle. You create and manage connected accounts on behalf of your customers. Your platform is the entity that PIK contracts with and is accountable to. PIK has a direct relationship only with you, not with your end customers. As a platform you are responsible for:
  • Collecting and submitting KYC/KYB information for each customer.
  • Ensuring customers have agreed to the required terms before activating capabilities.
  • Managing what financial services each connected account can access.
  • Monitoring and reporting on activity as required by your agreement with PIK.
Connected accounts — Customer layer Connected accounts are the financial accounts your customers hold. They are provisioned under your platform and inherit the compliance framework your platform has established with PIK. Connected account holders interact with financial services through your product — they have no direct relationship with PIK.

How API authorisation works

All API calls to PIK are authenticated using your platform’s credentials. When you want to perform an action on behalf of a specific customer, you include the x-on-behalf-of header with the connected account ID in your request. Without the x-on-behalf-of header, the action is scoped to your platform account. With it, the action is scoped to the specified connected account — using that account’s wallet balance and permissions.

How funds move

Funds always sit within PIK’s custody. PIK custody holds the platform wallet, which is your platform’s own balance. Under that, each connected account holds its own wallet scoped to that customer. You can move funds from your platform wallet into a connected account wallet, or collect fees by moving funds in the opposite direction.

Compliance responsibilities

PIK is responsible for: regulatory licencing, funds custody, AML and transaction monitoring, fraud monitoring, and reporting obligations. Your platform is responsible for: customer KYC/KYB collection, customer terms acceptance, first-line AML monitoring, first-line fraud monitoring, and jurisdiction-specific reporting where applicable. You must not activate financial capabilities for a connected account until that customer’s identity has been verified and PIK has approved the account. Activating capabilities on an unverified account is a breach of your platform agreement.

Platform Fee Collection — Worked Example

Platforms can collect fees from connected account transactions by transferring funds from the connected account wallet to the platform wallet. Here is a complete worked example. Scenario: A connected account receives a 100 USDT payment. Your platform charges a 2% fee. Step 1 — The payment settles The connected account wallet is credited 100 USDT automatically when the payment.settled webhook fires. Step 2 — Collect your platform fee Transfer 2 USDT from the connected account wallet to your platform wallet: http
POST /api/v1/transfers
Authorization: Bearer YOUR_PLATFORM_API_KEY
Content-Type: application/json

{
  "from_account_id": "acc_01HXJ2GHIJKL",
  "to": "platform",
  "currency": "USDT",
  "amount": "2.00",
  "reference": "platform-fee-INV-2025-001"
}
After this call, the connected account wallet holds 98 USDT and your platform wallet holds 2 USDT. Step 3 — Pay out the customer’s net amount Initiate a payout of 98 USDT from the connected account wallet to the customer’s external wallet address: http
POST /api/v1/payouts
Authorization: Bearer YOUR_PLATFORM_API_KEY
x-on-behalf-of: acc_01HXJ2GHIJKL
Content-Type: application/json

{
  "currency": "USDT",
  "amount": "98.00",
  "destination_type": "crypto_address",
  "destination": {
    "address": "CUSTOMER_WALLET_ADDRESS",
    "network": "tbd"
  },
  "reference": "payout-INV-2025-001"
}
Result:
BeforeAfter
Connected account wallet100 USDT0 USDT
Platform wallet0 USDT2 USDT
Customer external wallet0 USDT98 USDT