Repository navigation
Conversation
…ack deposits without calling Eulen or handling PII.
TomasCast
requested review from
andycreed0x and
coelhogonzalo
and removed request for
andycreed0x
September 21, 2026 13:19
andycreed0x
requested changes
Sep 23, 2026
Keep the PIX docs and examples alongside develop's L-BTC WapuPay copy, and keep lightning_receive as the only tool that ships disabled.
coelhogonzalo
removed their request for review
September 28, 2026 16:41
Ankara's KYC session endpoint now requires verification_methods (otp/pix, plus amount_brl_cents + destination_wallet for pix) and returns a verification_url instead of operator_id. - eulen_kyc_session: send verification_methods / amount / a local wallet address, return verification_url, map 409 EULEN_KYC_ALREADY_VERIFIED to status=already_verified. The pix destination address is reserved per account+wallet for 30 min so retries hit Ankara's same-session reuse. - eulen_kyc_confirm: explicit handling of every session_status (incl. not_found, identity_conflict) with is_final/is_success/poll_after_seconds; unknown statuses raise. - Surface Retry-After as retry_after_seconds on error envelopes. - CLI: kyc-session --method/--amount-cents/--wallet-name, kyc-confirm --wait. - Redact session_id and verification_url from logs. - Update tool schemas, MCP instructions, prompts and docs.
…ntegration-v2 # Conflicts: # docs/CONFIG.md
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Restore PIX → DePix in the local MCP/CLI so agents can KYC, charge, list, and track deposits through Ankara — never Eulen — without handling identity PII.
Noviuz hosted KYC (aligned with Ankara PR #689)
Ankara's
/eulen/kyc/session/now needsverification_methodsand returns averification_url(operator_idis gone). This branch follows that contract:eulen_kyc_sessionsendsverification_methods(otpdefault,pix, or both). Withpixit also sendsamount_brl_centsand adestination_wallettaken from a local mainnet wallet; the caller can't pass a raw address. It returnsverification_urlto open in the default browser.pixdestination address is reserved per account and wallet for 30 minutes (~/.aqua/pix_kyc_addresses.json, 0o600), so a retry sends identical parameters and gets Ankara's same session and URL instead of a new one.EULEN_KYC_ALREADY_VERIFIEDcomes back asstatus: "already_verified".eulen_kyc_confirmhandles everysession_status(created,under_review,approved,rejected,expired,not_found,identity_conflict) and returnsis_final,is_successandpoll_after_seconds(15 whilecreated).under_reviewis never treated as verified; an unknown status raises.Retry-Afteris passed through asretry_after_secondsin the error envelope.aqua eulen kyc-session --method otp|pix --amount-cents --wallet-name, andaqua eulen kyc-confirm --wait(polls every 15 s, up to 30 minutes).session_idandverification_urlare redacted from logs.Screenshots / logs / tests (optional but encouraged whenever possible)
tests/test_pix.py(KYC, receive,pix_listfilters,pix_statusbydeposit_id, email normalize).ANKARA_API_URL=https://test.aquabtc.com; Cursor MCP (aqua-staging-dev);pix_receive+pix_list(today) +pix_statuswith requiredemail. AnkaraGET /eulen/deposits/?deposit_id=is the source of truth (no Eulen/deposit/{id}/status/poll).scripts/prompts/prompt_test_real_pix.md(updated forverification_url, thepixmethod and the new statuses).tests/test_pix.py(request bodies, validation, address reuse, already-verified, everysession_status,Retry-After, CLI--wait). The Ankara side isn't on staging yet; a manual run against a local Ankara is still pending.Tested in ankara STG.


AI review (etiquette before requesting human review)
Bugbot (
/review) on this branch: 2 findings, both addressed in6882bdb(normalize PIX emails before persist; ignore.uv-bin/).