Skip to main content

Environment

Quick Reference

WhatSandbox and production environments
WhyConfigure endpoints, understand credential scoping, and make your first API call
Reading Time5 min
DifficultyBeginner
PrerequisitesAuthentication

Why this matters

RiskConsequenceHow A55 prevents it
Using production credentials in developmentReal cards get charged during testingSeparate credential pairs per environment
Pointing at the wrong API URL per environmentRequests fail or hit wrong dataSame URL for both — credentials determine behavior
No clear go-live checklistBugs ship to productionSandbox mirrors production 1:1 — what works in sandbox works live
Same URL — different credentials

Sandbox and production share the same base URL and Cognito host. The environment is selected by which client_id / client_secret pair you use. Double-check which credentials you deploy.


Endpoints

PurposeURL
REST APIhttps://core-manager.a55.tech/api/v1
OAuth 2.0 tokenhttps://smart-capital.auth.us-east-1.amazoncognito.com/oauth2/token

Both URLs are identical for sandbox and production. Your credentials determine the environment.


Sandbox vs production

SandboxProduction
MoneySimulated — no settlementReal charges and settlement
CardsTest cards and last-digit rulesReal issuer authorization
CredentialsSandbox client_id / client_secretProduction client_id / client_secret
3DSSimulated flowsLive issuer challenges
WebhooksDelivered to your endpointDelivered to your endpoint
Rate limitsSame as productionSame as sandbox
API surfaceIdenticalIdentical

Verify your setup

Set your credentials as environment variables, then authenticate and list wallets in one shot.

# Set sandbox credentials
export A55_CLIENT_ID="sandbox-xxxx-xxxx-xxxx"
export A55_CLIENT_SECRET="sandbox-secret-xxxx"

# Authenticate
TOKEN=$(curl -s -X POST \
https://smart-capital.auth.us-east-1.amazoncognito.com/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=$A55_CLIENT_ID" \
-d "client_secret=$A55_CLIENT_SECRET" | jq -r '.access_token')

echo "Token acquired: ${TOKEN:0:20}..."

# List wallets
curl -s https://core-manager.a55.tech/api/v1/wallets \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" | jq .
Run it now

Copy the snippet above, replace the credentials with your sandbox pair, and run it. If you see your wallets, your environment is set up correctly.


Credential configuration

Store credentials per environment in your secrets manager or .env files (never committed to version control).

Sandbox:

export A55_CLIENT_ID="sandbox-xxxx-xxxx-xxxx"
export A55_CLIENT_SECRET="sandbox-secret-xxxx"
export A55_ENV="sandbox"

Production:

export A55_CLIENT_ID="prod-xxxx-xxxx-xxxx"
export A55_CLIENT_SECRET="prod-secret-xxxx"
export A55_ENV="production"
Never mix environments

Production credentials in development charge real cards. Sandbox credentials in production silently fail. Always verify which pair is deployed.


Go-live checklist

StepSandboxProduction
1. Credentials provisionedSandbox client_id / client_secretProduction client_id / client_secret
2. Authentication worksToken acquired, API respondsToken acquired, API responds
3. Create a chargeTest card, status paidReal card, status paid
4. Webhooks receivedStatus updates arrive at your endpointStatus updates arrive at your endpoint
5. Refund testedRefund completes in sandbox
6. 3DS testedFrictionless and challenge flows pass
7. Credential rotationRotate secrets, confirm no downtime

Operational practices

PracticeDescription
Secrets managerStore credentials in AWS Secrets Manager, HashiCorp Vault, or your cloud's equivalent
No hardcodingNever commit credentials to version control
Validate in sandbox firstComplete all flows before requesting production access
Rotate regularlyRotate secrets on a quarterly schedule at minimum
Monitor 401sAlert on unexpected authentication failures — they may signal credential leaks

Request credentials

Email tech.services@a55.tech with company name, CNPJ (if applicable), contact email, desired environment (sandbox / production), and a short use-case description.