Card as a Service · Authorization

Your code approves every purchase

Before a purchase goes through, Guara asks your endpoint. Answer APPROVE or DECLINE within 1.2 seconds.

  • 1.2 s window
  • Fails closed
  • Signed requests
01 — How it works

Live in three steps.

  1. 0 msA purchase starts

    Guara checks the card, limit and balance.

    api
    ✓ card active
    ✓ limit · balance
  2. < 1,200 msYour code decides

    A signed request to your endpoint.

    api
    ⇢ authorization.request
    ← APPROVE ✓
  3. AfterIt settles

    The result reaches you by webhook.

    api
    ⇢ transaction.posted ✓
    · paid from balance
02 — What you get

Authorization, end to end.

Authorization

Fail closed

No answer in 1,200 ms, or anything but APPROVE — the purchase is declined.

GuaraVIRTUAL
•••• •••• •••• 2048
JIT · your rulesVISA
Order

Checks in order

Card, limit, balance — then your endpoint.

Security

Signed requests

Verify X-GuaraPay-Signature before you answer.

Answer

A reason with a decline

Send DECLINE with your reason code.

APPROVEDECLINE
Default mode

No endpoint needed

Without one, card state, limit and balance decide.

03 — Code

A few lines
to start.

Same REST API, same keys and limits for every program. Docs open in the console after sign-up.

# Guara → your endpoint, on every purchase
POST /guara/authorize HTTP/1.1
X-GuaraPay-Signature: t=1762850000,v1=5f2c9e…

{
  "type": "card.authorization.request",
  "data": {
    "card_id": "crd_8f3k…",
    "external_user_id": "user_42",
    "amount_cents": 12000,
    "currency": "USD",
    "merchant": "OpenAI"
  }
}

# your answer, within 1200 ms
HTTP/1.1 200 OK
{ "decision": "APPROVE" }
04 — Access

Tell us what you're building.

Three steps from here to live cards.

  1. We reply within a business dayPricing for your volume, by email or your contact.
  2. You connect the APIKeys, webhooks and MCP for your agents.
  3. You go liveSwitch to live keys and issue cards to your users.
Prefer email? support@guarapay.io
What will the cards be for?
Cards per month

What is real-time (JIT) authorization?

Each purchase is sent to your endpoint before it is approved, so your own rules and ledger decide.

What if my endpoint is down?

No answer in 1.2 seconds — the purchase is declined.

What does Guara check before asking me?

The card state, its limit and the balance. If one of them fails, your endpoint is not asked.

Do I have to run an endpoint?

No. In the default mode the card state, limit and balance decide alone.

Real-time card authorizationRequest access →