Credentials

API credentials, on-chain identifiers, and the smart contracts used by the Corporate API.

Before You Start

Read the following guides before proceeding:

GuideWhy
Getting StartedIntegration overview and prerequisites
EnvironmentsBase URLs and chain configuration

API Credentials

Wirex provides the following credentials per environment:

CredentialFormatPurpose
client_idStringIdentifies your company on POST /api/v1/token
client_secretStringSecret used in the client-credentials exchange

Your company must be registered as a corporate company. A client_id registered as a retail
company is refused by POST /api/v1/token with 500 and the message
You're in the wrong place. Please go to retail api with this kind of requests. A client_id with no
secret configured is refused with 401 ErrorPermissionDenied and
Client credentials access is not enabled for this account.


On-Chain Identifier

CredentialFormatPurpose
partner_id16-byte hex (bytes16)The parentEntity argument to createCorporationForCorporateWallet in the CorporateAccounts contract, and the first 16 bytes of the CorporateValidator install data

The partner_id scopes every on-chain corporation, employee and role record to your partner entity.
Two partners can register the same wallet address independently — the record is keyed by
(parentEntity, corporation).


Blockchain Infrastructure

When deploying corporation wallets directly (not using the Wirex SDK), you receive the following
endpoints per environment. They are also returned by GET /api/v1/config.

CredentialPurpose
Bundler RPC URLZeroDev bundler for UserOperation submission
Paymaster RPC URLZeroDev paymaster for gas sponsorship
RPC Provider URLBlockchain RPC endpoint

Smart Contract Addresses

Wirex provides a ContractRegistry address per chain and environment. Every other contract address is
resolved from the registry with contractByName(name).

ContractRegistry Addresses

EnvironmentChainChain IDContractRegistry Address
SandboxBase Sepolia845320xC801a0f38E20500B5840c4927553b3409890bc3c
SandboxStellar Testnet9223372036854775806CB2F7E7QVPUHUCMKIWNBTEPLL2S3GYDGQJQECIRKQ2PRKL2U3XNXOSNO
ProductionBase84530xAFa697ebC7919998AF5CdE325Fbe990dC926aae4
ProductionStellar9223372036854775806CCRZBVBWNMDYOOQNJKB6TGMTSE5HE57RWQUGTN3AWBHMDHO45UCABJRE

Contracts Resolved from Registry

Contract NamePurpose
CorporateAccountsCorporation registration, employees, on-chain roles
CorporateValidatorSigner module for corporation wallets — validates each UserOperation against the signer's on-chain role. Required
ExecutionDelayCorporatePolicyTime-lock policy required as the corporation wallet's root validator
FundsManagementExecutor module the oracle uses to move funds on the corporation's behalf
TokensRegistrySupported token list

The corporate contracts differ from the retail ones. A corporation wallet configured with the retail
Accounts contract and ExecutionDelayPolicy is rejected at registration with
Policy is not the execution delay policy.


Credential Storage

  • Store client_secret in a secrets manager (AWS Secrets Manager, HashiCorp Vault, GCP Secret Manager)
  • Never commit credentials to source control
  • Never expose credentials in client-side code or logs
  • Rotate credentials immediately if compromised

The partner_id is not secret. Store it in application configuration and validate it against your
expected value before submitting an on-chain registration.


Token Addresses

Resolve token addresses at runtime from GET /api/v1/config/tokens — the catalogue is per company and
per chain. The values below are the platform tokens on Base.

Production (Base — Chain ID 8453)

TokenAddressDecimals
USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA029136
USDT0xfde4C96c8593536E31F229EA8f37b2ADa2699bb26
EURC0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb426
WUSD0xb4bB2032A73A53C0Aa7Dc9ee2d9658a978fA7bC218
WEUR0x379e120C1921bFD8f5E0A1a3C699e7e800b6660618

Sandbox (Base Sepolia — Chain ID 84532)

TokenAddressDecimals
USDC0x7Af7cDbd557eD302F7538Db1e3d094C8BBcA665c6
USDT0x2C6c7c00ACa9B9D8446d107367485079b047170618
EURC0xF70461ffb413981852683657A310892227e3989e6
WUSD0x0774164DC20524Bb239b39D1DC42573C3E4C697618
WEUR0x5c55F314624718019A326F16a62A05D6C6d8C8A218

Did this page help you?