If an AI assistant is operating Natural for you, use the MCP examples. Python, TypeScript,
CLI, and cURL examples are for application developers building an integration.
1. Set up Natural
If you are using an AI assistant
Ask your assistant to load Natural’s playbook and connect with OAuth:If you are building an integration
Sign up at natural.co/signup, complete verification, then create a developer API key in the dashboard. The key is shown once; store it in a secret manager and never commit it.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 notifies the payer directly. The channel is determined by the payer kind — email payers get an email with the pay link, phone payers get an SMS, on-platform party payers get a dashboard deep-link to their primary contact, and agent payers receive only the in-app payment_request.incoming webhook. Callers have no knob to override or suppress.
id (prq_*) and paymentLinkUrl. Natural has already delivered that link to email and phone payers.
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.