Credentials
API credentials, on-chain identifiers, and the smart contracts used by the Corporate API.
Before You Start
Read the following guides before proceeding:
| Guide | Why |
|---|---|
| Getting Started | Integration overview and prerequisites |
| Environments | Base URLs and chain configuration |
API Credentials
Wirex provides the following credentials per environment:
| Credential | Format | Purpose |
|---|---|---|
client_id | String | Identifies your company on POST /api/v1/token |
client_secret | String | Secret used in the client-credentials exchange |
Your company must be registered as a corporate company. A
client_idregistered as a retail
company is refused byPOST /api/v1/tokenwith500and the message
You're in the wrong place. Please go to retail api with this kind of requests.Aclient_idwith no
secret configured is refused with401 ErrorPermissionDeniedand
Client credentials access is not enabled for this account.
On-Chain Identifier
| Credential | Format | Purpose |
|---|---|---|
partner_id | 16-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.
| Credential | Purpose |
|---|---|
| Bundler RPC URL | ZeroDev bundler for UserOperation submission |
| Paymaster RPC URL | ZeroDev paymaster for gas sponsorship |
| RPC Provider URL | Blockchain 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
| Environment | Chain | Chain ID | ContractRegistry Address |
|---|---|---|---|
| Sandbox | Base Sepolia | 84532 | 0xC801a0f38E20500B5840c4927553b3409890bc3c |
| Sandbox | Stellar Testnet | 9223372036854775806 | CB2F7E7QVPUHUCMKIWNBTEPLL2S3GYDGQJQECIRKQ2PRKL2U3XNXOSNO |
| Production | Base | 8453 | 0xAFa697ebC7919998AF5CdE325Fbe990dC926aae4 |
| Production | Stellar | 9223372036854775806 | CCRZBVBWNMDYOOQNJKB6TGMTSE5HE57RWQUGTN3AWBHMDHO45UCABJRE |
Contracts Resolved from Registry
| Contract Name | Purpose |
|---|---|
CorporateAccounts | Corporation registration, employees, on-chain roles |
CorporateValidator | Signer module for corporation wallets — validates each UserOperation against the signer's on-chain role. Required |
ExecutionDelayCorporatePolicy | Time-lock policy required as the corporation wallet's root validator |
FundsManagement | Executor module the oracle uses to move funds on the corporation's behalf |
TokensRegistry | Supported token list |
The corporate contracts differ from the retail ones. A corporation wallet configured with the retail
Accountscontract andExecutionDelayPolicyis rejected at registration with
Policy is not the execution delay policy.
Credential Storage
- Store
client_secretin 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)
| Token | Address | Decimals |
|---|---|---|
| USDC | 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 | 6 |
| USDT | 0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2 | 6 |
| EURC | 0x60a3E35Cc302bFA44Cb288Bc5a4F316Fdb1adb42 | 6 |
| WUSD | 0xb4bB2032A73A53C0Aa7Dc9ee2d9658a978fA7bC2 | 18 |
| WEUR | 0x379e120C1921bFD8f5E0A1a3C699e7e800b66606 | 18 |
Sandbox (Base Sepolia — Chain ID 84532)
| Token | Address | Decimals |
|---|---|---|
| USDC | 0x7Af7cDbd557eD302F7538Db1e3d094C8BBcA665c | 6 |
| USDT | 0x2C6c7c00ACa9B9D8446d107367485079b0471706 | 18 |
| EURC | 0xF70461ffb413981852683657A310892227e3989e | 6 |
| WUSD | 0x0774164DC20524Bb239b39D1DC42573C3E4C6976 | 18 |
| WEUR | 0x5c55F314624718019A326F16a62A05D6C6d8C8A2 | 18 |
Updated 20 days ago

