← Articles
Cash App Pay: Partner API and Pay Kit logo
payments

Cash App Pay: Partner API and Pay Kit

· AUG 31, 2026 ·
Read
Share

Create a customer request, get a grant, charge. Sandbox Network API. Keys expire in 30 days.

devrels.xyz/a/279

Cash App Pay is a checkout method. The customer pays from Cash App balance or a linked bank, in one shot. Square/Block publishes the docs at developers.cash.app/home. Index: /llms.txt. Agents can also hit developers.cash.app/_mcp/server.

Afterpay is the installment product on the same portal. Cash App Pay is the wallet charge. Do not mix the two in one integration.

Two doors

Home splits the work. Sellers add Pay or Afterpay to a store. Payment service providers build and keep the platform integration. The Partner API docs are for PSPs. Merchants on Shopify, Magento, or Salesforce Commerce Cloud use the platform path, not this API.

Cash App Pay surfaces
PieceJob
Customer Request APIAsk the customer for a grant (charge, etc.)
Network APIBrands, merchants, payments from those grants
Management APIAPI keys and webhooks
Pay Kit (JS / iOS / Android)Browser or app UI over Customer Request

There is no official server SDK. You write HTTPS. Docs recommend Pay Kit unless Partner Engineering said API-only is right for you.

Happy path

Partner Engineering provisions a developer account, a Client ID, and a long-lived client secret. You mint operational keys from that. Keys expire in 30 days. Rotate before expires_at. The secret on create is shown once.

Flow: create a customer request (Pay Kit or API) → customer approves → you get a grant → Network API takes the payment. Web, mobile, and POS all use that shape. Web checkout often shows a QR the phone scans.

bash
curl --location 'https://sandbox.api.cash.app/network/v1/brands' \
  --header 'Accept: application/json' \
  --header 'Authorization: Client TEST_CLIENT_ID TEST_API_KEY_ID' \
  --header 'Content-Type: application/json' \
  --header 'X-Region: SEA' \
  --header 'X-Signature: sandbox:skip-signature-check' \
  --data '{
    "brand": { "name": "My Brand", "reference_id": "external-id" },
    "idempotency_key": "e345c3fb-1caa-46fd-b0d3-aa6c7b00ab19"
  }'

Network and Management use Authorization: Client <Client ID> <API Key ID>. Customer Request, from a browser or POS, uses the Client ID only. Never put the API key in the browser. Production needs a real X-Signature. Sandbox may send sandbox:skip-signature-check.

Then create a merchant under that brand, still on /network/v1/merchants, with a reference_id you own. Brands and merchants require that field so you can look them up later without Cash App’s id.

People and links

Cash App Pay
Who / whatWhere
Docs homedevelopers.cash.app/home
Partner APIPartner API welcome
QuickstartAPI Integration Quickstart
GitHubcashapp
X@CashApp

Keep reading

Get new articles in your inbox

Technical deep-dives on Solana tooling, infrastructure, and ecosystem. No noise.

Cash App Pay: Partner API and Pay Kit | devrels.xyz