Skip to main content

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" }

Next steps