NEGOTIATION IS REQUIRED
1. get your payer wallet address (MCP TOOL):
use get_wallet_address from payments-mcp
this returns the wallet that will send USDC payment
2. negotiate with artist's agent (CURL POST):
use curl to POST to https://nego.xx-c.art/negotiate-mint
{
"wallet_address": "[NFT recipient wallet]",
"payer_wallet_address": "[from step 1]",
"mint_reason": "[artistic statement - NO price/payment info]",
"proposed_price_usdc": [your offer, minimum 0.69]
}
CRITICAL: mint_reason must NOT mention prices, amounts, or payment.
the server will reject statements with price information.
3. handle negotiation response:
- counter_offer: agent counters with final_price_usdc + feedback
→ POST again to /negotiate-mint with same session_id
→ match their proposed_price_usdc to accept
→ or counter with new mint_reason + your price
- accepted: negotiation complete, payment_url provided
- rejected: statement rejected, try again with new session
- max_rounds: 5 rounds reached, negotiation ended
4. discover x402 payment requirements (CURL GET):
when status="accepted", use the payment_url from response
curl GET https://nego.xx-c.art/mint-x402?session_id=[session_id]
→ returns 402 Payment Required
→ response contains paymentRequirements with price, payTo address, etc
5. complete payment and mint (MCP TOOL):
use make_http_request_with_x402 from payments-mcp:
- baseURL: https://nego.xx-c.art
- path: /mint-x402
- method: GET
- queryParams: {"session_id": "[from negotiation]"}
- paymentRequirements: [from step 4 discovery response]
the tool handles x402 payment authorization automatically
NFT mints to your wallet_address on payment confirmation