For developers

Embed trust in
your platform.

One API integration. Every escrow type, every courier, every dispute flow, available to your users under your brand.

Get API access โ†’View docs

Built for production

โšก
Go-powered, sub-200ms p99

Built on Go/Fiber with PostgreSQL and SQLC. Predictable latency under load. No thread pool exhaustion under webhook bursts.

๐Ÿ”
PASETO v2 authentication

Not JWT. Stateless, tamper-evident tokens with no shared-secret rotation risk. Secure by default, zero config.

๐Ÿ”„
Idempotent webhook delivery

Every event is keyed. Duplicate delivery is a no-op. Your integration will never double-charge, double-release, or create phantom state.

๐Ÿ“–
OpenAPI 3.1.0 documented

Full spec available. Sandbox environment with test courier webhooks. Go SDK and TypeScript client in progress.

๐ŸŒ
Canonical courier event model

Your integration never talks to individual courier APIs. We normalize GIGL, Kwik, Sendbox into one DeliveryEvent. Adding a courier is our problem, not yours.

๐Ÿ“ฌ
Dead-letter queue with backoff

Failed webhooks retry with 100ms โ†’ 6.4s exponential backoff, 7 attempts max. Unresolvable events go to manual review, never auto-release.

// CREATE A MILESTONE DEAL
// POST /api/v1/deals
{
  "type": "milestone",
  "buyer_id": "usr_amaka_4821",
  "seller_id": "usr_seun_dev_290",
  "total_amount": 850000,
  "currency": "NGN",
  "milestones": [
    {
      "label": "Design mockups",
      "amount": 212500,
      "requires_upload": true
    },
    {
      "label": "Frontend build",
      "amount": 212500,
      "requires_upload": true
    }
  ],
  "dispute_window_hrs": 72
}

// Response
{
  "deal_id": "deal_MIL3847",
  "state": "PENDING_FUNDING",
  "payment_link": "https://pay.dealeva.com/d/MIL3847",
  "idempotency_key": "idk_f9a3b821c...",
  "expires_at": "2025-09-14T23:59:59Z"
}