EXPLOREINDUSTRIESGUIDESLEARNGLOSSARYBOOKSWHITEPAPERTOOLSRESOURCESPIONEERMARKETSCOUNTRIESFEESMISSION FUNDPASSPORT
SUPPORTLOGINJOIN THE PROTOCOL →
GETREADYANDJUMP.COM · BUILT IN DETROIT

GRAJ SDK
ON GRAJ.

Graj Sdk on the GRAJ protocol. One fee. 195 countries. Join the protocol.

JOIN THE PROTOCOL →
SDK

WHAT THE SDK
WILL COVER.

Being built

The interesting question about an SDK for a commerce protocol is not which language it is in — it is which invariants it enforces for you, so that an integration cannot make the mistakes the protocol works hard to prevent.

Money handling belongs in the library

Every amount in minor units, never a float, and never a client-computed total sent to a server that trusts it. A library that makes the wrong thing hard to type prevents a class of bug that documentation never will.

Errors that can be acted on

A rejected write should say which field, which constraint and what to do — not return a database message. That is the difference between an integration somebody finishes and one they abandon at the second wall.

Idempotency by default

A client library should make a retried mutation safe without anybody thinking about it, because the developer who forgets is not being careless — they are being human at the end of a long day.

Status

Designed, not published. The design principles are recorded here so they can be argued with before any code is written, which is the cheapest moment to change them.

Where to go next
/sdk/api/developer
JOIN THE PROTOCOL