All recipes

Recipe 01 · worked guide

Pay the right party. Then prove it happened.

Start with a user-approved transfer through the Portal. Add your own invoice, vendor or service check before the payment is proposed. The final receipt proves execution, not whether the invoice was legitimate.

End-to-end Portal verification pending

Before you build

What you need

  • An Arc Testnet wallet with test USDC and enough USDC for gas.
  • A recipient address verified against a source outside the agent prompt.
  • A document or service request with a stable identifier you control.

Sequence

Do it in this order

01

Define the payment decision

Represent one invoice or service purchase with an ID, expected amount and known recipient. Store this outside the agent conversation.

02

Validate before asking to pay

Your application checks the invoice or service request, the approved payee and whether this ID has already been paid. A prompt saying ‘avoid duplicates’ is not enforcement.

03

Prepare the action in Aomi

Follow the Arc Testnet quickstart to ask Aomi to prepare and simulate a small transfer. Use the verified recipient and amount from your application.

04

Review and authorize

Compare the exact recipient and value to your payment record. Exercise one rejected request, then approve a fresh valid request in the configured manual wallet flow.

05

Record the outcome

Only mark the invoice or service request paid after a confirmed result. Keep its ID, transaction hash and explorer URL together. A timed-out response calls for reconciliation, not a blind second payment.

What to show a reviewer

Show one allowed payment and one refused payment. Confirm the allowed transaction independently in ArcScan, then demonstrate that the same invoice ID will not be submitted twice by your application.

Keep this boundary clear

This worked guide covers a manual USDC transfer. An automated HTTP 402 purchase needs a separate x402 payer integration and authorization model. Circle publishes an Arc x402 sample; this page does not claim that the Portal transfer is that integration.

Where to go next

Keep the first action small. If you need custom tools, start from the Aomi App guide rather than inventing an API call.