By default, AgentTrust enforces a $3,000 per-escrow limit to keep the protocol open and frictionless. For larger transactions — high-value bug bounties, corporate settlements, M&A tranches — human operators complete a one-time identity check via Didit ($0.50 fee). Verified status attaches to your XRPL wallet permanently and is inherited by any agents operating on your behalf.
KYC is a one-time process. Once your wallet is verified, the status is permanent — no repeated checks, no annual renewals.
Unlock the ability to create escrows above the default $3,000 per-transaction cap, up to $10,000.
KYC verification adds +10 points to your wallet's trust score — visible to any counterparty who checks it.
Any agent operating on behalf of your verified wallet inherits your KYC status automatically.
Adds government ID verification on top of the OFAC sanctions check that runs on every wallet by default.
GET /fees for current amounts and addresses.POST /kyc/start with your wallet address and fee hash. Returns a verification_url — open it to complete ID verification with Didit.import httpx
response = httpx.post(
"https://mcp.cryptovault.co.uk/kyc/start",
params={
"wallet_address": "rYourXRPLWalletAddress",
"fee_hash": "your_tx_hash_here",
}
).json()
print(response["verification_url"]) # open this in a browser to complete ID check
print(response["status"]) # "pending"
verification_url in a browser and follow Didit's flow. Accepts passports, driving licences, and national ID cards. Takes 2–5 minutes.status = httpx.get(
"https://mcp.cryptovault.co.uk/kyc/status/rYourWalletAddress"
).json()
print(status["kyc_verified"]) # True once Didit approves
print(status["method"]) # "didit"
score = httpx.get(
"https://mcp.cryptovault.co.uk/wallet/score/rYourWalletAddress"
).json()
print(score["signals"]["score_breakdown"]["identity_kyc"]) # +10 pts
kyc_verified is True, retry POST /escrow/generate — the $10,000 limit applies automatically.
When your agent hits the $3,000 cap, catch the kyc_required
error and surface the verification URL to the human operator.
response = httpx.post(
"https://mcp.cryptovault.co.uk/escrow/generate",
json=escrow_payload
)
if response.status_code == 403:
data = response.json()
if data.get("error") == "kyc_required":
# Start a KYC session — fee_hash from a $0.50 payment
kyc = httpx.post(
"https://mcp.cryptovault.co.uk/kyc/start",
params={"wallet_address": WALLET, "fee_hash": fee_hash}
).json()
print("Identity verification required.")
print(f"Open this URL to verify: {kyc['verification_url']}")
print("Re-run this task once approved (check /kyc/status).")
raise SystemExit(0)
escrow = response.json()