2.0 KiB
2.0 KiB
ChimeraSettle Gateway (chsettle)
ChimeraSettle is a dummy settlement gateway for dev/test flows. It simulates settlement outcomes deterministically, without real fund movement.
What It Simulates
- Fast success
- Slow success
- Immediate failure
- Timeout-like failure
- Stuck pending/processing
- Retry-like progression before success
- Deterministic chaos bucket
How Behavior Is Chosen
Selection order:
- Explicit scenario override from request metadata:
chsettle_scenarioscenario(alias)
- Amount bucket routing based on:
amount_minor % 1000
- Hash fallback using idempotency key (if amount cannot be parsed)
Scenario Overrides
Accepted override values (aliases supported in code):
fast_successslow_successfail_immediatefail_timeoutstuck_pending(alsostuck)retry_then_successwebhook_delayed_successslow_then_failpartial_progress_stuckchaos
Amount Bucket Map (%1000)
| Slot range | Scenario |
|---|---|
000-099 |
fast_success |
100-199 |
slow_success |
200-299 |
fail_immediate |
300-399 |
fail_timeout |
400-499 |
stuck_pending |
500-599 |
retry_then_success |
600-699 |
webhook_delayed_success |
700-799 |
slow_then_fail |
800-899 |
partial_progress_stuck |
900-999 |
chaos (deterministic by idempotency key) |
Request Usage
Through Connector SubmitOperation
Use operation param:
scenario(optional)
or put it inside metadata as:
chsettle_scenario
Through Gateway SubmitTransfer
Set metadata key directly:
chsettle_scenario
Dev Environment
Compose service:
dev-chsettle-gateway
Ports:
- gRPC:
50080 - metrics:
9406
Start only this gateway:
docker compose -f docker-compose.dev.yml --env-file .env.dev up -d dev-chsettle-gateway
Logging
ChimeraSettle emits:
infologs for scenario decisions and transition milestoneswarnlogs for recoverable/non-fatal errorserrorlogs for startup-fatal failures- detailed
debuglogs for request execution tracing