Sandbox
Built for Fast Integration

Developer Experience

Partner sandbox with 3 seed profiles, webhook testing and delivery replay, API key lifecycle management, and benchmarking commands — everything you need to integrate, test, and go live quickly.

Partner Sandbox

Provision a fully seeded sandbox environment in seconds. Choose from three seed profiles depending on what you're building — all provisioned via a single artisan command.

Basic

Basic Profile

A minimal tenant with a single user, one account, and sample transaction history. Ideal for API exploration and quick prototyping.

php artisan sandbox:provision \
  --profile=basic \
  --tenant=my-company
Recommended

Full Profile

Multiple users, accounts, wallets, assets, complete transaction history, and sample webhook events. Best for comprehensive integration testing.

php artisan sandbox:provision \
  --profile=full \
  --tenant=my-company
Payments

Payments Profile

Pre-configured payment rails, sample x402 and MPP payment sessions, and webhook event history for payment lifecycle testing.

php artisan sandbox:provision \
  --profile=payments \
  --tenant=my-company

Reset your sandbox at any time: php artisan sandbox:reset --tenant=my-company

Webhook Testing & Replay

Test your webhook handlers without triggering real events. Generate synthetic test payloads for any event type and replay failed deliveries with HMAC signature verification.

Test Event Types

Generate realistic test payloads for the 5 most common event types in your integration flow.

payment.completed
payment.failed
account.credited
kyc.status_changed
consent.revoked

Delivery & Replay

Every webhook delivery is logged with request headers, body, response status, and latency. Replay any failed delivery from the dashboard or CLI.

  • Full delivery log with request/response
  • HMAC-SHA256 signature on every delivery
  • Manual and automatic retry on 5xx
  • CLI replay: webhook:replay <id>
# Verify your endpoint signature
X-Webhook-Signature: sha256=abc123...
X-Webhook-Event: payment.completed
X-Webhook-Delivery: uuid-delivery-id

API Key Management

Full API key lifecycle from the CLI. Create scoped keys, rotate credentials, revoke compromised keys, and audit all active tokens without touching the dashboard.

# Create a new key with payment scope
$ php artisan api-key:create --name="Production" --scopes=read,write
Created: zk_live_abc123... (stored once, keep it safe)
# Rotate a key (old key immediately invalidated)
$ php artisan api-key:rotate --id=42
New key: zk_live_xyz789...
# List all active keys for this tenant
$ php artisan api-key:list
# Revoke a compromised key
$ php artisan api-key:revoke --id=42
Key revoked. All requests with this token return 401.

Benchmark Commands

Verify platform performance in your own environment. Built-in benchmark commands measure ledger throughput and payment rail latency with configurable concurrency.

Ledger Throughput

Measure double-entry journal posting performance with configurable transaction count and concurrency level.

php artisan benchmark:ledger \
  --transactions=10000 \
  --concurrency=10

Result: 8,420 TPS (avg 1.19ms)

Payment Rail Speed

Measure end-to-end payment initiation latency for each configured rail, including routing decision time.

php artisan benchmark:rails \
  --rails=ach,rtp,fednow \
  --payments=100

ACH:    12ms avg (routing + post)
RTP:     8ms avg
FedNow:  9ms avg

Everything Developers Need

Full API Docs

OpenAPI 3.0 spec, Swagger UI, and Postman collection — generated from live code, always current.

GraphQL Playground

Interactive GraphQL explorer with full schema introspection and authenticated query execution.

Zelta CLI

25-command CLI for managing accounts, payments, keys, and sandbox — available as PHAR, npm, and Homebrew.

Zelta SDK

Composer-installable PHP SDK with transparent x402 and MPP auto-handling. Zero payment protocol boilerplate.

First API Call in Under 5 Minutes

Provision a sandbox, generate an API key, and make your first authenticated request in minutes. No credit card required.