Secure by architecture.
Even a compromised API key can’t steal your funds. Here’s why.
One direction. No reverse path.
One-way by design
Veil is a one-way offramp. Funds flow in one direction: from a crypto wallet, through a licensed conversion partner, to a bank account. There is no reverse path.
There is no function in the API to send crypto to an external wallet, and no way to change a payout destination mid-transaction. Payouts land in a KYC-verified Veil bank account - your own, or another Veil user’s via their @username. And every payout to someone else requires a fresh email OTP, so a stolen API key alone can only ever move money to your own bank.
If someone gains access to your API key, the worst they can do is trigger an offramp to your own bank account. They can’t send anywhere else - third-party payouts always need a fresh email code. Your money still arrives at your bank. Not theirs.
What an attacker cannot do
What an attacker can do
With a compromised API key.
With a stolen API key, an attacker can trigger an offramp to your own verified bank account, and read wallet balances and transaction history. They cannot send to anyone else - every third-party (@username) payout requires a fresh email OTP they can’t receive.
This is the blast radius. It’s limited by design.
To limit exposure further: rotate your API key immediately from the dashboard, enable IP allowlisting for production keys, and keep the email OTP confirmation on for your own bank account.
How your account is protected
Defense in depth.
Security for automated offramps
Triggered from dashboard or CLI
Email OTP required to release funds
Human is present to authenticate
Triggered by an auto-settle source address
Email OTP required when you turn it on
Converts deposits hands-free to your bank
This is the same model as standing orders in traditional banking - you authenticate once to set up the instruction, then it executes automatically.
If something goes wrong
If you suspect unauthorized access:
veil account freeze from any terminalFreezing is instant and requires no code. All pending offramps are paused. No funds leave your account while frozen.
Questions about security?
Reach us at security@useveil.co