Wallets
Dashboard endpoints (JWT)
Wallet configuration uses Keycloak JWT (Authorization: Bearer $PARTNER_TOKEN), not X-API-Key. Manage these from the partner dashboard, or obtain a Bearer token via the Keycloak OIDC flow.
List partner wallets
curl "$BASE_URL/v1/partner-wallets" -H "Authorization: Bearer $PARTNER_TOKEN"
Upsert partner wallet (idempotent)
curl -X PUT "$BASE_URL/v1/partner-wallets" \
-H "Authorization: Bearer $PARTNER_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"network": "base",
"walletRole": "PARTNER_MARGIN",
"address": "0x4444444444444444444444444444444444444444"
}'
Wallets are keyed (partner, network, role) — re-PUT replaces the prior wallet for that role. Existing in-flight transactions keep the wallet pinned at quote-acceptance time.
Validate an address (preflight)
UNRESOLVED — auth claim pending
GET /v1/wallets/validate is documented as public, but it currently requires a JWT in the running service. Until this is resolved, call it with Authorization: Bearer $PARTNER_TOKEN.
curl "$BASE_URL/v1/wallets/validate?address=0x4444444444444444444444444444444444444444&network=base" \
-H "Authorization: Bearer $PARTNER_TOKEN"
# → { "valid": true, "format": "EVM" }