curl --request POST \
--url https://api.inprocess.world/api/nouns \
--header 'Content-Type: application/json' \
--data '
{
"chainId": 1,
"account": "0xYourEthereumAddress",
"contract": {
"name": "My Nouns Moment Collection",
"uri": "ipfs://bafybeig..."
},
"tokens": [
{
"tokenMetadataURI": "ipfs://bafybeig...",
"createReferral": "0x0000000000000000000000000000000000000000",
"salesConfig": {
"type": "ZoraTimedSaleStrategy",
"pricePerToken": "0",
"saleStart": "0",
"saleEnd": "18446744073709551615"
},
"mintToCreatorCount": 1
}
],
"proposal": {
"title": "Mint a Moment onchain via In•Process",
"description": "This proposal mints a new moment on the In•Process protocol as a Nouns community action."
}
}
'import requests
url = "https://api.inprocess.world/api/nouns"
payload = {
"chainId": 1,
"account": "0xYourEthereumAddress",
"contract": {
"name": "My Nouns Moment Collection",
"uri": "ipfs://bafybeig..."
},
"tokens": [
{
"tokenMetadataURI": "ipfs://bafybeig...",
"createReferral": "0x0000000000000000000000000000000000000000",
"salesConfig": {
"type": "ZoraTimedSaleStrategy",
"pricePerToken": "0",
"saleStart": "0",
"saleEnd": "18446744073709551615"
},
"mintToCreatorCount": 1
}
],
"proposal": {
"title": "Mint a Moment onchain via In•Process",
"description": "This proposal mints a new moment on the In•Process protocol as a Nouns community action."
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
chainId: 1,
account: '0xYourEthereumAddress',
contract: {name: 'My Nouns Moment Collection', uri: 'ipfs://bafybeig...'},
tokens: [
{
tokenMetadataURI: 'ipfs://bafybeig...',
createReferral: '0x0000000000000000000000000000000000000000',
salesConfig: {
type: 'ZoraTimedSaleStrategy',
pricePerToken: '0',
saleStart: '0',
saleEnd: '18446744073709551615'
},
mintToCreatorCount: 1
}
],
proposal: {
title: 'Mint a Moment onchain via In•Process',
description: 'This proposal mints a new moment on the In•Process protocol as a Nouns community action.'
}
})
};
fetch('https://api.inprocess.world/api/nouns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.inprocess.world/api/nouns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'chainId' => 1,
'account' => '0xYourEthereumAddress',
'contract' => [
'name' => 'My Nouns Moment Collection',
'uri' => 'ipfs://bafybeig...'
],
'tokens' => [
[
'tokenMetadataURI' => 'ipfs://bafybeig...',
'createReferral' => '0x0000000000000000000000000000000000000000',
'salesConfig' => [
'type' => 'ZoraTimedSaleStrategy',
'pricePerToken' => '0',
'saleStart' => '0',
'saleEnd' => '18446744073709551615'
],
'mintToCreatorCount' => 1
]
],
'proposal' => [
'title' => 'Mint a Moment onchain via In•Process',
'description' => 'This proposal mints a new moment on the In•Process protocol as a Nouns community action.'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.inprocess.world/api/nouns"
payload := strings.NewReader("{\n \"chainId\": 1,\n \"account\": \"0xYourEthereumAddress\",\n \"contract\": {\n \"name\": \"My Nouns Moment Collection\",\n \"uri\": \"ipfs://bafybeig...\"\n },\n \"tokens\": [\n {\n \"tokenMetadataURI\": \"ipfs://bafybeig...\",\n \"createReferral\": \"0x0000000000000000000000000000000000000000\",\n \"salesConfig\": {\n \"type\": \"ZoraTimedSaleStrategy\",\n \"pricePerToken\": \"0\",\n \"saleStart\": \"0\",\n \"saleEnd\": \"18446744073709551615\"\n },\n \"mintToCreatorCount\": 1\n }\n ],\n \"proposal\": {\n \"title\": \"Mint a Moment onchain via In•Process\",\n \"description\": \"This proposal mints a new moment on the In•Process protocol as a Nouns community action.\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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))
}HttpResponse<String> response = Unirest.post("https://api.inprocess.world/api/nouns")
.header("Content-Type", "application/json")
.body("{\n \"chainId\": 1,\n \"account\": \"0xYourEthereumAddress\",\n \"contract\": {\n \"name\": \"My Nouns Moment Collection\",\n \"uri\": \"ipfs://bafybeig...\"\n },\n \"tokens\": [\n {\n \"tokenMetadataURI\": \"ipfs://bafybeig...\",\n \"createReferral\": \"0x0000000000000000000000000000000000000000\",\n \"salesConfig\": {\n \"type\": \"ZoraTimedSaleStrategy\",\n \"pricePerToken\": \"0\",\n \"saleStart\": \"0\",\n \"saleEnd\": \"18446744073709551615\"\n },\n \"mintToCreatorCount\": 1\n }\n ],\n \"proposal\": {\n \"title\": \"Mint a Moment onchain via In•Process\",\n \"description\": \"This proposal mints a new moment on the In•Process protocol as a Nouns community action.\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.inprocess.world/api/nouns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"chainId\": 1,\n \"account\": \"0xYourEthereumAddress\",\n \"contract\": {\n \"name\": \"My Nouns Moment Collection\",\n \"uri\": \"ipfs://bafybeig...\"\n },\n \"tokens\": [\n {\n \"tokenMetadataURI\": \"ipfs://bafybeig...\",\n \"createReferral\": \"0x0000000000000000000000000000000000000000\",\n \"salesConfig\": {\n \"type\": \"ZoraTimedSaleStrategy\",\n \"pricePerToken\": \"0\",\n \"saleStart\": \"0\",\n \"saleEnd\": \"18446744073709551615\"\n },\n \"mintToCreatorCount\": 1\n }\n ],\n \"proposal\": {\n \"title\": \"Mint a Moment onchain via In•Process\",\n \"description\": \"This proposal mints a new moment on the In•Process protocol as a Nouns community action.\"\n }\n}"
response = http.request(request)
puts response.read_body{
"governor": "0x6f3e6272a167e8accb32072d08e0957f9c79223d",
"args": [
[
"0xe0d3febE1c17DDA1086e89B638Ab54955FE2eF8a"
],
[
"0"
],
[
""
],
[
"0x7d5e81e2..."
],
"# Mint a Moment onchain via In•Process\n\nThis proposal mints a new moment on the In•Process protocol as a Nouns community action."
],
"value": "0"
}{
"status": "error",
"message": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"status": "error",
"message": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Get Nouns Proposal Action
Get the onchain Nouns proposal action for a Nouns governance proposal.
Supported chains: Ethereum Mainnet (chainId 1) and Sepolia testnet (chainId 11155111).
curl --request POST \
--url https://api.inprocess.world/api/nouns \
--header 'Content-Type: application/json' \
--data '
{
"chainId": 1,
"account": "0xYourEthereumAddress",
"contract": {
"name": "My Nouns Moment Collection",
"uri": "ipfs://bafybeig..."
},
"tokens": [
{
"tokenMetadataURI": "ipfs://bafybeig...",
"createReferral": "0x0000000000000000000000000000000000000000",
"salesConfig": {
"type": "ZoraTimedSaleStrategy",
"pricePerToken": "0",
"saleStart": "0",
"saleEnd": "18446744073709551615"
},
"mintToCreatorCount": 1
}
],
"proposal": {
"title": "Mint a Moment onchain via In•Process",
"description": "This proposal mints a new moment on the In•Process protocol as a Nouns community action."
}
}
'import requests
url = "https://api.inprocess.world/api/nouns"
payload = {
"chainId": 1,
"account": "0xYourEthereumAddress",
"contract": {
"name": "My Nouns Moment Collection",
"uri": "ipfs://bafybeig..."
},
"tokens": [
{
"tokenMetadataURI": "ipfs://bafybeig...",
"createReferral": "0x0000000000000000000000000000000000000000",
"salesConfig": {
"type": "ZoraTimedSaleStrategy",
"pricePerToken": "0",
"saleStart": "0",
"saleEnd": "18446744073709551615"
},
"mintToCreatorCount": 1
}
],
"proposal": {
"title": "Mint a Moment onchain via In•Process",
"description": "This proposal mints a new moment on the In•Process protocol as a Nouns community action."
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
chainId: 1,
account: '0xYourEthereumAddress',
contract: {name: 'My Nouns Moment Collection', uri: 'ipfs://bafybeig...'},
tokens: [
{
tokenMetadataURI: 'ipfs://bafybeig...',
createReferral: '0x0000000000000000000000000000000000000000',
salesConfig: {
type: 'ZoraTimedSaleStrategy',
pricePerToken: '0',
saleStart: '0',
saleEnd: '18446744073709551615'
},
mintToCreatorCount: 1
}
],
proposal: {
title: 'Mint a Moment onchain via In•Process',
description: 'This proposal mints a new moment on the In•Process protocol as a Nouns community action.'
}
})
};
fetch('https://api.inprocess.world/api/nouns', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.inprocess.world/api/nouns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'chainId' => 1,
'account' => '0xYourEthereumAddress',
'contract' => [
'name' => 'My Nouns Moment Collection',
'uri' => 'ipfs://bafybeig...'
],
'tokens' => [
[
'tokenMetadataURI' => 'ipfs://bafybeig...',
'createReferral' => '0x0000000000000000000000000000000000000000',
'salesConfig' => [
'type' => 'ZoraTimedSaleStrategy',
'pricePerToken' => '0',
'saleStart' => '0',
'saleEnd' => '18446744073709551615'
],
'mintToCreatorCount' => 1
]
],
'proposal' => [
'title' => 'Mint a Moment onchain via In•Process',
'description' => 'This proposal mints a new moment on the In•Process protocol as a Nouns community action.'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.inprocess.world/api/nouns"
payload := strings.NewReader("{\n \"chainId\": 1,\n \"account\": \"0xYourEthereumAddress\",\n \"contract\": {\n \"name\": \"My Nouns Moment Collection\",\n \"uri\": \"ipfs://bafybeig...\"\n },\n \"tokens\": [\n {\n \"tokenMetadataURI\": \"ipfs://bafybeig...\",\n \"createReferral\": \"0x0000000000000000000000000000000000000000\",\n \"salesConfig\": {\n \"type\": \"ZoraTimedSaleStrategy\",\n \"pricePerToken\": \"0\",\n \"saleStart\": \"0\",\n \"saleEnd\": \"18446744073709551615\"\n },\n \"mintToCreatorCount\": 1\n }\n ],\n \"proposal\": {\n \"title\": \"Mint a Moment onchain via In•Process\",\n \"description\": \"This proposal mints a new moment on the In•Process protocol as a Nouns community action.\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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))
}HttpResponse<String> response = Unirest.post("https://api.inprocess.world/api/nouns")
.header("Content-Type", "application/json")
.body("{\n \"chainId\": 1,\n \"account\": \"0xYourEthereumAddress\",\n \"contract\": {\n \"name\": \"My Nouns Moment Collection\",\n \"uri\": \"ipfs://bafybeig...\"\n },\n \"tokens\": [\n {\n \"tokenMetadataURI\": \"ipfs://bafybeig...\",\n \"createReferral\": \"0x0000000000000000000000000000000000000000\",\n \"salesConfig\": {\n \"type\": \"ZoraTimedSaleStrategy\",\n \"pricePerToken\": \"0\",\n \"saleStart\": \"0\",\n \"saleEnd\": \"18446744073709551615\"\n },\n \"mintToCreatorCount\": 1\n }\n ],\n \"proposal\": {\n \"title\": \"Mint a Moment onchain via In•Process\",\n \"description\": \"This proposal mints a new moment on the In•Process protocol as a Nouns community action.\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.inprocess.world/api/nouns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"chainId\": 1,\n \"account\": \"0xYourEthereumAddress\",\n \"contract\": {\n \"name\": \"My Nouns Moment Collection\",\n \"uri\": \"ipfs://bafybeig...\"\n },\n \"tokens\": [\n {\n \"tokenMetadataURI\": \"ipfs://bafybeig...\",\n \"createReferral\": \"0x0000000000000000000000000000000000000000\",\n \"salesConfig\": {\n \"type\": \"ZoraTimedSaleStrategy\",\n \"pricePerToken\": \"0\",\n \"saleStart\": \"0\",\n \"saleEnd\": \"18446744073709551615\"\n },\n \"mintToCreatorCount\": 1\n }\n ],\n \"proposal\": {\n \"title\": \"Mint a Moment onchain via In•Process\",\n \"description\": \"This proposal mints a new moment on the In•Process protocol as a Nouns community action.\"\n }\n}"
response = http.request(request)
puts response.read_body{
"governor": "0x6f3e6272a167e8accb32072d08e0957f9c79223d",
"args": [
[
"0xe0d3febE1c17DDA1086e89B638Ab54955FE2eF8a"
],
[
"0"
],
[
""
],
[
"0x7d5e81e2..."
],
"# Mint a Moment onchain via In•Process\n\nThis proposal mints a new moment on the In•Process protocol as a Nouns community action."
],
"value": "0"
}{
"status": "error",
"message": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}{
"status": "error",
"message": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
]
}Body
Ethereum address of the Nouns token holder submitting the proposal.
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
Target collection. Provide address for an existing collection, or name + uri to deploy a new one.
Show child attributes
Show child attributes
One or more tokens to mint as part of the proposal.
1Show child attributes
Show child attributes
Show child attributes
Show child attributes
Chain to target. 1 = Ethereum Mainnet, 11155111 = Sepolia testnet.
1, 11155111 Optional revenue split recipients. Must have at least 2 entries and total exactly 100%.
Show child attributes
Show child attributes
Response
Successful response — governor propose args for the Nouns proposal action
Nouns Governor contract address to call propose on.
"0x6f3e6272a167e8accb32072d08e0957f9c79223d"
Arguments for propose(targets, values, signatures, calldatas, description).
[
[
"0xe0d3febE1c17DDA1086e89B638Ab54955FE2eF8a"
],
["0"],
[""],
["0x7d5e81e2..."],
"# Mint a Moment onchain via In•Process\n\nThis proposal mints a new moment on the In•Process protocol as a Nouns community action."
]ETH value to send with the governor transaction (always "0").
"0"