Docs
Dashboard

glUSD

glUSD is GullyPay's programmable stablecoin — the planned native settlement currency for AI-driven commerce. This page documents the intended contract for minting (fiat to glUSD), redemption (glUSD to fiat), balances, transfers, and the payment rail router.

Coming soon — glUSD is not live yet

glUSD is pre-launch. Issuance via Bridge.xyz is not enabled yet, so the /glusd/* endpoints below are not generally available and will change before launch. In the meantime, payments and x402 settlement are live today on USDC and USDT. Treat this page as the intended reference, not a description of a shipped API.

Mint / redeem require Bridge.xyz

POST /glusd/mint and POST /glusd/redeem are gated on a configured Bridge.xyz issuance provider. When BRIDGE_API_KEY is not set they fail closed with 503 Service Unavailable — no unbacked glUSD is ever minted. Minting credits spendable balance only once Bridge reports the fiat leg settled; an in-flight mint is recorded as pending and credits nothing until then. Balances and internal transfers are always available.

Authentication

All glUSD endpoints require a valid JWT or API key. Balances and mint/redeem operations apply to the authenticated user.

Endpoints

POST/glusd/mintMint glUSD from fiat
POST/glusd/redeemRedeem glUSD to fiat
GET/glusd/balanceGet the authenticated user's glUSD balance
POST/glusd/transferTransfer glUSD to another user
GET/glusd/routeResolve the optimal payment rail

Mint

POST/glusd/mintMint glUSD from fiat
Request Body
{
"amount": 100000
}
FieldTypeRequiredDescription
amountnumberYesAmount to mint in cents. Issuance is backed via Bridge.xyz reserves.

Once live, this will credit the authenticated user's glUSD balance.

Redeem

POST/glusd/redeemRedeem glUSD to fiat
Request Body
{
"amount": 50000
}
FieldTypeRequiredDescription
amountnumberYesAmount to redeem in cents. Debits the user's glUSD balance and initiates fiat payout.

Balance

GET/glusd/balanceGet glUSD balance

Returns the authenticated user's current glUSD balance.


Transfer

POST/glusd/transferTransfer glUSD to another user
Request Body
{
"toUserId": "usr_def456",
"amount": 2500
}
FieldTypeRequiredDescription
toUserIdstringYesRecipient user ID
amountnumberYesAmount to transfer in cents

Once live, transfers will move glUSD between user balances instantly with no on-chain settlement delay.


Payment Rail Router

GET/glusd/routeResolve the optimal payment rail

Resolves the optimal settlement rail for a given amount, preferring glUSD, then USDC, then fiat (Stripe), then cards — optimized for cost, speed, and liquidity.

Query ParamTypeRequiredDescription
amountstringYesAmount in cents (parsed as an integer)
railstringNoPreferred rail hint to bias routing
Example Request
GET /glusd/route?amount=4999&rail=glusd
Multi-rail settlement

Once glUSD is live, the router will let merchants accept a payment in whichever rail is cheapest or fastest while settling in their preferred currency, to choose the best execution path before creating a payment.