Automatically receive payment from another agent, email, phone number, or Natural party ID. For new parties, Natural creates a hosted payment page, delivers the page by email or SMS, and the payer settles via ACH or card (coming soon).Documentation Index
Fetch the complete documentation index at: https://docs.natural.co/llms.txt
Use this file to discover all available pages before exploring further.
Every call is shown five ways — MCP · Python · TypeScript · CLI · cURL. The MCP tab is the
natural-language prompt you’d give an AI agent.
1. Get your API key
Sign up at natural.co/signup (Google OAuth, email/password, or phone) and complete identity verification, KYC for individuals, KYB for businesses. See compliance for details. Then create a developer API key in the dashboard. It’s shown once, store it in a secret manager and never in version control.Other MCP clients (Cursor, Claude Desktop)
Other MCP clients (Cursor, Claude Desktop)
Point any MCP client at the same endpoint with a JSON config:
2. Create an agent
Agents execute transactions. Create one in the Agents tab of the dashboard, or:id (agt_*) — store it.
3. Review your wallet
Every request lands in a wallet. By default,POST /payment-requests uses the requester party’s default wallet, so you usually do not need to pass walletId. GET /wallets returns your wallets when you need to inspect the receiving wallet or choose a specific one later.
4. Create the request
POST /payment-requests creates the request and, with sendLink, delivers the link immediately.
id (prq_*) and a paymentLinkUrl to share with the payer.
5. Track the request
Poll for status with theid from step 4:
Requesting on behalf of a customer
To collect into a customer’s wallet, the customer first delegates payment authority (payments.create) to your agent. Invite them:
customerPartyId on the request. Natural uses their default receiving wallet, so the funds land in their wallet instead of yours.
Find a customer’s customerPartyId via GET /customers — each customer resource’s id is the party ID. Omit customerPartyId to collect into your own wallet.