Skip to main content

The rule

ModeTestnetMainnet
kyb_status = trial (no KYC)
kyb_status = approved (KYC passed)
Mainnet is gated. You must complete KYC to take live payments. Testnet is open to everyone for the 60-day trial.

Why we gate mainnet

Three reasons:
  1. Sanctions screening. Live USDC payments go through OFAC, UK, and EU sanctions checks per transaction. We need to know who’s accepting them.
  2. Compliance requirements. AlgoVoi’s regulatory standing requires identifying the merchant of record before settling real money.
  3. The $1,000 allowance is real money. We’re not handing $1,000 to anonymous accounts.

Two paths

Individuals and sole traders: automatic

If you sign up as an individual or sole trader, KYC is fully automatic in our identity provider. Pass the liveness check and ID upload and you’re approved within minutes, usually under sixty seconds.

Companies: MLRO review

If you’re a registered company, your KYB submission is reviewed by AlgoVoi’s MLRO. Typical turnaround is one to two business days. During review your account stays in pending state, but you can still use testnet.

What you need to provide

  • Government-issued photo ID (passport, driving licence, national ID card)
  • A short liveness selfie video
  • Proof of address (utility bill or bank statement, dated within 3 months)

How we store your documents

Every KYC and KYB document you upload (passport, selfie, proof of address, beneficial-owner ID, source-of-funds letter) is encrypted at rest. The specifics:
  • AES-128-CBC with HMAC-SHA256 (Fernet symmetric encryption) applied to every file before it touches disk. Plaintext only exists in memory while a request is being processed.
  • A dedicated encryption key, separate from the key used for tenant secrets. A compromise of one class of data cannot expose the other.
  • Multi-key rotation is supported, so the encryption key can be rotated without downtime.
  • Zero plaintext in backups. Backups are bytes-on-disk, so ciphertext on the source means ciphertext in the backup.
  • AML retention is honoured: documents are retained until the business relationship ends plus 5 years (UK MLRs Reg 40(2)) and never auto-purged.
  • Access is admin-authenticated. Downloads stream through the control plane; no public URLs and no presigned exposure.
For the regulator-facing version of this position (UK GDPR Art 32, MLRs Reg 19, interim controls and triggers), see the platform security policy at docs/SECURITY_KYB_AT_REST_2026-04-26.md in the platform repo.

After approval

Your account kyb_status flips to approved. The mainnet_unlocked flag goes true. The dashboard shows your $1,000.00 of $1,000.00 mainnet · all 7 chains allowance with a teal progress bar. From this point you can:
  • Add mainnet payout addresses for any of the 7 chains
  • Take real-money payments through hosted checkout, x402, MPP, AP2, A2A, and MCP
  • Wire bots to mainnet networks
  • Configure the production webhook secret in your generic-webhook destination

Self-payment block

We block payments where the payer address equals the merchant payout address (case-insensitive). Without this, a tenant could pay themselves $1,000 to burn the allowance for about $1 of gas. The check runs at the verifier across all 7 chains.

What mainnet_unlocked: false means

If you try a live network without KYC:
{
  "error": "kyb_required_for_mainnet",
  "message": "Mainnet payments require KYC. Complete identity verification at dash.algovoi.co.uk/kyc to unlock $1,000 of free mainnet allowance.",
  "kyb_status": "trial",
  "mode": "live"
}
You’ll get the same error from x402, MPP, AP2, hosted checkout, and the cloud gateway proxy. Every entry point applies the same check, so you don’t need to handle KYC failure differently per integration.

See also