Accept instructions — actuate proposals (ALPHA)
curl --request POST \
--url https://api.platform.dakota.xyz/instructions \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"payment_agent_id": "2vWxAgent0000000000000000000",
"proposals": [
{
"actions": [
{
"type": "create_recipient",
"create_recipient": {
"name": "Alice"
}
},
{
"type": "create_crypto_destination",
"create_crypto_destination": {
"address": "0xa11ce00000000000000000000000000000000001",
"network_id": "base-sepolia"
}
},
{
"type": "create_mandate",
"create_mandate": {
"rule": {
"target_type": "recipient",
"targets": [
"Alice"
],
"network_id": "base-sepolia",
"asset": "USDC",
"max_per_tx": "10000",
"window": "MONTHLY",
"max_count_per_target_in_window": 1
}
}
},
{
"type": "create_scheduled_payments",
"create_scheduled_payments": {
"amount": "10000",
"asset": "USDC",
"dates": [
1781481600
]
}
}
]
}
]
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_agent_id: '2vWxAgent0000000000000000000',
proposals: [
{
actions: [
{type: 'create_recipient', create_recipient: {name: 'Alice'}},
{
type: 'create_crypto_destination',
create_crypto_destination: {
address: '0xa11ce00000000000000000000000000000000001',
network_id: 'base-sepolia'
}
},
{
type: 'create_mandate',
create_mandate: {
rule: {
target_type: 'recipient',
targets: ['Alice'],
network_id: 'base-sepolia',
asset: 'USDC',
max_per_tx: '10000',
window: 'MONTHLY',
max_count_per_target_in_window: 1
}
}
},
{
type: 'create_scheduled_payments',
create_scheduled_payments: {amount: '10000', asset: 'USDC', dates: [1781481600]}
}
]
}
]
})
};
fetch('https://api.platform.dakota.xyz/instructions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/instructions"
payload = {
"payment_agent_id": "2vWxAgent0000000000000000000",
"proposals": [{ "actions": [
{
"type": "create_recipient",
"create_recipient": { "name": "Alice" }
},
{
"type": "create_crypto_destination",
"create_crypto_destination": {
"address": "0xa11ce00000000000000000000000000000000001",
"network_id": "base-sepolia"
}
},
{
"type": "create_mandate",
"create_mandate": { "rule": {
"target_type": "recipient",
"targets": ["Alice"],
"network_id": "base-sepolia",
"asset": "USDC",
"max_per_tx": "10000",
"window": "MONTHLY",
"max_count_per_target_in_window": 1
} }
},
{
"type": "create_scheduled_payments",
"create_scheduled_payments": {
"amount": "10000",
"asset": "USDC",
"dates": [1781481600]
}
}
] }]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/instructions"
payload := strings.NewReader("{\n \"payment_agent_id\": \"2vWxAgent0000000000000000000\",\n \"proposals\": [\n {\n \"actions\": [\n {\n \"type\": \"create_recipient\",\n \"create_recipient\": {\n \"name\": \"Alice\"\n }\n },\n {\n \"type\": \"create_crypto_destination\",\n \"create_crypto_destination\": {\n \"address\": \"0xa11ce00000000000000000000000000000000001\",\n \"network_id\": \"base-sepolia\"\n }\n },\n {\n \"type\": \"create_mandate\",\n \"create_mandate\": {\n \"rule\": {\n \"target_type\": \"recipient\",\n \"targets\": [\n \"Alice\"\n ],\n \"network_id\": \"base-sepolia\",\n \"asset\": \"USDC\",\n \"max_per_tx\": \"10000\",\n \"window\": \"MONTHLY\",\n \"max_count_per_target_in_window\": 1\n }\n }\n },\n {\n \"type\": \"create_scheduled_payments\",\n \"create_scheduled_payments\": {\n \"amount\": \"10000\",\n \"asset\": \"USDC\",\n \"dates\": [\n 1781481600\n ]\n }\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"instruction_ids": [
"2vWxInstruction0000000000000"
]
}{
"type": "https://docs.dakota.xyz/api-reference/errors#invalid-request",
"title": "Invalid Request",
"status": 400,
"detail": "a proposal must instruct a payment"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#not-found",
"title": "Not Found",
"status": 404,
"detail": "agentic payments are not enabled"
}Agentic Payments
Accept instructions — actuate proposals (ALPHA)
Alpha — early access.
Each accepted proposal becomes one persisted instruction whose action series is actuated deterministically. Every proposal must instruct a payment. Returns only the instruction ids.
POST
/
instructions
Accept instructions — actuate proposals (ALPHA)
curl --request POST \
--url https://api.platform.dakota.xyz/instructions \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"payment_agent_id": "2vWxAgent0000000000000000000",
"proposals": [
{
"actions": [
{
"type": "create_recipient",
"create_recipient": {
"name": "Alice"
}
},
{
"type": "create_crypto_destination",
"create_crypto_destination": {
"address": "0xa11ce00000000000000000000000000000000001",
"network_id": "base-sepolia"
}
},
{
"type": "create_mandate",
"create_mandate": {
"rule": {
"target_type": "recipient",
"targets": [
"Alice"
],
"network_id": "base-sepolia",
"asset": "USDC",
"max_per_tx": "10000",
"window": "MONTHLY",
"max_count_per_target_in_window": 1
}
}
},
{
"type": "create_scheduled_payments",
"create_scheduled_payments": {
"amount": "10000",
"asset": "USDC",
"dates": [
1781481600
]
}
}
]
}
]
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
payment_agent_id: '2vWxAgent0000000000000000000',
proposals: [
{
actions: [
{type: 'create_recipient', create_recipient: {name: 'Alice'}},
{
type: 'create_crypto_destination',
create_crypto_destination: {
address: '0xa11ce00000000000000000000000000000000001',
network_id: 'base-sepolia'
}
},
{
type: 'create_mandate',
create_mandate: {
rule: {
target_type: 'recipient',
targets: ['Alice'],
network_id: 'base-sepolia',
asset: 'USDC',
max_per_tx: '10000',
window: 'MONTHLY',
max_count_per_target_in_window: 1
}
}
},
{
type: 'create_scheduled_payments',
create_scheduled_payments: {amount: '10000', asset: 'USDC', dates: [1781481600]}
}
]
}
]
})
};
fetch('https://api.platform.dakota.xyz/instructions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.platform.dakota.xyz/instructions"
payload = {
"payment_agent_id": "2vWxAgent0000000000000000000",
"proposals": [{ "actions": [
{
"type": "create_recipient",
"create_recipient": { "name": "Alice" }
},
{
"type": "create_crypto_destination",
"create_crypto_destination": {
"address": "0xa11ce00000000000000000000000000000000001",
"network_id": "base-sepolia"
}
},
{
"type": "create_mandate",
"create_mandate": { "rule": {
"target_type": "recipient",
"targets": ["Alice"],
"network_id": "base-sepolia",
"asset": "USDC",
"max_per_tx": "10000",
"window": "MONTHLY",
"max_count_per_target_in_window": 1
} }
},
{
"type": "create_scheduled_payments",
"create_scheduled_payments": {
"amount": "10000",
"asset": "USDC",
"dates": [1781481600]
}
}
] }]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.platform.dakota.xyz/instructions"
payload := strings.NewReader("{\n \"payment_agent_id\": \"2vWxAgent0000000000000000000\",\n \"proposals\": [\n {\n \"actions\": [\n {\n \"type\": \"create_recipient\",\n \"create_recipient\": {\n \"name\": \"Alice\"\n }\n },\n {\n \"type\": \"create_crypto_destination\",\n \"create_crypto_destination\": {\n \"address\": \"0xa11ce00000000000000000000000000000000001\",\n \"network_id\": \"base-sepolia\"\n }\n },\n {\n \"type\": \"create_mandate\",\n \"create_mandate\": {\n \"rule\": {\n \"target_type\": \"recipient\",\n \"targets\": [\n \"Alice\"\n ],\n \"network_id\": \"base-sepolia\",\n \"asset\": \"USDC\",\n \"max_per_tx\": \"10000\",\n \"window\": \"MONTHLY\",\n \"max_count_per_target_in_window\": 1\n }\n }\n },\n {\n \"type\": \"create_scheduled_payments\",\n \"create_scheduled_payments\": {\n \"amount\": \"10000\",\n \"asset\": \"USDC\",\n \"dates\": [\n 1781481600\n ]\n }\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"instruction_ids": [
"2vWxInstruction0000000000000"
]
}{
"type": "https://docs.dakota.xyz/api-reference/errors#invalid-request",
"title": "Invalid Request",
"status": 400,
"detail": "a proposal must instruct a payment"
}{
"type": "https://docs.dakota.xyz/api-reference/errors#not-found",
"title": "Not Found",
"status": 404,
"detail": "agentic payments are not enabled"
}Authorizations
Response
Created instructions
Was this page helpful?
⌘I

