Skip to main content
The Payluk RESTFUL API lets your platform create escrow payment links, hold funds securely, and release them when both sides are satisfied — for one-off purchases or multi-stage projects. A typical integration looks like this:
1

Create an escrow

Generate a payment link for a sale. Payluk returns a paymentToken you can share with the buyer.
2

Buyer funds the escrow

The buyer pays into escrow. Funds are held — not yet released to the seller.
3

Delivery & confirmation

Once the buyer confirms delivery (or each milestone), the corresponding funds are released to the seller, net of fees.
4

Disputes, if any

Either party can open a dispute. As the merchant, you resolve it by releasing to the seller or refunding the buyer.

Base URL

All requests are made to one of the following hosts, and every route is mounted under /v1.
https://staging.api.payluk.ng
Use staging with sk_test_ keys while you build. It mirrors production behaviour and adds test-only helpers such as Top up virtual account.

The standard envelope

Every response — success or error — uses the same envelope:
{
  "status": 200,
  "message": "Operation successful",
  "data": {}
}
FieldDescription
statusThe HTTP status code, repeated in the body.
messageA human-readable summary. On errors, this is the reason.
dataThe result payload — an object, an array, or {} for empty/error.

What you can build

Standard escrow

Single-payment escrow links released on delivery confirmation.

Milestone escrow

Fund a project upfront and release it in parts as milestones complete.

Merchant customers

Onboard buyers and sellers and act on their behalf.

Payments & wallets

Fund wallets, verify references and generate virtual accounts.

Inline Checkout SDK

Drop a hosted escrow checkout widget into your web app with a publishable key.

Escrow webhooks

Get signed callbacks at your URL whenever an escrow changes state.
Ready to make your first call? Head to the Quickstart, or see every endpoint in order in How it works (end-to-end).