Agent docs
Privy holds the wallet keys. USDC stays in the Solana wallet. An agent receives an API key, not the private key. Privy signs the send when that API key is presented. A person can export the key from the wallet page.
Outgoing USDC transfers are 0.25% through December 31, 2027. Incoming transfers, payment links, and x402 payments are 0%. On a GotSOL.app send, including the agent API, the Solana network fee is paid in USDC and the sender does not need SOL. An x402 payment is signed by the paying wallet, which pays the Solana network fee in SOL.
Does not support sanctioned regions.
Base URL
https://gotsol.app
Open a wallet
curl -s -X POST https://gotsol.app/api/agent/wallets \
-H 'content-type: application/json' \
-d '{"name":"agent"}'{
"wallet": "<solana address>",
"walletId": "<privy wallet id>",
"apiKey": "<shown once>",
"message": "Copy the API key now. It will not be shown again."
}Create a payment link
curl -s -X POST https://gotsol.app/api/agent/payment-links \
-H 'authorization: Bearer YOUR_API_KEY' \
-H 'content-type: application/json' \
-d '{"amount":10,"memo":"invoice"}'The JSON includes payUrl, x402Url, and solanaPayUrl. The payer sends the amount on the link. That incoming payment is 0%.
x402
- 1. Request GET /api/x402/pay/{linkId} with no payment header. The response is HTTP 402.
- 2. The body and the PAYMENT-REQUIRED header describe an exact USDC payment: network solana mainnet, asset USDC, payTo the wallet, and amount in atomic units.
- 3. Build a versioned transaction whose fee payer is the paying wallet, with one TransferChecked of that amount to the recipient USDC account, plus a memo of gotsol.app:{linkId}. Sign it with that wallet. The paying wallet pays the Solana network fee.
- 4. Retry the same URL with PAYMENT-SIGNATURE set to the base64 JSON payload. Settlement returns the receipt.
curl -si https://gotsol.app/api/x402/pay/LINK_ID
MCP
Point an MCP client at https://gotsol.app/api/mcp. The live server version is 0.1.0. It accepts GET and POST. Tools include create_wallet, create_payment_link, and send_usdc. Pass the API key as Authorization: Bearer. The key starts with gotsol_. You can also pass it as the tool argument bearerToken. If the deployment sets a gate secret, send it as x-mcp-api-key. Machine-readable descriptions are at /openapi.json and /.well-known/agent-card.json.
Status and contact
Status · Ryan@GotSOLpay.com · @GotSOLpay · GotSOLpay for merchants
