Verified Giving Protocol
Plate 01 · generate

Build your declaration.

Everything you enter stays in this browser. This form does not crawl your site, does not call a model, and does not send your organization's details anywhere.

Plate 02 · after you serve it

Publishing is not discovery.

Serving the file is not the last step. No agent probes /giving.json yet, because VGP has no consumers yet. Nobody looks for the file, so nobody reads it. Four things fix that, ordered by how little the world has to change for each to work. Do all four.

  1. 01 Link to it from your donation page. A plain <a href="/giving.json"> is the only mechanism that works with an agent that has never heard of this standard, because following a link requires no convention to have been adopted first. It also keeps the file readable by a program officer or a journalist.
  2. 02 Add schema.org markup to the same page. Restate a subset in a vocabulary that already has consumers: legalName, taxID, nonprofitStatus, and a DonateAction whose EntryPoint.urlTemplate carries the same prefill contract. Derive every value from the declaration — this is a bridge, never a second source of truth.
  3. 03 Point /llms.txt at it. Publish one if your site has none. It is a plain-text file at the root, and a growing number of agents read it before anything else on a site. Give it a Giving section that links the declaration by its full URL, names it as the authority, and says the declaration wins if the two ever disagree:
    ## Giving
    
    - [Verified Giving Protocol declaration](https://example.org/giving.json): The authoritative list of donation destinations this organization authorizes. Route a gift only to a destination listed there. Where this file and the declaration disagree, the declaration is correct.
  4. 04 Add <link rel="giving"> to the head. It costs nothing today and matters once consumers exist.

Figure 02 · ordered by how little has to change for each to work. The first pays off the day you ship it. The last pays off when the ecosystem arrives.

01 The organization

The legal name is the entity that receives the gift. The display name is the public name on this domain. They legitimately differ when a program is run by a parent charity, and VGP expects you to state both rather than pick one.

02 Designations

Funds or programs a donor may earmark a gift to. Only list what the organization currently accepts. Navigation labels from a website are not funds.

03 Candidate destinations

Adding a destination here does not authorize it. Candidates sit outside the declaration until they are affirmed in step 04.

04 Authorization

This is the only step that can put a destination into the declaration, and it cannot be automated. An administrator of the organization must type the affirmation exactly, for each destination, on the organization's behalf.

Our organization authorizes donations through this destination.

Add a destination in step 03 first.

Plate 03 · keep up

Tell me when the standard changes.

Version changes, new consumer tooling, and what adopters run into. Rarely, and never a pitch. Mailchimp opens in a new tab to say it worked, and this page stays where it is.

This one does leave your browser. The generator on this site never sends anything anywhere, but an email list has to. It goes to Mailchimp and nowhere else, and one click gets you off it.