API-first · Self-hosted or cloud · Zero-trust

Control plane for digital assets

Control flow. Secure value.Nothing gets signed unless your rules allow it.
app.keylayer.io
Operating
Cold Storage
Payroll
Pending transactionAWAITING
Transfer 250,000 USDCOperating · Ethereum → 0x7f3a…9c21
≈ $250,012.40
Spending limit
PASS
Allowlist
PASS
Approvals
2 OF 3
ops@acme.co pending
Swap 12.4 ETH → USDCOperating
Policy passed2m ago
Payout batch #482Payroll
3 of 3 approved1h ago
CUSTODY

Any custody model. Same control.

MPC for what must not move wrong, a single key for what must move fast. EVM, Tron, TON, and more — from one setup.

Self-hostedMPCPlatform-hostedECDSA + Ed25519Multi-chain
POLICY

Your rules run before every signature.

Policy enforcement on every transaction — spending limits, allowlists, approval thresholds, applied at the signing layer.

Transactiontransfer()
POLICY ENGINE
Spending limit
Allowlist
2-of-3 approvals
Signaturesigned · broadcast
ISOLATION

Organize assets the way you organize risk.

Four levels of isolation — Organization, Space, Vault, Wallet — so access and policy live exactly where they should.

ORGANIZATIONAcme Treasury
SPACETreasury Ops
VAULTOperating
0x7f3a…9c210x3b8e…e802
VAULTCold Storage
bc1qx…f2v9
SPACETrading
VAULTPayroll
TR9dj…mkQ2
VAULTReserves
UQCx4…9vMd
Organization ⊃ Spaces ⊃ Vaults ⊃ Wallets
HOW IT WORKS

Three steps to controlled operations.

01 —Connect

Choose your custody model and create vaults for your assets.

02 —Set the rules

Define limits, allowlists, and approval flows — per space or per vault.

03 —Transact

Move assets via dashboard, API, or agents — every path under the same rules.

API

Build it into your own product.

Every operation runs through the API, and webhooks push each state change to your systems in real time — so wallets, payouts, and treasury can live inside your product, not just our dashboard.

REST API for every operation
Webhooks on every state change
Idempotent, versioned, typed SDKs
POST /v1/transfers
{
"vault": "vlt_treasury_main",
"asset": "USDT",
"chain": "tron",
"amount": "250000.00",
"to": "TW6qAv...9xKp"
}
⇒ webhook transfer.pending_approval
⇒ webhook transfer.approved → policy 2-of-3 met
AGENT
POLICY
Limit ≤ $250K
Allowlist match
Approvals 2 of 3
SIGN
agent_7f2 · bound by the same policy as any human
AGENTS

Delegate to agents. Keep the guardrails.

Let agents handle on-chain operations while your policy holds the line — every request bound by the same limits and approvals, no matter who or what sends it.

Agents move at machine speed. Your policy doesn't blink.

ACCESS & AUDIT

Every action has an owner — and a record.

Access

Roles scoped down to a single vault — who initiates, who approves, who only views.

Audit

Every action lands in a log no one can quietly edit; flagged transfers stop before they reach a signature.

Role-based accessTeamsAudit logsCompliance & risk
VISIBILITY

The whole picture, one dataset.

Every balance and movement across vaults and chains, queryable from one place — the same data behind your dashboards, reports, and audits.

GET /v1/positions?group_by=vault,chain
SYNCED · 4 CHAINS
Treasury MainEthereum · USDC
$4,210,500.00+$320,000
OTC DeskTron · USDT
$1,845,220.10−$96,400
PayoutsTON · TON
$812,400.00−$41,250
Cold ReserveEthereum · ETH
1,208.44 ETH$0
WHO IT'S FOR

Built for teams that move real value.

Fintechs & platforms

Embed wallets, payouts, and custody into your product without building the control layer yourself.

Funds & trading teams

Run multi-chain operations with hard limits and approvals no trader can bypass.

Corporate treasuries

Hold and move digital assets with the segregation, sign-off, and audit trail finance expects.

Take control of every signature.

Connect a custody model, set your rules, go live.

KEYLAYER. CONTROL FLOW. SECURE VALUE.