Resources

Security and limits

Spending authority needs an explicit boundary. Conversation is not a signature, and technical integration is not an audit.

Implemented controls

  • Tenant authentication and scopes; environment-specific resources and credentials.
  • Attempt idempotency, unique burn hash, CCTP nonce and persisted reconciliation.
  • Verification of the Circle message and exact authorization; vault limits and pause.
  • Mainnet guards and separation between integration API and signer.
  • Fail-closed start: if the TILCAI_API_KEYS keys cannot be synced, the process does not start, instead of going on accepting a key the operator retired. Logs never show key values.
  • Readiness separate from liveness: /ready does not announce payment capability without an authenticated relayer configured for the right network.

What remains open

Nothing described here has been audited. Whether Cloud Run keeps a single writer during deployments and restores still has to be validated in staging: during a rollout two instances coexist, one per revision (see Operations and deployment). Independent audit, a complete mainnet contract registry, tested account recovery, limited agent delegation, concurrent-load validation, and operational backup and recovery remain open. Reputation is not an established production control.

If a request times out

Keep paymentId and hashes; query and reconcile. Do not generate a second payment to resolve an uncertain one. Relayer notifications and screenshots do not replace on-chain evidence or authenticated bank confirmation.

Out of scope for now

Autonomous trading, wrapped-asset bridges, purchases without a commercial adapter and fiat conversion without a verified provider. CCTP moves native USDC and does have documented routes, including Avalanche Fuji and Monad Testnet to Stellar Testnet and Avalanche C-Chain to Stellar Public Network.

Availability depends on your instance. Check /health and /v1/routes before integrating.

TilcAI Docs · 20 Oct 2026Sources and versions ↗