Configuration

View as Markdown

All IDA services are configured via environment variables.

API Service

VariableRequiredDefaultDescription
DATABASE_URLYes-PostgreSQL connection string
REDIS_URLYes-Redis connection string
ADI_RPC_URLYes-ADI blockchain RPC endpoint
ADI_CHAIN_IDNo1337ADI chain ID
NATS_URLYes-NATS server URL
IPFS_API_URLYes-IPFS API URL
API_PORTNo8080API server port
LOG_LEVELNoinfoLog level (debug, info, warn, error)
DID_REGISTRY_ADDRESSYes-DID Registry contract address
SCHEMA_REGISTRY_ADDRESSYes-Schema Registry contract address
REVOCATION_REGISTRY_ADDRESSYes-Revocation Registry contract address
AGENT_TRUST_REGISTRY_ADDRESSYes-Agent Trust Registry contract address
SIGNING_KEYYes-Platform signing key (for audit receipts)
CORS_ORIGINSNo*Allowed CORS origins
RATE_LIMIT_ENABLEDNotrueEnable rate limiting
RATE_LIMIT_REQUESTSNo1000Requests per minute per API key

Resolver Service

VariableRequiredDefaultDescription
ADI_RPC_URLYes-ADI blockchain RPC endpoint
REDIS_URLYes-Redis for DID resolution cache
IPFS_API_URLYes-IPFS for DID Document retrieval
RESOLVER_PORTNo8081Resolver server port
CACHE_TTLNo300DID resolution cache TTL (seconds)

Portal

VariableRequiredDefaultDescription
VITE_API_URLYes-IDA API base URL
VITE_RESOLVER_URLNo-DID resolver URL
VITE_CHAIN_EXPLORER_URLNo-ADI block explorer URL

ADI Blockchain Node

VariableRequiredDefaultDescription
NETWORKYesdevnetNetwork name (devnet, testnet, mainnet)
NODE_IDYes-Unique node identifier
VALIDATORNofalseEnable validator mode
BOOTNODENo-Bootnode address for peer discovery
DATA_DIRNo/dataBlockchain data directory

Example .env File

1# Database
2DATABASE_URL=postgres://ida:ida_secret@localhost:5432/ida?sslmode=disable
3REDIS_URL=redis://localhost:6379
4
5# Blockchain
6ADI_RPC_URL=http://localhost:30303
7ADI_CHAIN_ID=1337
8
9# Smart Contracts
10DID_REGISTRY_ADDRESS=0x5FbDB2315678afecb367f032d93F642f64180aa3
11SCHEMA_REGISTRY_ADDRESS=0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512
12REVOCATION_REGISTRY_ADDRESS=0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0
13AGENT_TRUST_REGISTRY_ADDRESS=0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9
14
15# Services
16NATS_URL=nats://localhost:4222
17IPFS_API_URL=http://localhost:5001
18
19# API
20API_PORT=8080
21RESOLVER_PORT=8081
22LOG_LEVEL=debug
23CORS_ORIGINS=http://localhost:5173,http://localhost:3000
24
25# Security
26SIGNING_KEY=your-platform-signing-key
27RATE_LIMIT_ENABLED=true
28RATE_LIMIT_REQUESTS=1000

Configuration Precedence

  1. Environment variables (highest priority)
  2. .env file in project root
  3. Default values (lowest priority)

Secrets Management

For production deployments, use a secrets manager:

PlatformMethod
KubernetesKubernetes Secrets + external-secrets-operator
AWSAWS Secrets Manager
GCPGoogle Secret Manager
AzureAzure Key Vault
HashiCorpVault

Never commit secrets to version control. Use .env.example as a template.