Skip to main content

Verify a Credential

Verify your credential to confirm the API keys are valid and discover available trading accounts on the exchange.

Why Verify?

Verification serves two purposes:

  1. Validate API Keys - Confirms your credentials can authenticate with the exchange
  2. Discover Accounts - Returns a list of available trading account identifiers (e.g., spot, margin, futures)

Verify Credential

response = credential_api.verify_trading_account_credential(
cadenza_client.VerifyTradingAccountCredentialRequest(
credential_id=credential_id
)
)

result = response.data
print(f"Status: {result.status}") # VERIFIED or FAILED

# Available trading account identifiers
for identity in result.identities:
print(f"Available account: {identity}")

Request Parameters

ParameterTypeRequiredDescription
credentialIdUUIDYesThe credential ID to verify

Response

The response includes the verification result and available accounts:

{
"data": {
"credentialId": "550e8400-e29b-41d4-a716-446655440000",
"venue": "BINANCE",
"status": "VERIFIED",
"identities": [
"spot",
"margin",
"futures"
]
},
"success": true,
"errno": 0,
"error": null
}

Understanding Identities

The identities array contains the external trading account IDs available on the exchange. These vary by venue:

Binance

IdentityDescription
spotSpot trading account
marginCross margin account
isolated_marginIsolated margin accounts
futuresUSDT-M Futures account
coin_futuresCOIN-M Futures account

OKX

IdentityDescription
tradingUnified trading account
fundingFunding account

Bybit

IdentityDescription
unifiedUnified Trading Account
contractDerivatives account
spotSpot account
fundFunding account

Verification Outcomes

Success (VERIFIED)

if result.status == cadenza_client.CredentialStatus.VERIFIED:
print("Credential verified successfully!")
print(f"Found {len(result.identities)} trading accounts")

Failure (FAILED)

If verification fails, check:

  1. API Key Validity - Ensure the key hasn't expired or been revoked
  2. IP Whitelist - Add Cadenza's IP addresses to your exchange whitelist
  3. Permissions - Ensure required permissions are enabled
  4. Passphrase - For OKX, verify the passphrase is correct
if result.status == cadenza_client.CredentialStatus.FAILED:
print("Verification failed. Please check your API credentials.")

Complete Example

# Create and verify credential in one flow
create_response = credential_api.create_trading_account_credential(
cadenza_client.CreateTradingAccountCredentialRequest(
venue=cadenza_client.Venue.BINANCE,
credential_type=cadenza_client.CredentialType.EXCHANGE,
api_key="your-api-key",
api_secret="your-api-secret",
nickname="My Binance API"
)
)
credential_id = create_response.data.credential_id

# Verify the credential
verify_response = credential_api.verify_trading_account_credential(
cadenza_client.VerifyTradingAccountCredentialRequest(
credential_id=credential_id
)
)

result = verify_response.data
if result.status == cadenza_client.CredentialStatus.VERIFIED:
print(f"Verified! Available accounts: {result.identities}")
# Now you can connect a trading account
else:
print("Verification failed")

Next Steps

After verifying your credential, you can: